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, Allegheny College. May 2005.

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]

Back