DocumentCode
745775
Title
Comparing the Effectiveness of Software Testing Strategies
Author
Basili, Victor R. ; Selby, Richard W.
Author_Institution
Department of Computer Science, University of Maryland
Issue
12
fYear
1987
Firstpage
1278
Lastpage
1296
Abstract
This study applies an experimentation methodology to compare three state-of-the-practice software testing techniques: a) code reading by stepwise abstraction, b) functional testing using equivalence partitioning and boundary value analysis, and c) structural testing using 100 percent statement coverage criteria. The study compares the strategies in three aspects of software testing: fault detection effectiveness, fault detection cost, and classes of faults detected. Thirty-two professional programmers and 42 advanced students applied the three techniques to four unit-sized programs in a fractional factorial experimental design. The major results of this study are the following. 1) With the professional programmers, code reading detected more software faults and had a higher fault detection rate than did functional or structural testing, while functional testing detected more faults than did structural testing, but functional and structural testing were not different in fault detection rate. 2) In one advanced student subject group, code reading and functional testing were not different in faults found, but were both superior to structural testing, while in the other advanced student subject group there was no difference among the techniques. 3) With the advanced student subjects, the three techniques were not different in fault detection rate. 4) Number of faults observed, fault detection rate, and total effort in detection depended on the type of software tested. 5) Code reading detected more interface faults than did the other methods. 6) Functional testing detected more control faults than did the other methods.
Keywords
Code reading; empirical study; functional testing; methodology evaluation; off-line software review; software measurement; software testing; structural testing; Computer science; Costs; Design for experiments; Fault detection; Military computing; NASA; Programming profession; Software measurement; Software testing; Uncertainty; Code reading; empirical study; functional testing; methodology evaluation; off-line software review; software measurement; software testing; structural testing;
fLanguage
English
Journal_Title
Software Engineering, IEEE Transactions on
Publisher
ieee
ISSN
0098-5589
Type
jour
DOI
10.1109/TSE.1987.232881
Filename
1702179
Link To Document