MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  A safe, efficient regression test selection technique (1997) [97 citations — 50 self]

Download:
pdf | ps
by Gregg Rothermel, Mary Jean Harrold
ACM Transactions on Software Engineering and Methodology
http://www.cis.ohio-state.edu/~harrold/research/./webpapers/tosem97-walk.ps
Add To MetaCart

Abstract:

Regression testing is an expensive but necessary maintenance activity performed on modified software to provide confidence that changes are correct and do not adversely affect other portions of the software. A regression test selection technique chooses, from an existing test set, tests that are deemed necessary to validate modified software. We present a new technique for regression test selection. Our algorithms construct control flow graphs for a procedure or program and its modified version, and use these graphs to select tests that execute changed code from the original test suite. We prove that under certain conditions, the set of tests our technique selects includes every test from the original test suite that can expose faults in the modified procedure or program. Under these conditions our algorithms are safe. Moreover, although our algorithms may select some tests that cannot expose faults, they are at least as precise as other safe regression test selection algorithms. Unlike many other regression test selection algorithms, our algorithms handle all language constructs and all types of program modifications. We have implemented our algorithms; initial empirical studies indicate that our technique can significantly reduce the cost of regression testing modified software.

Citations

797 Software Engineering. A Practitioners Approach – Pressman - 1997
223 Software engineering – Boehm - 1976
186 The category-partition method for specifying and generating functional tests – Ostrand, Balcer - 1988
120 Experiments on the effectiveness of dataflow- and control-flow-based test adequacy criteria – Hutchins, Foster, et al. - 1994
117 Software Testing Techniques. Van Nostrand Reinhold,New – Beizer - 1990
104 Analyzing Regression Test Selection Techniques – Rothermel, Harrold - 1996
95 TestTube: A System for Selective Regression Testing – Chen, Rosenblum, et al. - 1994
85 So a. A methodology for controlling the size of a test suite – Harrold, Gupta, et al. - 1993
81 Incremental program testing using program dependency graphs – Bates, Horiwitz - 1993
70 An Approach to Regression Testing using Slicing – Gupta, Harrold, et al. - 1992
62 Incremental regression testing – Agrawal, Horgan, et al. - 1993
61 Automatic generation of test scripts from formal test speci cations – Balcer, Hasling, et al. - 1989
56 Effect of test set minimization on fault detection e ectiveness – Wong, Horgan, et al. - 1998
52 Insights into regression testing – Leung, White - 1989
52 Characteristics of application software maintenance – Lientz, Swanson, et al. - 1978
46 A study of integration testing and software regression at the integration level – Leung, White - 1990
43 An incremental approach to unit testing during maintenance – Harrold, Soffa - 1988
42 Using dataflow analysis for regression testing – Ostrand, Weyuker - 1988
41 Software Maintenance Management: A Study of the Maintenance – Lientz, Swanson - 1980
38 Using semantic differencing to reduce the cost of regression testing – Binkley - 1992
38 A cost model to compare regression test strategies – Leung, White - 1991
37 Interprocedural Data Flow Testing – Harrold, Sofia - 1989
34 A methodology for retesting modified software – Fischer, Raji, et al. - 1981
34 Techniques for Selective Revalidation – Hartmann, Robson - 1990
31 Efficient Algorithm for Regression Test Selection – Rothermel, Harrold, et al. - 1993
31 Selecting tests and identifying test coverage requirements for modi ed software – Rothermel, Harrold - 1994
30 Software Maintenance Management – Changes in the last Decade – Nosek, P - 1990
28 An approach to software fault localization and revalidation based on incremental data flow analysis – Taha, Thebaut, et al. - 1989
24 A firewall concept for both control-flow and data-flow in regression integration testing – White, Leung - 1992
23 Identification of program modifications and its applications in software maintenance – Laski, Szermer - 1992
21 Post-maintenance Testing Based on Path Change Analysis – Benedusi, Cimitile, et al. - 1988
19 Selecting Regression Tests for ObjectOriented Software – Rothermel, Harrold - 1994
17 Efficient, Effective Regression Testing Using Safe Test Selection Techniques – Rothermel - 1996
14 Test Manager: A Regression Testing Tool – White, Narayanswamy - 1993
13 Module test case generation – Hoffman, Brealey - 1989
12 Aristotle: a system for the development of program-analysis-based tools – Harrold, Larsen, et al. - 1995
12 Logical modification oriented software testing – Sherlund, Korel - 1995
12 A method for revalidating modified programs in the maintenance phase – Yau, Kishimoto - 1987
11 Reducing the cost of regression testing by semantics guided test case selection – Binkley - 1995
11 A methodology for test selection – Lee, He - 1990
9 A CASE study in module testing – Hoffman - 1989
8 An incremental data flow testing tool – Harrold, Soffa - 1989
8 Domain Based Regression Testing – Mayrhauser, Mraz, et al. - 1994
7 Revalidation during the software maintenance phase – Hartmann, Robson - 1989
6 A test case selection method for the validation of software maintenance modifications – Fischer - 1977
6 Insights into testing and regression testing global variables – Leung, White - 1990
6 Predicting the cost-effectiveness of regression testing strategies – Rosenblum, Weyuker - 1996
5 RETEST - development of a selective revalidation prototype environment for use in software maintenance – Hartmann, Robson - 1990
5 Assay - a tool to support regression testing – Lewis, Beck, et al. - 1989
5 Software Engineering. Aksen Associates – Schach - 1992