Comparing the effectiveness of testing methods in improving programs: the effect of variations in program quality
- 27 November 2002
- proceedings article
- Published by Institute of Electrical and Electronics Engineers (IEEE)
Abstract
We compare the efficacy of different testing methods for improving the reliability of software. Specifically, we use modelling to compare "operational" testing, in which test cases are chosen according to their probability of occurring in actual use of the software, against "debug" testing methods, in which the testers look for test cases which they consider likely to cause failure, or that satisfy some coverage criterion. We base our comparisons on the reliability reached by the program at the end of testing. Differently from previous studies, we consider the probability distribution of the achieved reliability, and thus the probability of satisfying specific requirements, rather than just the average reliability achieved. We take account of two sources of variation: the variation between the actual test histories that are possible for a given program and a given test method; and the fact that different programs start testing with different faults and initial reliability levels. By necessity, we use very simplified models of reality. Yet, we can show some interesting conclusions with important practical consequences. In general, there are stronger arguments in favor of operational testing than previous studies have shown.Keywords
This publication has 6 references indexed in Scilit:
- Partition testing does not inspire confidencePublished by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- Effect of test set size and block coverage on the fault detection effectivenessPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Evaluating testing methods by delivered reliability [software]IEEE Transactions on Software Engineering, 1998
- An experimental comparison of the effectiveness of branch testing and data flow testingIEEE Transactions on Software Engineering, 1993
- A formal analysis of the fault-detecting ability of testing methodsIEEE Transactions on Software Engineering, 1993
- An Evaluation of Random TestingIEEE Transactions on Software Engineering, 1984