SOFTWARE TESTING
Software testing is a process to test a software to make sure it is bug free and the software or application meets the user expectations.
MANUAL TESTING
Testing a software by humans by executing the test cases manually without using any automated tools.
TESTING TECHNIQUES
WHITE BOX TESTING
It focuses on internal working of the software, such as internal code, logic and design. Only those has the knowledge of the code can preform white box testing. It is done by developers.
GREY BOX TESTING
This testing is performed by the testers who has the partial knowledge on the coding of the application.
It is a hybrid approach.
BLACK BOX TESTING
It is a kind of testing where the testers has no knowledge on the internal structure, logic or the code of the software.
It relay on providing the input and checking on the output.
Black box testing is performed by testers, QA team or end users/clients.
EXAMPLE FOR WHITE BOX TESTING
a) UNIT TESTING :Unit testing focuses on the testing the smallest module of the software.
Small module such as function, class or method.
It test each and every statement in the code.
b)REGRESSION TESTING Is performed to validate that the new changes or fix doesn't have any impact on already existing functionalities.
C)PATH TESTING : It is a type of white box testing that test all the possible execution path in the program to ensure that each functions behave as expected.
d)SECURITY TESTING: Security testing focuses on finding any vulnerabilities in the software and testing for the security issues in the software.
e)LOOP TESTING : It checks for all the loops in the program that operate correctly and efficiently.
f) DATA FLOW TESTING : It checks for the flow of the variables across the program. That the variables are correctly declared, initialized and used in the right place.
g)STATEMENT COVERAGE: It focuses on testing all the statements in the program. Each line of the code is tested.
h) BRANCH COVERAGE :It aims in testing conditional branches in the program. Tests both possible outcomes true/false for each condition statement in the program.
i)CONDITION COVERAGRE :It aims in testing all the individual condition in the program.
j) MULTIPLE CONDITION COVERAGE : It focuses on testing all the possible combinations of all possible outcome of the condition.
EXAMPLE FOR BLACK BOX TESTING
a)FUNCTIONAL TESTING: This black box testing focuses on testing the functional requirement of the system. This is performed by testers.
b)NON FUNCTIONAL TESTING : This black box testing doesn't test any specific function of the system, instead it test the non-functional requirements of the software such as performance, scalability ,usability and compatibility.
c)REGRESSION TESTING: This testing validates that the new changes doesn't have any impact on already existing functionalities.
BLACK BOX TESTING TECHNIQUES
a)EQUIVALENCE PARTITIONS: Here the inputs will be divided into partitions. The test case is designed for each partitions and the results of the result of the test case is expected to be same for all the inputs in the partitions.
Here the number of test cases will be reduced ensuring the coverage of all possible inputs.
b)BOUNDARY VALUE ANALYSIS : This focuses on testing the input ranges at its boundaries or edges in equivalence partition.
it is also called s]edge testing.
It focuses on finding defect at the edges of the input ranges.
Example : If the system accepts the age range between 18 and 60, then boundary value analysis focuses on testing the below inputs.
Enter age 17 (Invalid) (Below minimum)
Enter age 20 (Valid) (Normal value)
Enter age 61 (Invalid) (Above MAX)
c)DECISION TABLE MAKING :Representing the complex business rules and logic in a table which includes combination of inputs and its expected outcome.
For each combination of inputs the table defines the expected outcome and the test case is written for each row.
Example: A login to the system should have correct username and password.
Username Password Login Result
Correct correct Success
Correct Incorrect Failure
Incorrect Correct Failure
Incorrect Incorrect Failure
d)STATE TRANSITION TESTING :Testing system behaviour as it moves from one state to another based on inputs.
Test case is designed based on the state changes.
e)USE CASE TESTING : Based on the use cases ,it tests the system based on user perspective, by covering user interactions and behaviour.
FUTURE OF MANUAL TESTING IN THE AGE OF AI
Manual tester will not be replaced by AI instead they will work collaboratively with AI which helps in delivering efficient and quality software.
AI will reduce the manual work freeing manual testers so that they can focus on more crucial issues where human work is required.
Software testing is evolving with AI.
AI powered tools will reduce the repetitive tasks for manual testers.
Manual testers will play a important role in exploratory testing ensuring in identifying the defect that AI might have missed.
Manual testers will be responsible for usability testing, to ensure that the software meets the user expectations focuses on user interactions and user experience that the AI powered tools may not be able to achieve.
AI ROLE IN SUPPORTING MANUAL TESTING
a)Automating repetitive tasks : AI can automate the test cases, test data generation and test scripts reducing testers effort and time.
b)Analysing test results : AI can quickly analyse the test results to identify the defects helping testers to prioritize and work on critical ones.
c)Predicting defects : By the historical data, AI can predict where the new errors or bug pops up helping out in effective testing.
d)Generating Automate scripts :From manual test case AI can generate automated test scripts reducing time in automation testing.
BENEFITS OF AI IN SOFTWARE TESTING:
a)Increased efficiency :AI along with manual testing leads to delivering increased efficient and productive software.
b)Improved accuracy :AI can identify the defects that the manual testers might have missed leading to deliver accurate product.
c)Better coverage : AI can generate number test cases resulting in effective testing and better coverage of the appliaction.
d)Faster time to the market : By automating the testing process, product can be delivered faster to the clients.
Top comments (0)