Concepedia

Publication | Closed Access

Prioritizing test cases for regression testing

1.3K

Citations

34

References

2001

Year

TLDR

Test case prioritization schedules tests to improve fault detection speed, providing faster feedback and enabling earlier fault correction during regression testing. The study presents multiple techniques that use prior test execution data to order regression test cases. The techniques rank tests by total code coverage, by coverage of previously uncovered components, or by estimated fault‑revealing potential, and are evaluated on diverse test suites. Experiments show that these prioritized suites achieve higher fault detection rates than random ordering and approach optimal performance.

Abstract

Test case prioritization techniques schedule test cases for execution in an order that attempts to increase their effectiveness at meeting some performance goal. Various goals are possible; one involves rate of fault detection, a measure of how quickly faults are detected within the testing process. An improved rate of fault detection during testing can provide faster feedback on the system under test and let software engineers begin correcting faults earlier than might otherwise be possible. One application of prioritization techniques involves regression testing, the retesting of software following modifications; in this context, prioritization techniques can take advantage of information gathered about the previous execution of test cases to obtain test case orderings. We describe several techniques for using test execution information to prioritize test cases for regression testing, including: 1) techniques that order test cases based on their total coverage of code components; 2) techniques that order test cases based on their coverage of code components not previously covered; and 3) techniques that order test cases based on their estimated ability to reveal faults in the code components that they cover. We report the results of several experiments in which we applied these techniques to various test suites for various programs and measured the rates of fault detection achieved by the prioritized test suites, comparing those rates to the rates achieved by untreated, randomly ordered, and optimally ordered suites.

References

YearCitations

Page 1