A Course in Black Box Software Testing

Examples of (In)Complete Testing

See lecture notes on the impossibility of complete testing.

Copyright (c) Cem Kaner, 2004

Complete testing must mean that, at the end of testing, you know there are no remaining unknown bugs. After all, if there are more bugs, you can find them if you do more testing. So testing couldn't yet be "complete."

Complete testing is impossible, but people try to measure the completeness of their testing in several ways, such as:

Here are examples that illustrate the difficulty of complete testing or ways to compute some aspect of the extent of testing of the program:


Copyright (c) Cem Kaner 2004

This work is licensed under the Creative Commons Attribution-ShareAlike License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/2.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

These notes are partially based on research that was supported by NSF Grant EIA-0113539 ITR/SY+PE: "Improving the Education of Software Testers." Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.