On test suite composition and cost-effective regression testing

  • Authors:
  • Gregg Rothermel;Sebastian Elbaum;Alexey G. Malishevsky;Praveen Kallakuri;Xuemei Qiu

  • Affiliations:
  • University of Nebraska---Lincoln, Lincoln, NE;University of Nebraska---Lincoln, Lincoln, NE;Oregon State University, Corvallis, OR;University of Nebraska---Lincoln, Lincoln, NE;Oregon State University, Corvallis, OR

  • Venue:
  • ACM Transactions on Software Engineering and Methodology (TOSEM)
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

Regression testing is an expensive testing process used to revalidate software as it evolves. Various methodologies for improving regression testing processes have been explored, but the cost-effectiveness of these methodologies has been shown to vary with characteristics of regression test suites. One such characteristic involves the way in which test inputs are composed into test cases within a test suite. This article reports the results of controlled experiments examining the effects of two factors in test suite composition---test suite granularity and test input grouping---on the costs and benefits of several regression-testing-related methodologies: retest-all, regression test selection, test suite reduction, and test case prioritization. These experiments consider the application of several specific techniques, from each of these methodologies, across ten releases each of two substantial software systems, using seven levels of test suite granularity and two types of test input grouping. The effects of granularity, technique, and grouping on the cost and fault-detection effectiveness of regression testing under the given methodologies are analyzed. This analysis shows that test suite granularity significantly affects several cost-benefit factors for the methodologies considered, while test input grouping has limited effects. Further, the results expose essential tradeoffs affecting the relationship between test suite design and regression testing cost-effectiveness, with several implications for practice.