Provable Improvements on Branch Testing

Phyllis G. Frankl, J. Weyuker

    Research output: Contribution to journalArticle

    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 languageEnglish (US)
    Pages (from-to)962-975
    Number of pages14
    JournalIEEE Transactions on Software Engineering
    Volume19
    Issue number10
    DOIs
    StatePublished - Oct 1993

    Keywords

    • Condition-coverage testing
    • data flow testing
    • fault detection
    • mutation testing
    • program testing
    • software testing

    ASJC Scopus subject areas

    • Software

    Fingerprint Dive into the research topics of 'Provable Improvements on Branch Testing'. Together they form a unique fingerprint.

  • Cite this