On the search for industry-relevant regression testing research

Regression testing is a means to assure that a change in the software, or its execution environment, does not introduce new defects. It involves the expensive undertaking of rerunning test cases. Several techniques have been proposed to reduce the number of test cases to execute in regression testing, however, there is no research on how to assess industrial relevance and applicability of such techniques. We conducted a systematic literature review with the following two goals: firstly, to enable researchers to design and present regression testing research with a focus on industrial relevance and applicability and secondly, to facilitate the industrial adoption of such research by addressing the attributes of concern from the practitioners’ perspective. Using a reference-based search approach, we identified 1068 papers on regression testing. We then reduced the scope to only include papers with explicit discussions about relevance and applicability (i.e. mainly studies involving industrial stakeholders). Uniquely in this literature review, practitioners were consulted at several steps to increase the likelihood of achieving our aim of identifying factors important for relevance and applicability. We have summarised the results of these consultations and an analysis of the literature in three taxonomies, which capture aspects of industrial-relevance regarding the regression testing techniques. Based on these taxonomies, we mapped 38 papers reporting the evaluation of 26 regression testing techniques in industrial settings.

[1]  Matthias Hirzel,et al.  Graph-Walk-based Selective Regression Testing of Web Applications Created with Google Web Toolkit , 2016, Software Engineering.

[2]  Rudolf Ramler,et al.  Towards Tool-Support for Test Case Selection in Manual Regression Testing , 2013, 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation Workshops.

[3]  Malte Lochau,et al.  Delta-oriented model-based integration testing of large-scale systems , 2014, J. Syst. Softw..

[4]  Per Runeson,et al.  An Empirical Evaluation of Regression Testing Based on Fix-Cache Recommendations , 2010, 2010 Third International Conference on Software Testing, Verification and Validation.

[5]  Claes Wohlin,et al.  Context in industrial software engineering research , 2009, 2009 3rd International Symposium on Empirical Software Engineering and Measurement.

[6]  Daniel Sundmark,et al.  Towards Earlier Fault Detection by Value-Driven Prioritization of Test Cases Using Fuzzy TOPSIS , 2016, ITNG 2016.

[7]  Kai Petersen,et al.  Considering rigor and relevance when evaluating test driven development: A systematic review , 2014, Inf. Softw. Technol..

[8]  Laurie A. Williams,et al.  Applying regression test selection for COTS-based applications , 2006, ICSE.

[9]  Hyunsook Do,et al.  Improving the effectiveness of test suite through mining historical data , 2014, MSR 2014.

[10]  Arnaud Gotlieb,et al.  Multi-objective test prioritization in software product line testing: an industrial case study , 2014, SPLC.

