Nothing Special   »   [go: up one dir, main page]

skip to main content
research-article

Empirical Studies of a Safe Regression Test Selection Technique

Published: 01 June 1998 Publication History

Abstract

Regression testing is an expensive testing procedure utilized to validate modified software. Regression test selection techniques attempt to reduce the cost of regression testing by selecting a subset of a program's existing test suite. Safe regression test selection techniques select subsets that, under certain well-defined conditions, exclude no tests (from the original test suite) that if executed would reveal faults in the modified software. Many regression test selection techniques, including several safe techniques, have been proposed, but few have been subjected to empirical validation. This paper reports empirical studies on a particular safe regression test selection technique, in which the technique is compared to the alternative regression testing strategy of running all tests. The results indicate that safe regression test selection can be cost-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 test suites that are not coverage-based.

References

[1]
H. Agrawal J. Horgan E. Krauser and S. London, "Incremental Regression Testing," Proc. Conf. Software Maintenance, pp. 348-357, Sept. 1993.
[2]
M. Balcer W. Hasling and T. Ostrand, "Automatic Generation of Test Scripts from Formal Test Specifications," Proc. Third Symp. Software Testing, Analysis, and Verification, pp. 210-218, Dec. 1989.
[3]
T. Ball, "On the Limit of Control Flow Analysis for Regression Test Selection," Proc. Int'l Symp. Software Testing and Analysis, ISSTA, Mar. 1998.
[4]
S. Bates and S. Horwitz, "Incremental Program Testing Using Program Dependence Graphs," Proc. 20th ACM Symp. Principles of Programming Languages, Jan. 1993.
[5]
P. Benedusi A. Cimitile and U. De Carlini, "Post-Maintenance Testing Based on Path Change Analysis," Proc. Conf. Software Maintenance, pp. 352-361, Oct. 1988.
[6]
D. Binkely, "Semantics Guided Regression Test Cost Reduction," IEEE Trans. Software Eng., vol. 23, no. 8, Aug. 1997.
[7]
D. Binkley, "Reducing the Cost of Regression Testing by Semantics Guided Test Case Selection," Proc. Conf. Software Maintenance, Oct. 1995.
[8]
Y.F. Chen D.S. Rosenblum and K.P. Vo, "TestTube: A System for Selective Regression Testing," Proc. 16th Int'l Conf. Software Eng., pp. 211-222, May 1994.
[9]
K.F. Fischer, "A Test Case Selection Method for the Validation of Software Maintenance Modification," Proc. COMPSAC'77, pp. 421-426, Nov. 1977.
[10]
K.F. Fischer F. Raji and A. Chruscicki, "A Methodology for Retesting Modified Software," Proc. Nat'l Telecommunications Conf. B-6-3, pp. 1-6, Nov. 1981.
[11]
T.L. Graves M.J. Harrold J-M. Kim A. Porter and G. Rothermel, "An Empirical Study of Regression Test Selection Techniques," Proc. 20th Int'l Conf. Software Eng., Apr. 1998.
[12]
R. Gupta M.J. Harrold and M.L. Soffa, "An Approach to Regression Testing Using Slicing," Proc. Conf. Software Maintenance, pp. 299-308, Nov. 1992.
[13]
M.J. Harrold D.S. Rosenblum G. Rothermel and E.J. Weyuker, "Empirical Studies of a Prediction Model for Regression Test Selection," Technical Report OSU-CISRC-2/98-TR55, Ohio State Univ., Feb. 1998.
[14]
M.J. Harrold and G. Rothermel, "Aristotle: A System for Research on and Development of Program-Analysis-Based Tools," Technical Report OSU-CISRC-3/97-TR17, Ohio State Univ., Mar. 1997.
[15]
M.J. Harrold and M.L. Soffa, "An Incremental Approach to Unit Testing During Maintenance," Proc. Conf. Software Maintenance, pp. 362-367, Oct. 1988.
[16]
M.J. Harrold and M.L. Soffa, "An Incremental Data Flow Testing Tool," Proc. Sixth Int'l Conf. Testing Computer Software, May 1989.
[17]
J. Hartmann and D.J. Robson, "RETEXT—Development of a Selective Revalidation Prototype Environment for Use in Software Maintenance," Proc. 23rd Hawaii Int'l Conf. System Sciences, pp. 92-101, Jan. 1990.
[18]
J. Hartmann and D.J. Robson, Techniques for Selective Revalidationk" IEEE Software, vol. 16, no. 1, pp. 31-38, Jan. 1990.
[19]
M. Hutchins H. Foster T. Goradia and T. Ostrand, "Experiments on the Effectiveness of Dataflow and Controlflow-based Test Adequacy Criteria," Proc. 16th Int'l Conf. Software Eng., pp. 191-200, May 1994.
[20]
R. Johnson, Elementary Statistics, sixth edition. Belmont, Calif.: Duxbury Press, 1992.
[21]
J. Laski and W. Szermer, "Identification of Program Modifications and Its Applications in Software Maintenance," Proc. Conf. Software Maintenance, pp. 282-290, Nov. 1992.
[22]
J.A.N. Lee and X. He, "A Methodology for Test Selection," J. Systems and Software, vol. 13, no. 1, pp. 177-185, Sept. 1990.
[23]
H.K.N. Leung and L. White, "Insights into Regression Testing," Proc. Conf. Software Maintenance, pp. 60-69, Oct. 1989.
[24]
H.K.N. Leung and L. White, "Insights into Testing and Regression Testing Global Variables," J. Software Maintenance, vol. 2, pp. 209-222, Dec. 1990.
[25]
H.K.N. Leung and L.J. White, "A Study of Integration Testing and Software Regression at the Integration Level," Proc. Conf. Software Maintenance, pp. 290-300, Nov. 1990.
[26]
H.K.N. Leung and L.J. White, "A Cost Model to Compare Regression Test Strategies," Proc. Conf. Software Maintenance, pp. 201-208, Oct. 1991.
[27]
T.J. Ostrand and M.J. Balcer, "The Category-Partition Method for Specifying and Generating Functional Tests," Comm. ACM, vol. 31, no. 6, June 1988.
[28]
T.J. Ostrand and E.J. Weyuker, "Using Dataflow Analysis for Regression Testing," Proc. Sixth Ann. Pacific Northwest Software Quality Conf., pp. 233-247, Sept. 1988.
[29]
D.S. Rosenblum and G. Rothermel, "An Empirical Comparison of Regression Test Selection Techniques," Proc. Int'l Workshop for Empirical Studies of Software Maintenance, pp. 89-94, Oct. 1997.
[30]
D.S. Rosenblum and E.J. Weyuker, "Using Coverage Information to Predict the Cost-Effectiveness of Regression Testing Strategies," IEEE Trans. Software Eng., vol. 23, no. 3, pp. 146-156, Mar. 1997.
[31]
G. Rothermal, "Efficient, Effective Reqression Testing Using Safe Test Selection Techniques," Technical Report 96-101, Clemson Univ., Jan. 1996.
[32]
G. Rothermel and M.J. Harrold, "A Safe, Efficient Algorithm for Requression Test Selection," Proc. Conf. Software Maintenance, pp. 358-367, Sept. 1994.
[33]
G. Rothermel and M.J. Harrold, "Analyzing Reqression Test Selection Techniques," IEEE Trans. Software Eng., vol. 22, no. 8, pp. 529-551, Aug. 1996.
[34]
GT. Rothermel and M.J. Harrold, "A Safe, Efficient Regression Test Selection Technique," ACM Trans. Software Eng. and Methdology, vol. 6, no. 2, pp. 173-210, Apr. 1997.
[35]
B. Eherlund and B. Korel, "Modification Oriented Software Testing," Conf. Proc.: Quality Week, pp. 1-17, 1991.
[36]
B. Sherlund and B. Korel, "Logical Modification Oriented Software Testing," Proc. 12th Int'l Conf. Testing Computer Software, June 1995.
[37]
A.B. Taha S.M. Thebaut and S.S. Liu, An Approach to Software Fault Localization and Revalidation Based on Incremental Data Flow Analysis," Proc. 13th Ann. Int'l Computer Software and Applications Conf., pp. 527-534, Sept. 1989.
[38]
F. Vokolos and P. Frankl, "Pythia: A Regression Test Selection Tool Based on Textual Differencing," Proc. Third Int'l Conf Reliability, Quality, and Safety of Software Intensive Systems, ENCRESS'97, May 1997.
[39]
L.J. Wshite and H.K.N. Leung, "A Firewall Concept for Both Control-Flow and Data-Flow in Regression Integration Testing," Proc. Conf. Software Maintenance, pp. 262-270, Nov. 1992.
[40]
L.J. White V. Narayanswamy T. Friedman M. Kirschenbaum P. Piwowarski and M. Oha, "Test Manager, A Regression Testing Tool," Proc. Conf. Software Maintenance, pp. 338-347, Sept. 1993.
[41]
S.S. Yau and Z. Kishimoto, "A Method for Revalidating Modified Programs in the Maintenance Phase," COMPSAC'87: Proc. 11th Ann. Int'l Computer Software and Applications Conf., pp. 272-277, Oct. 1987.

