Basis path testing

From HandWiki

In software engineering, basis path testing, or structured testing,[1] is a white box method for designing test cases. The method analyzes the control-flow graph of a program to find a set of linearly independent paths of execution. The method normally uses McCabe cyclomatic complexity to determine the number of linearly independent paths and then generates test cases for each path thus obtained.[2] Basis path testing guarantees complete branch coverage (all edges of the control-flow graph), but achieves that without covering all possible paths of the control-flow graph – the latter is usually too costly.[3] Basis path testing has been widely used and studied.[4]

See also


  1. Arthur H. Watson and Thomas J. McCabe (1996). "Structured Testing: A Testing Methodology Using the Cyclomatic Complexity Metric". NIST Special Publication 500-235. 
  2. Linda Westfall (2008). The Certified Software Quality Engineer Handbook. ASQ Quality Press. pp. 436-437. ISBN 978-0-87389-730-3. 
  3. Y.N. Srikant; Priti Shankar (2002). The Compiler Design Handbook: Optimizations and Machine Code Generation. CRC Press. p. 249. ISBN 978-1-4200-4057-9. 
  4. Robert V. Binder (2000). Testing Object-oriented Systems: Models, Patterns, and Tools. Addison-Wesley Professional. p. 378. ISBN 978-0-201-80938-1. 

Further reading

  • Paul C. Jorgensen (2002). Software Testing: A Craftsman's Approach, Second Edition. CRC Press. pp. 146-150. ISBN 978-0-8493-0809-3. 
  • Alan Page; Ken Johnston; Bj Rollison (2008). How We Test Software at Microsoft. Microsoft Press. chapter 6. ISBN 978-0-7356-3831-0.