Tool support for change-based regression testing: An industry experience report

Authors Rudolf Ramler
Christian Salomon
Georg Buchgeher
Michael Lusser
Editors D. Winkler
S. Biffl
J. Bergsmann
Title Tool support for change-based regression testing: An industry experience report
Booktitle Software Quality. Complexity and Challenges of Software Engineering in Emerging Technologies - Proc. SWQD 2017
Type in proceedings
Series Lecture Notes in Business Information Processing
Volume 269
Mark Industrial Experience Best Paper
ISBN 978-3-319-49420-3
DOI 10.1007/978-3-319-49421-0_10
Month January
Year 2017
Pages 133-152
SCCH ID# 16071

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.