Cited By

View all
  • (2024)Method-Level Test-to-Code Traceability Link Construction by Semantic Correlation LearningIEEE Transactions on Software Engineering10.1109/TSE.2024.344991750:10(2656-2676)Online publication date: 1-Oct-2024
  • (2024)Evaluating Search-Based Software Microbenchmark PrioritizationIEEE Transactions on Software Engineering10.1109/TSE.2024.338083650:7(1687-1703)Online publication date: 1-Jul-2024
  • (2023)More Precise Regression Test Selection via Reasoning about Semantics-Modifying ChangesProceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3597926.3598086(664-676)Online publication date: 12-Jul-2023
  • Show More Cited By

Recommendations

Reviews

Charles Alan Wolfe

Beginning with a review of previous analytic results by the authors and others, with respect to (safe) test selection procedures and criteria for judging such procedures on several scales, this paper proves that one can select from among all available tests a safe subset that may also be cost effective. “Safe” means that no required test is omitted from the test set. The authors spend the bulk of the paper covering five empirical studies of test suite selection using their methodology. The studies begin with the “trivial” case of a short program that is easily modified and tested and concludes (in study 5) with a set of sequential versions of a commercial Microsoft Windows NT product. The model includes cost-effectiveness statistics that allow comparison of different test sets. While more research needs to be done, the authors have proven their thesis. Furthermore, they show that these procedures can have real-world applicability. This paper will interest software developers and managers. Quality assurance (QA) and testing practitioners will find ammunition here when arguing for better tools and for more funds. Managers who are willing to work through the more technical or academic portions will find an excellent review of the problems QA people face in properly testing new versions of software. They will also find that scientifically verified procedures—and tools that implement those procedures—can help improve the regression testing process and make it more cost-effective. The paper is fairly well written and, while it provides adequate treatment of the subject matter, it does not require that readers be highly versed in the subject. Its high dependence on two software products (Aristotle and de je vue) is the paper's only weakness.

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image IEEE Transactions on Software Engineering
IEEE Transactions on Software Engineering  Volume 24, Issue 6
June 1998
96 pages
ISSN:0098-5589
Issue’s Table of Contents

