Prioritizing Regression Test Suites for Time-Constrained Execution Using a Genetic Algorithm
Kristen Walcott. Prioritizing Regression
Test Suites for Time-Constrained Execution Using a Genetic Algorithm.
CS05-11. Department of Computer Science,
Abstract
Test case prioritization techniques organize
the test cases in a test suite, allowing for an increase in the effectiveness of
testing. One performance goal, the fault-detection rate, is a measure of how
quickly faults are detected during the testing process. An improved rate of
fault detection can provide faster feedback regarding the quality of the system
under test, but frequently, complete testing is too expensive. This is often the
case with regression testing, the process of validating modified software to
detect whether new errors have been introduced into previously tested code and
to provide confidence that modifications are correct. By increasing the overall
rate of fault detection, a greater number of errors can be found more rapidly in
the code.
This research proposes a new test case prioritization technique using a genetic
algorithm (GA). The GA prioritizes subsequences of the original test suite so
that the new suite, which is run within a time-constrained execution
environment, will have a superior rate of fault detection when compared to rates
of naively prioritized test suites. This experiment analyzes the genetic
algorithm with regard to effectiveness and time/space overhead by utilizing
structurally-based criterion to prioritize test cases. An Average Percentage of
Faults Detected (APFD) metric was used determine the effectiveness of the new
test case orderings.
[PDF] [BibTeX Entry] [Copyright Notice]