[11]  Anjaneyulu Pasala,et al.  An approach for test suite selection to validate applications on deployment of COTS upgrades , 2005, 12th Asia-Pacific Software Engineering Conference (APSEC'05).

[12]  Austen Rainer,et al.  A follow-up empirical evaluation of evidence based software engineering by undergraduate students , 2008, EASE.

[13]  Cagatay Catal,et al.  On the application of genetic algorithms for test case prioritization: a systematic literature review , 2012, EAST '12.

[14]  Shuai Wang,et al.  Enhancing Test Case Prioritization in an Industrial Setting with Resource Awareness and Multi-objective Search , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering Companion (ICSE-C).

[15]  A. Orso,et al.  Retesting software during development and maintenance , 2008, 2008 Frontiers of Software Maintenance.

[16]  Anne M. Denton,et al.  A clustering approach to improving test case prioritization: An industrial case study , 2011, 2011 27th IEEE International Conference on Software Maintenance (ICSM).

[17]  Márcio Eduardo Delamaro,et al.  Test Case Selection: A Systematic Literature Review , 2014, Int. J. Softw. Eng. Knowl. Eng..

[18]  Hareton K. N. Leung,et al.  Regression Testing of Web Service: A Systematic Mapping Study , 2014, ACM Comput. Surv..

[19]  Arnaud Gotlieb,et al.  Automated Test Case Selection Using Feature Model: An Industrial Case Study , 2013, MoDELS.

[20]  Sarfraz Khurshid,et al.  An Information Retrieval Approach for Regression Test Prioritization Based on Program Changes , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[21]  Arnaud Gotlieb,et al.  Automated product line test case selection: industrial case study and controlled experiment , 2017, Software & Systems Modeling.

[22]  Per Runeson,et al.  A systematic review on regression test selection techniques , 2010, Inf. Softw. Technol..

[23]  David Lo,et al.  How practitioners perceive the relevance of software engineering research , 2015, ESEC/SIGSOFT FSE.

[24]  Lee J. White,et al.  Extended firewall for regression testing: an experience report , 2008, J. Softw. Maintenance Res. Pract..

[25]  Tony Gorschek,et al.  A method for evaluating rigor and industrial relevance of technology evaluations , 2011, Empirical Software Engineering.

[26]  Anis Zarrad A Systematic Review on Regression Testing for Web-Based Applications , 2015, J. Softw..

[27]  Marvin V. Zelkowitz,et al.  Culture Conflicts in Software Engineering Technology Transfer , 1998 .

[28]  Amitabh Srivastava,et al.  Effectively prioritizing tests in development environment , 2002, ISSTA '02.

[29]  Per Runeson,et al.  A Qualitative Survey of Regression Testing Practices , 2010, PROFES.

[30]  Mike Thelwall,et al.  ResearchGate versus Google Scholar: Which finds more early citations? , 2017, Scientometrics.

[31]  Austen Rainer,et al.  A preliminary empirical investigation of the use of evidence based software engineering by under-graduate students , 2006 .

[32]  Per Runeson,et al.  A case study of the class firewall regression test selection technique on a large scale distributed software system , 2005, 2005 International Symposium on Empirical Software Engineering, 2005..

[33]  Mark Harman,et al.  Regression testing minimization, selection and prioritization: a survey , 2012, Softw. Test. Verification Reliab..

[34]  Gregory M. Kapfhammer Empirically Evaluating Regression Testing Techniques: Challenges, Solutions, and a Potential Way Forward , 2011, 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops.

[35]  Kai Petersen,et al.  Regression Testing Goals - View of Practitioners and Researchers , 2017, 2017 24th Asia-Pacific Software Engineering Conference Workshops (APSECW).

[36]  Vahid Garousi,et al.  A systematic literature review of literature reviews in software testing , 2016, Inf. Softw. Technol..

[37]  Arnaud Gotlieb,et al.  Test Case Prioritization for Continuous Regression Testing: An Industrial Case Study , 2013, 2013 IEEE International Conference on Software Maintenance.

[38]  Claes Wohlin,et al.  Guidelines for snowballing in systematic literature studies and a replication in software engineering , 2014, EASE '14.

[39]  Nauman Bin Ali,et al.  Is effectiveness sufficient to choose an intervention?: Considering resource use in empirical software engineering , 2016, ESEM.

[40]  Kai Petersen,et al.  Finding relevant research solutions for practical problems: the serp taxonomy architecture , 2014, WISE@ASE.

[41]  Lee J. White,et al.  Extended firewall for regression testing: an experience report , 2008 .

[42]  Emelie Engström,et al.  Efficient regression testing based on test history: An industrial evaluation , 2015, 2015 IEEE International Conference on Software Maintenance and Evolution (ICSME).

[43]  Claes Wohlin,et al.  A systematic literature review on the industrial use of software process simulation , 2014, J. Syst. Softw..

[44]  Radziah Mohamad,et al.  Effective Regression Test Case Selection , 2017, ACM Comput. Surv..

[45]  Kai Petersen,et al.  SERP-test: a taxonomy for supporting industry–academia communication , 2017, Software Quality Journal.

[46]  Dusica Marijan,et al.  Multi-perspective Regression Test Prioritization for Time-Constrained Environments , 2015, 2015 IEEE International Conference on Software Quality, Reliability and Security.

[47]  Stefan Wagner,et al.  Trace-Based Test Selection to Support Continuous Integration in the Automotive Industry , 2016, 2016 IEEE/ACM International Workshop on Continuous Software Evolution and Delivery (CSED).

[48]  Muhammad Ali Babar,et al.  Identifying relevant studies in software engineering , 2011, Inf. Softw. Technol..

[49]  Per Runeson,et al.  A theory of distances in software engineering , 2016, Inf. Softw. Technol..

[50]  Gregg Rothermel,et al.  Analyzing Regression Test Selection Techniques , 1996, IEEE Trans. Software Eng..

[51]  Richard Torkar,et al.  Indirect effects in evidential assessment: a case study on regression test technology adoption , 2012, EAST '12.

[52]  Zhihong Xu,et al.  Directed test suite augmentation , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[53]  Lionel C. Briand,et al.  Cost-effective strategies for the regression testing of database applications: Case study and lessons learned , 2016, J. Syst. Softw..

[54]  S. A. Sahaaya Arul Mary,et al.  Factor oriented requirement coverage based system test case prioritization of new and regression test cases , 2009, Inf. Softw. Technol..

[55]  Brendan Murphy,et al.  The Art of Testing Less without Sacrificing Quality , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[56]  Carlo Ghezzi,et al.  Determining the Impact of Software Engineering Research on Practice , 2008, Computer.

[57]  Marjo Kauppinen,et al.  Linking Requirements and Testing in Practice , 2008, 2008 16th IEEE International Requirements Engineering Conference.

[58]  Stas Negara,et al.  An empirical evaluation and comparison of manual and automated test selection , 2014, ASE.

[59]  Robert Feldt,et al.  Dynamic Regression Test Selection Based on a File Cache An Industrial Evaluation , 2009, 2009 International Conference on Software Testing Verification and Validation.

[60]  Lee J. White,et al.  Industrial real-time regression testing and analysis using firewalls , 2004, 20th IEEE International Conference on Software Maintenance, 2004. Proceedings..

[61]  Jun Zhu,et al.  An optimized change-driven regression testing selection strategy for binary Java applications , 2009, SAC '09.

[62]  Arvinder Kaur,et al.  Systematic Literature Review on Regression Test Prioritization Techniques , 2012, Informatica.

[63]  Per Runeson,et al.  Using a Visual Abstract as a Lens for Communicating and Promoting Design Science Research in Software Engineering , 2017, 2017 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM).

