Thursday, September 26, 2019

Use Effective Test Completion Measures

Graph showing the progress from an imperfect product to a perfect product according to the level of effort.

Many projects proclaim the end of testing when they run out of time. This may make political sense, but it is irresponsible. During test planning, define a measure that can be used to determine when testing should be completed. If you have not met your goal when time runs out, you can still make the choice of whether to ship the product or slip the milestone, but at least you know whether you are shipping a quality product.

Two ideas for this effective measurement of test progress are:

  1. Rate of new error detections per week.
  2. After covertly seeding the software with known bugs (called bebugging), the percentage of these seeded bugs thus far found.
An ineffective measure of test progress is the percentage of test cases correctly passed (unless, of course, you know that the test cases superbly cover the requirements).


Reference:
Dunn, R., Software Defect Removal, New York: McGraw-Hill, 1984.