written 5.8 years ago by |
Path Testing:
Path testing is a structural testing method that involves using the source code of a program in order to find every possible executable path. It helps to determine all faults lying within a piece of code. This method is designed to execute all or selected path through a computer program.
Basis Path Testing:-
Basis path testing, a structured testing or white box testing technique used for designing test cases intended to examine all possible paths of execution at least once. Creating and executing tests for all possible paths results in 100% statement coverage and 100% branch coverage.
The basis path testing is same, but it is based on a White Box Testing method, that defines test cases based on the flows or logical path that can be taken through the program. Basis path testing involves execution of all possible blocks in a program and achieves maximum path coverage with least number of test cases. It is a hybrid of branch testing and path testing methods.
The objective behind basis path testing is that it defines the number of independent paths, thus the number of test cases needed can be defined explicitly (maximizes the coverage of each test case).
Here we will take a simple example, to get better idea what is basis path testing include.
In the above example, we can see there are few conditional statements that is executed depending on what condition it suffice.
Here there are 3 path or condition that need to be tested to get the output,
• Path 1: 1,2,3,5,6, 7
• Path 2: 1,2,4,5,6, 7
• Path 3: 1, 6, 7
Steps for Basis Path testing
The basic steps involved in basis path testing include
• Draw a control graph (to determine different program paths)
• Calculate Cyclomatic complexity (metrics to determine the number of independent paths)
• Find a basis set of paths
• Generate test cases to exercise each path
Benefits of basis path testing
• It helps to reduce the redundant tests
• It focuses attention on program logic
• It helps facilitates analytical versus arbitrary case design
• Test cases which exercise basis set will execute every statement in program at least once.