[64]  Claes Wohlin Empirical software engineering research with industry: Top 10 challenges , 2013, 2013 1st International Workshop on Conducting Empirical Studies in Industry (CESI).

[65]  Kai Petersen,et al.  Testing highly complex system of systems: An industrial case study , 2012, Proceedings of the 2012 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement.

[66]  Arnaud Gotlieb,et al.  Cost-effective test suite minimization in product lines using search techniques , 2015, J. Syst. Softw..

[67]  Per Runeson,et al.  Improving Regression Testing Transparency and Efficiency with History-Based Prioritization -- An Industrial Case Study , 2011, 2011 Fourth IEEE International Conference on Software Testing, Verification and Validation.

[68]  Jiang Zheng In regression testing selection when source code is not available , 2005, ASE '05.

[69]  Antonia Bertolino,et al.  Software Testing Research: Achievements, Challenges, Dreams , 2007, Future of Software Engineering (FOSE '07).

[70]  Jeffrey C. Carver,et al.  How do Practitioners Perceive the Relevance of Requirements Engineering Research? An Ongoing Study , 2017, 2017 IEEE 25th International Requirements Engineering Conference (RE).

[71]  Michael Felderer,et al.  A systematic classification of security regression testing approaches , 2015, International Journal on Software Tools for Technology Transfer.

[72]  Forrest Shull,et al.  Impact of research on practice in the field of inspections, reviews and walkthroughs: learning from successful industrial uses , 2008, SOEN.

[73]  Myra B. Cohen,et al.  Directed test suite augmentation: an empirical investigation , 2015, Softw. Test. Verification Reliab..

[74]  Deepti Mishra,et al.  Test case prioritization: a systematic mapping study , 2012, Software Quality Journal.

[75]  Glen D. Rodriguez Rafael,et al.  15 Years of Software Regression Testing Techniques - A Survey , 2016, Int. J. Softw. Eng. Knowl. Eng..

[76]  Pearl Brereton,et al.  Evidence-Based Software Engineering and Systematic Reviews , 2015 .

[77]  Nauman Bin Ali,et al.  Towards innovation measurement in the software industry , 2013, J. Syst. Softw..

[78]  Muhammad Umar Janjua OnSpot system: test impact visibility during code edits in real software , 2015, ESEC/SIGSOFT FSE.

[79]  Natalia Juristo Juzgado,et al.  Reviewing 25 Years of Testing Technique Experiments , 2004, Empirical Software Engineering.

[80]  Austen Rainer,et al.  Software engineering practice versus evidence- based software engineering research , 2005 .

[81]  Claes Wohlin,et al.  Context in industrial software engineering research , 2009, 2009 3rd International Symposium on Empirical Software Engineering and Measurement.

[82]  Emilia Mendes,et al.  Using Forward Snowballing to update Systematic Reviews in Software Engineering , 2016, ESEM.

[83]  Arnaud Gotlieb,et al.  Minimizing test suites in software product lines using weight-based genetic algorithms , 2013, GECCO '13.

[84]  Saurabh Sinha,et al.  Efficient and flexible GUI test execution via test merging , 2013, ISSTA.

[85]  Richard Torkar,et al.  Test case selection for black-box regression testing of database applications , 2013, Inf. Softw. Technol..

[86]  Laurie A. Williams,et al.  A lightweight process for change identification and regression test selection in using COTS components , 2006, Fifth International Conference on Commercial-off-the-Shelf (COTS)-Based Software Systems (ICCBSS'05).

[87]  William E. Riddle,et al.  Software technology maturation , 1985, ICSE '85.

[88]  Laurie A. Williams,et al.  Pallino: automation to support regression test selection for cots-based applications , 2007, ASE.

[89]  Barry W. Boehm,et al.  Improving scenario testing process by adding value-based prioritization: an industrial case study , 2013, ICSSP 2013.

[90]  Jeffrey C. Carver,et al.  How Practitioners Perceive the Relevance of ESEM Research , 2016, ESEM.