Open In App

Path Testing in Software Engineering

Last Updated : 30 Jan, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

Path Testing is a method that is used to design the test cases. In the path testing method, the control flow graph of a program is designed to find a set of linearly independent paths of execution. In this method, Cyclomatic Complexity is used to determine the number of linearly independent paths and then test cases are generated for each path. 

It gives complete branch coverage but achieves that without covering all possible paths of the control flow graph. McCabe’s Cyclomatic Complexity is used in path testing. It is a structural testing method that uses the source code of a program to find every possible executable path. 

Path Testing Process

path-testing-sw-testing

Path Testing

 

  • Control Flow Graph: 
    Draw the corresponding control flow graph of the program in which all the executable paths are to be discovered.
  • Cyclomatic Complexity: 
    After the generation of the control flow graph, calculate the cyclomatic complexity of the program using the following formula.
McCabe's Cyclomatic Complexity = E - N + 2P

Where, 
E = Number of edges in the control flow graph
N = Number of vertices in the control flow graph
P = Program factor 
  • Make Set: 
    Make a set of all the paths according to the control flow graph and calculate cyclomatic complexity. The cardinality of the set is equal to the calculated cyclomatic complexity.
  • Create Test Cases: 
    Create a test case for each path of the set obtained in the above step.

Path Testing Techniques

  • Control Flow Graph: 
    The program is converted into a control flow graph by representing the code into nodes and edges.
  • Decision to Decision path: 
    The control flow graph can be broken into various Decision to Decision paths and then collapsed into individual nodes.
  • Independent paths: 
    An Independent path is a path through a Decision to Decision path graph that cannot be reproduced from other paths by other methods.

Advantages of Path Testing

  1. The path testing method reduces the redundant tests.
  2. Path testing focuses on the logic of the programs.
  3. Path testing is used in test case design.

Disadvantages of Path Testing

  1. A tester needs to have a good understanding of programming knowledge or code knowledge to execute the tests.
  2. The test case increases when the code complexity is increased.
  3. It will be difficult to create a test path if the application has a high complexity of code.
  4. Some test paths may skip some of the conditions in the code. It may not cover some conditions or scenarios if there is an error in the specific paths.

Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads