Supporting Decisions on Regression test Scoping in a Software Product Line Context - from Evidence to Practice

Large software organizations with a product line development approach face many challenges regarding testing. Test managers need to make tradeoffs along three dimensions of repeated testing (abstraction level, time and product space) and consider a range of goals and constraints. In order to keep pace with the decreased development time for new products, which is enabled by the systematic reuse, selective testing of product variants is necessary. A common industrial practice is to base test scoping decisions on practitioners’ expertise and experience. However, as software systems grow in size and complexity, the combinatorial explosion of test possibilities makes it infeasible to assess the reasonableness of the decisions without tool support. Research on regression test selection propose several systematic strategies for setting a proper test scope when verifying changes of previously tested code. The goal of our research is to improve test management and reduce the amount of redundant testing in the product line context by applying regression test selection strategies. However, despite extensive research on regression testing, gained knowledge has not impacted on industry practices. Thus a secondary goal of our research is to bridge the gap between research and practice in the field of regression testing. Test planning support, like any decision support system, must operate in a complex context and need to be pragmatic, adapted to the context and evolve incrementally within the context. This thesis explores state of art and state of practice of regression testing and software product line testing, and proposes and evaluates a visualization strategy to support regression test scoping in the product line context. Two extensive systematic literature reviews are conducted as well as four empirical studies in close cooperation with industry. Through visualization of relevant information at a proper level of detail, test management in general may be supported. A visual analytics tool for test management would also provide a framework which enables research based and context specific regression testing improvements. (Less)

[1]  Klaus Pohl,et al.  A Reuse Technique for Performance Testing of Software Product Lines , 2006 .

[2]  Per Runeson,et al.  Reference-based search strategies in systematic reviews , 2009, EASE.

[3]  R. Kolb A Risk-Driven Approach for Efficiently Testing Software Product Lines , 2003 .

[4]  Clémentine Nebut,et al.  System Testing of Product Lines: From Requirements to Test Cases , 2006, Software Product Lines.

[5]  Roel Wieringa,et al.  Requirements engineering paper classification and evaluation criteria: a proposal and a discussion , 2005, Requirements Engineering.

[6]  Markus Roggenbach,et al.  Speci?cation-Based Testing for Software Product Lines , 2008, 2008 Sixth IEEE International Conference on Software Engineering and Formal Methods.

[7]  J. Knottnerus,et al.  Real world research. , 2010, Journal of clinical epidemiology.

[8]  Jean-Marc Jézéquel,et al.  Reusable test requirements for UML-modeled product lines , 2002 .

[9]  Klaus Pohl,et al.  Testing Variabilities in Use Case Models , 2003, PFE.

[10]  Frank Maurer,et al.  A Test-Driven Approach to Establishing & Managing Agile Product Lines , 2008, SPLC.

[11]  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.

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

[13]  Birgit Geppert,et al.  Reuse Execution Traces to Reduce Testing of Product Lines , 2007, SPLC.

[14]  Dirk Muthig,et al.  Making testing product lines more efficient by improving the testability of product line architectures , 2006, ROSATEA '06.

[15]  Per Runeson,et al.  A survey of unit testing practices , 2006, IEEE Software.

[16]  Satish Mishra Specification Based Software Product Line Testing : A case study , 2006 .

[17]  Mary Jean Harrold,et al.  Recomputing Coverage Information to Assist Regression Testing , 2009, IEEE Transactions on Software Engineering.

[18]  Clémentine Nebut,et al.  A Requirement-Based Approach to Test Product Families , 2003, PFE.

[19]  Pearl Brereton,et al.  Performing systematic literature reviews in software engineering , 2006, ICSE.

[20]  John D. McGregor,et al.  The Implications of Variation for Testing in a Software Product Line , 2007, SPLC.

[21]  Per Runeson,et al.  Journal of Software Maintenance and Evolution: Research and Practice Test Processes in Software Product Evolution—a Qualitative Survey on the State of Practice , 2022 .

[22]  Wei-Tek Tsai,et al.  Regression testing in an industrial environment , 1998, CACM.

[23]  Klaus Pohl,et al.  Integration Testing in Software Product Line Engineering: A Model-Based Technique , 2007, FASE.

[24]  Per Runeson,et al.  Guidelines for conducting and reporting case study research in software engineering , 2009, Empirical Software Engineering.

[25]  René L. Krikhaar,et al.  Modeling Variability and Testability Interaction in Software Product Line Engineering , 2008, Seventh International Conference on Composition-Based Software Systems (ICCBSS 2008).

[26]  Marc H. Meyer,et al.  The power of product platforms : building value and cost leadership , 1997 .

[27]  Myungchul Kim,et al.  Towards a Formal Framework for Product Line Test Development , 2007, 7th IEEE International Conference on Computer and Information Technology (CIT 2007).

[28]  K. D. Scheidemann Optimizing the selection of representative configurations in verification of evolving product lines of distributed embedded systems , 2006 .

[29]  John D. McGregor,et al.  Testing a Software Product Line , 2001, PSSE.

[30]  Hassan Gomaa,et al.  Model-based testing for applications derived from software product lines , 2005, ACM SIGSOFT Softw. Eng. Notes.

[31]  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..

[32]  Jonas Mellin,et al.  On the Testing Maturity of Software Producing Organizations , 2006, Testing: Academic & Industrial Conference - Practice And Research Techniques (TAIC PART'06).

[33]  Hassan Gomaa,et al.  Model-based Test Design for Software Product Lines , 2008, SPLC.

[34]  J. Schneider,et al.  Tracing Variabi l i ty from Implementation to Test Using Aspect-Oriented Programming , 2004 .

[35]  John D. McGregor Toward a Fault Model for Software Product Lines , 2008, SPLC.

[36]  Henry Muccini,et al.  Towards Testing Product Line Architectures , 2003, TACoS.

[37]  Klaus Pohl,et al.  Software product line testing , 2006, CACM.

[38]  Klaus Pohl,et al.  Model-Based System Testing of Software Product Families , 2005, CAiSE.

[39]  Arlene Fink,et al.  The Survey Handbook , 1995 .

[40]  Venkataraman Ramesh,et al.  Research in software engineering: an analysis of the literature , 2002, Inf. Softw. Technol..

[41]  Juha Taina,et al.  Product family testing: a survey , 2004, SOEN.

[42]  Sarfraz Khurshid,et al.  Testing Software Product Lines Using Incremental Test Generation , 2008, 2008 19th International Symposium on Software Reliability Engineering (ISSRE).

[43]  Ian Sommerville,et al.  Testing in the Wild: The Social and Organisational Dimensions of Real World Practice , 2009, Computer Supported Cooperative Work (CSCW).

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

[45]  Andreas Reuys,et al.  Derivation of Domain Test Scenarios from Activity Diagrams1 , 2003 .

[46]  Thomas Gustafsson An Approach for Selecting Software Product Line Instances for Testing , 2007, SPLC.

[47]  Venkataraman Ramesh,et al.  Research in computer science: an empirical study , 2004, J. Syst. Softw..

[48]  Dirk Muthig,et al.  Techniques and Strategies for Testing Component-Based Software and Product Lines , 2015 .

[49]  Daniel Sundmark,et al.  An Industrial Survey on Contemporary Aspects of Software Testing , 2010, 2010 Third International Conference on Software Testing, Verification and Validation.

[50]  Clémentine Nebut,et al.  Automated requirements-based generation of test cases for product families , 2003, 18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings..

[51]  Andy Schürr,et al.  Towards Software Product Line Testing using Story Driven Modelling , 2008 .

[52]  David M. Weiss,et al.  Automatic Integration Test Generation from Unit Tests of eXVantage Product Family , 2007, SPLC.

[53]  J. McDermid,et al.  Test Data Generation for Product Lines – A Mutation Testing Approach , 2004 .

[54]  Juha Taina,et al.  Hook and Template Coverage Criteria for Testing Framework-based Software Product Families , .

[55]  Klaus Pohl,et al.  The ScenTED Method for Testing Software Product Lines , 2006, Software Product Lines.

[56]  Mary Shaw,et al.  What makes good research in software engineering? , 2002, International Journal on Software Tools for Technology Transfer.

[57]  Mario Piattini,et al.  Software Product Line Testing - A Systematic Review , 2009, ICSOFT.

[58]  S. Weißleder,et al.  Reusing State Machines for Automatic Test Generation in Product Lines , 2008 .

[59]  Josef Weingärtner Product Family Engineering and Testing in the Medical Domain - Validation Aspects , 2001, PFE.

[60]  Kai Petersen,et al.  Systematic Mapping Studies in Software Engineering , 2008, EASE.