Abstract
This paper compares the fault-detecting ability of several software test data adequacy criteria. It has previously been shown that if C1 properly covers C2, then C1 is guaranteed to be better at detecting faults than C2, in the following sense: a test suite selected by independent random selection of one test case from each subdomain induced by C1 is at least as likely to detect a fault as a test suite similarly selected using C2. In contrast, if C1 subsumes but does not properly cover C2, this is not necessarily the case. These results are used to compare a number of criteria, including several that have been proposed as stronger alternatives to branch testing. We compare the relative fault-detecting ability of data flow testing, mutation testing, and the condition-coverage techniques, to branch testing, showing that most of the criteria examined are guaranteed to be better than branch testing according to two probabilistic measures. We also show that there are criteria that can sometimes be poorer at detecting faults than substantially less expensive criteria.
Original language | English (US) |
---|---|
Pages (from-to) | 962-975 |
Number of pages | 14 |
Journal | IEEE Transactions on Software Engineering |
Volume | 19 |
Issue number | 10 |
DOIs | |
State | Published - Oct 1993 |
Keywords
- Condition-coverage testing
- data flow testing
- fault detection
- mutation testing
- program testing
- software testing
ASJC Scopus subject areas
- Software