Generating Effective Test Suites by Combining Coverage Criteria
نویسنده
چکیده
A number of criteria have been proposed to judge test suite adequacy. While search-based test generation has improved greatly at criteria coverage, the produced suites are still often ineffective at detecting faults. Efficacy may be limited by the single-minded application of one criterion at a time when generating suites—a sharp contrast to human testers, who simultaneously explore multiple testing strategies. We hypothesize that automated generation can be improved by selecting and simultaneously exploring multiple criteria. To address this hypothesis, we have generated multi-criteria test suites, measuring efficacy against the Defects4J fault database. We have found that multi-criteria suites can be up to 31.15% more effective at detecting complex, real-world faults than suites generated to satisfy a single criterion and 70.17% more effective than the default combination of all eight criteria. Given a fixed search budget, we recommend pairing a criterion focused on structural exploration—such as Branch Coverage—with targeted supplemental strategies aimed at the type of faults expected from the system under test. Our findings offer lessons to consider when selecting such combinations.
منابع مشابه
Combining Multiple Coverage Criteria in Search-Based Unit Test Generation
Automated test generation techniques typically aim at maximising coverage of well-established structural criteria such as statement or branch coverage. In practice, generating tests only for one specific criterion may not be sufficient when testing object oriented classes, as standard structural coverage criteria do not fully capture the properties developers may desire of their unit test suite...
متن کاملA Guidelines for Coverage-Based Comparisons of Non-Adequate Test Suites
A fundamental question in software testing research is how to compare test suites, often as a means for comparing test-generation techniques that produce those test suites. Researchers frequently compare test suites by measuring their coverage. A coverage criterion C provides a set of test requirements and measures how many requirements a given suite satisfies. A suite that satisfies 100% of th...
متن کاملGuidelines for Coverage - Based
A fundamental question in software testing research is how to compare test suites, often as a means for comparing test-generation techniques that produce those test suites. Researchers frequently compare test suites by measuring their coverage. A coverage criterion C provides a set of test requirements and measures how many requirements a given suite satisfies. A suite that satisfies 100% of th...
متن کاملCondition based coverage criteria : To use or not to use , that is the question ?
When using tools to automatically generate test-suites from a specification, the selection of coverage criterion that guides the generation process is of imperative importance. In a previous study, we observed that, although a coverage criterion may seem reasonable for measuring the adequacy of a test suite, it may be unsuitable for guiding the generation of test suites; the generated test-suit...
متن کاملOptimising Test Execution Times in Test Suite Generation
In the last decade, enormous progress has been made in generating test cases for coverage criteria automatically via model checking. However, many approaches suffer from generating large test suites with long test execution times. In recent work, we developed a method to generate test suites from state-based design models with the shortest test execution time satisfying a given set of coverage ...
متن کامل