Publisher

IEEE Press

Publication History

Published: 01 June 1998

Author Tags

  1. Software maintenance
  2. empirical studies.
  3. regression test selection
  4. regression testing
  5. selective retest

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 23 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Method-Level Test-to-Code Traceability Link Construction by Semantic Correlation LearningIEEE Transactions on Software Engineering10.1109/TSE.2024.344991750:10(2656-2676)Online publication date: 1-Oct-2024
  • (2024)Evaluating Search-Based Software Microbenchmark PrioritizationIEEE Transactions on Software Engineering10.1109/TSE.2024.338083650:7(1687-1703)Online publication date: 1-Jul-2024
  • (2023)More Precise Regression Test Selection via Reasoning about Semantics-Modifying ChangesProceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3597926.3598086(664-676)Online publication date: 12-Jul-2023
  • (2023)Regression test selection in test-driven developmentAutomated Software Engineering10.1007/s10515-023-00405-w31:1Online publication date: 27-Dec-2023
  • (2022)Comparing and combining analysis-based and learning-based regression test selectionProceedings of the 3rd ACM/IEEE International Conference on Automation of Software Test10.1145/3524481.3527230(17-28)Online publication date: 17-May-2022
  • (2021)AutoCCAGProceedings of the 43rd International Conference on Software Engineering10.1109/ICSE43902.2021.00030(201-212)Online publication date: 22-May-2021
  • (2019)Continuous software performance assessment: detecting performance problems of software libraries on every buildProceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3293882.3338982(410-414)Online publication date: 10-Jul-2019
  • (2017)A systematic review on search based mutation testingInformation and Software Technology10.1016/j.infsof.2016.01.01781:C(19-35)Online publication date: 1-Jan-2017
  • (2016)Multi-objective optimisation for regression testingInformation Sciences: an International Journal10.1016/j.ins.2015.11.027334:C(1-16)Online publication date: 20-Mar-2016
  • (2015)Automated decomposition of build targetsProceedings of the 37th International Conference on Software Engineering - Volume 110.5555/2818754.2818772(123-133)Online publication date: 16-May-2015
  • Show More Cited By

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media