Abstract
Changes may cause unexpected side effects and inconsistencies. Regression testing is the process of re-testing a software system after changes have been made to ensure that the new version of the system has retained the capabilities of the old version and that no new defects have been introduced. Regression testing is an essential activity, but it is also time-consuming and costly. Thus, regression testing should concentrate on those parts of the system that have been modified or which are affected by changes. Regression test selection has been proposed over three decades ago and, since then, it has been frequently in the focus of empirical studies. However, regression test selection is still not widely adopted in practice. Together with the test team of an industrial software company we have developed a tool-based approach that assists software testers in selecting regression test cases based on change information and test coverage data. This paper describes the main usage scenario of the approach, illustrates the implemented solution, and reports on its evaluation in a large industry project. The evaluation showed that the tool support reduces the time required for compiling regression test suites and fosters an accurate selection of regression test cases. The paper concludes with our lessons learned from implementing the tool support in a real-world setting.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Lehman, M.M., Belady, L.A. (eds.): Program Evolution: Processes of Software Change. Academic Press Prof., London (1985)
Ammann, P., Offutt, J.: Introduction to Software Testing, 1st edn. Cambridge University Press, Cambridge (2008)
Juergens, E., Hummel, B., Deissenboeck, F., Feilkas, M., Schlogel C., Wubbeke, A.: Regression test selection of manual system tests in practice. In: 15th European Conference on Software Maintenance and Reengineering (CSMR), pp. 309–312 (2011)
Rothermel, G., Harrold, M.J.: Analyzing regression test selection techniques. IEEE Trans. Softw. Eng. 22(8), 529–551 (1996)
Engström, E., Runeson, P., Skoglund, M.: A systematic review on regression test selection techniques. Inf. Softw. Technol. 52(1), 14–30 (2010)
Yoo, S., Harmann, M.: Regression testing minimisation, selection, and prioritisation: a survey. Softw. Test Verif. Reliab. 22(2), 67–120 (2012)
Gligoric, M., Eloussi, L., Marinov, D.: Practical regression test selection with dynamic file dependencies. In: Proceedings of the 2015 International Symposium on Software Testing and Analysis (ISSTA 2015), pp. 211–222 (2015)
Elbaum, S., Rothermel, G., Penix, J.: Techniques for improving regression testing in continuous integration development environments. In: Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE 2014), pp. 235–245 (2014)
Li, B., Sun, X., Leung, H., Zhang, S.: A survey of code-based change impact analysis techniques. Softw. Test Verif. Reliab. 23(8), 613–646 (2012)
Rothermel, G., Harrold, M.J.: A safe, efficient regression test selection technique. ACM Trans. Softw. Eng. Methodol. 6(2), 173–210 (1997)
Chen, Y.-F., Rosenblum, D.S., Vo, K.-P.: TestTube: a system for selective regression testing. In: Proceedings of the 16th International Conference on Software Engineering (ICSE 1994) (1994)
Buchgeher, G., Ernstbrunner, C., Ramler, R., Lusser, M.: Towards tool-support for test case selection in manual regression testing. In: Proceedings of the 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation Workshops (ICSTW), pp. 74–79 (2013)
Eder, S., Hauptmann, B., Junker, M., Juergens, E., Vaas, R., Prommer, K.H.: Did we test our changes? Assessing alignment between tests and development in practice. In: Proceedings of the 8th International Workshop on Automation of Software Test (AST), pp. 107–110 (2013)
Beszedes, A., Gergely, T., Schrettner, L., Jasz, J., Lango, L., Gyimothy, T.: Code coverage-based regression test selection and prioritization in WebKit. In: Proceedings of the 28th IEEE International Conference on Software Maintenance (ICSM), pp. 46–55 (2012)
Acknowledgments
The research reported in this paper has been supported by the Austrian Ministry for Transport, Innovation and Technology, the Federal Ministry of Science, Research and Economy, and the Province of Upper Austria in the frame of the COMET center SCCH. Furthermore, the authors also thank the industry partner and the members of test team for their valuable time, support and feedback.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
Cite this paper
Ramler, R., Salomon, C., Buchgeher, G., Lusser, M. (2017). Tool Support for Change-Based Regression Testing: An Industry Experience Report. In: Winkler, D., Biffl, S., Bergsmann, J. (eds) Software Quality. Complexity and Challenges of Software Engineering in Emerging Technologies. SWQD 2017. Lecture Notes in Business Information Processing, vol 269. Springer, Cham. https://doi.org/10.1007/978-3-319-49421-0_10
Download citation
DOI: https://doi.org/10.1007/978-3-319-49421-0_10
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-49420-3
Online ISBN: 978-3-319-49421-0
eBook Packages: Computer ScienceComputer Science (R0)