Empirical Studies of a Safe Regression Test Selection Technique
G. Rothermel and M. J. Harrold
IEEE Transactions on Software Engineering
V. 24, no. 6, June, 1998, pp. 401-419.


Regression testing is an expensive maintenance process directed at validating modified software. Regression test selection techniques attempt to reduce the cost of regression testing, by selecting, from the test suite for a program, a subset of the tests in the suite. Safe test selection techniques select subsets that, under certain well-defined conditions, exclude no tests (from the original test suite) that if executed could expose faults in the modified software. Many test selection techniques, and several safe techniques, have been proposed, but few have been subjected to empirical validation. This paper reports empirical studies on a specific safe regression test selection technique, in which the technique is compared to the alternative testing strategy of running all tests. The results indicate that safe test selection can be effective, but that its costs and benefits vary widely based on a number of factors. In particular, test suite design can significantly affect the effectiveness of test selection, and coverage-based test suites may provide test selection results superior to those provided by non-coverage-based suites.