ABSTRACT
Regression testing, which is performed after changes are made to a software system, can be used before release of new versions of the system. However, practitioners often have little time to perform this regression testing because of the quick-release cycles of such modified systems. Thus, they may use a random-testing approach or perform little regression testing. This lack of adequate regression testing can cause bugs in untested parts of the program to be exposed only during production or field usage. To improve the efficiency of the regression testing, and thus enable its use before release, techniques that select and run only those test cases that are related to the changes or prioritize the test cases based on criticality or perceived effectiveness have been presented. These technique typically use some representation of the software such as a system model or the source code to perform the test selection and prioritization. However, in practice, access to a system modelor the source code may not be possible. To provide regression test selection in practice, we have developed, and present in this paper, a novel approach to regression test selection that, instead of using a system model or the source code, uses the system requirements and their associated test cases, which are typically available to developers/testers. The approach uses the set of system requirements, usually in natural language or some informal notation, that represent what is to be tested about the system. The technique uses these requirements, along with the set of test cases and their criticality that are associated with the requirements, to select test cases for use in regression testing. In this paper, we also present a case study that shows the potential effectiveness of our technique
- Tata Consultancy Services Limited. http://www.tcs.com/AboutUs/AboutUs.html.Google Scholar
- T. Ball. On the limit of control flow analysis for regression test selection. In In ACM Int'l Symp. on Software Testing and Analysis, pages 134--142, March 1998. Google ScholarDigital Library
- B. Beizer. Software Testing Techniques. Van Nostrand Reinhold, 1990. Google ScholarDigital Library
- Y. F. Chen, D. S. Rosenblum, and K. P. Vo. Testtube: A system for selective regression testing. In Proceedings of the 16th International Conference on Software Engineering, pages 211--222, May 1994. Google ScholarDigital Library
- P. K. Chittimalli, M. Bapat, and R. D. Naik. ProAX: A program analysis and transformation framework. In TCS Technical Architect's Conference (TACTiCS 2004), Hyderabad, December 2004.Google Scholar
- P. K. Chittimalli and M. J. Harrold. Re-computing coverage information to assist regression testing. In International Conference on Software Maintenance (ICSM 2007), pages 164--173, October 2007.Google ScholarCross Ref
- D. Kung, J. Gao, P. Hsia, Y. Toyashima, and C. Chen. Firewall regression testing and software maintenance of object-oriented systems. 1994.Google Scholar
- H. K. N. Leung and L. J. White. Insights into regression testing. In Proceedings of the Conference on Software Maintenance -- 1989, pages 60--69, 1989.Google ScholarCross Ref
- A. Orso, N. Shi, and M. J. Harrold. Scaling regression testing to large software systems. In Proceedings of the 12th ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE 2004), pages 241--252, November 2004. Google ScholarDigital Library
- G. Rothermel and M. J. Harrold. A safe, efficient regression test selection technique. In ACM Transactions on Software Engineering and Methodology, pages 6(2):173--210, April 1997. Google ScholarDigital Library
- G. Rothermel, M. J. Harrold, and J. Dedhia. Analyzing regression test selection techniques. In IEEE Transactions on Software Engineering, pages 22(8):529--551, August 1996. Google ScholarDigital Library
- G. Rothermel, R. Untch, C. Chu, and M. J. Harrold. Test case prioritization. In Technical Report GIT-99-28, College of Computing, Georgia Institute of Technology (GIT-99-28 1999), Georgia Institute of Technology, December 1999.Google Scholar
- G. Rothermel, R. Untch, C. Chu, and M. J. Harrold. Test case prioritization: An empirical study. In Proceedings of the International Conference on Software Maintenance (ICSM 1999), pages 179--188, Oxford, England, September 1999. Google ScholarDigital Library
- F. Vokolos and P. Frankl. Pythia: A regression test selection tool based on text differencing. In International Conference on Reliability, Quality and Safety of Software Intensive Systems, May 1997. Google ScholarDigital Library
Index Terms
- Regression test selection on system requirements
Recommendations
A safe, efficient regression test selection technique
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 softwore. A regression test selection technique choses, ...
Regression testing minimization, selection and prioritization: a survey
Regression testing is a testing activity that is performed to provide confidence that changes do not harm the existing behaviour of the software. Test suites tend to grow in size as software evolves, often making it too costly to execute entire test ...
Empirical Studies of a Safe Regression Test Selection Technique
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 ...
Comments