Any software program includes, multiple entry and exit points. Testing each of these points is a challenging as well as time-consuming. In order to reduce the redundant tests and to achieve maximum test coverage, basis path testing is used. In software engineering, Basis path testing involves execution of all possible blocks in a program and achieves maximum path coverage with the least number of test cases. It is a hybrid method of branch testing and path testing methods. Here we will take a simple example, to get a 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 paths 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
Advantages of Basic 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 a program at least once
Conclusion: Basis path testing helps to determine all faults lying within a piece of code.