What is Structural Testing and Path Testing

Structural testing, also known as glass box testing or white box testing is an approach where the tests are derived from the knowledge of the software's structure or internal implementation. The other names of structural testing includes clear box testing, open box testing, logic driven testing or path driven testing. Structural Testing includes following techniques:
  • Statement Coverage - This technique is aimed at exercising all programming statements with minimal tests.
  • Branch Coverage - This technique is running a series of tests to ensure that all branches are tested at least once.
  • Path Coverage - This technique corresponds to testing all possible paths which means that each statement and branch are covered.
Advantages of Structural Testing:
  • Forces test developer to reason carefully about implementation
  • Reveals errors in "hidden" code
  • Spots the Dead Code or other issues with respect to best programming practices.
Disadvantages of Structural Box Testing:
  • Expensive as one has to spend both time and money to perform white box testing.
  • Every possibility that few lines of code is missed accidentally.
  • Indepth knowledge about the programming language is necessary to perform white box testing.
Path Testing is a structural testing method based on the source code or algorithm and NOT based on the specifications. It can be applied at different levels of granularity.
  • Control Flow Graph (CFG) - The Program is converted into Flow graphs by representing the code into nodes, regions and edges.
  • Decision to Decision path (D-D) - The CFG can be broken into various Decision to Decision paths and then collapsed into individual nodes.
  • Independent (basis) paths - Independent path is a path through a DD-path graph which cannot be reproduced from other paths by other methods.




No comments:

Post a Comment