Towards the assessment of software product line tests: a mutation system for variable systems

Software product line engineering is an emerging methodology for the development of variant-rich software systems. As software product lines are viable for this purpose, testing them is complicated in contrast to non-variable systems, as there is an increasingly amount of possible products due to the number of features. There exist many methods proposed for testing software product lines, but seldom the quality of the resulting tests was assessed. For assessing test quality mutation analysis is a well-known technique and is frequently applied to non-variable software systems. However, mutation analysis cannot be applied straight-forward onto software product lines. We present a mutation system for assessing the quality of software product line tests by means of fault detection capability. Our mutation system comprises model-based mutation operators, test case adaption, automated model and test execution, and automated mutation analysis. So far, we developed several mutation operators for feature models, UML state machines, and mapping models. We evaluated the mutation operators against tests that were generated from the specifications and applied them for three case studies. From the results we draw conclusions about the effectiveness of the individual mutation operators.

[1]  Robert V. Binder,et al.  Testing Object-Oriented Systems: Models, Patterns, and Tools , 1999 .

[2]  Florian Wartenberg,et al.  Model-Based Test Design of Product Lines: Raising Test Design to the Product Line Level , 2014, 2014 IEEE Seventh International Conference on Software Testing, Verification and Validation.

[3]  Malte Lochau,et al.  MoSo-PoLiTe: tool support for pairwise and model-based software product line testing , 2011, VaMoS '11.

[4]  Shaoying Liu,et al.  Generating test data from state‐based specifications , 2003, Softw. Test. Verification Reliab..

[5]  A. Jefferson Offutt,et al.  Mutation 2000: uniting the orthogonal , 2001 .

[6]  Jacques Klein,et al.  Assessing Software Product Line Testing Via Model-Based Mutation: An Application to Similarity Testing , 2013, 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation Workshops.

[7]  Mark Harman,et al.  An Analysis and Survey of the Development of Mutation Testing , 2011, IEEE Transactions on Software Engineering.

[8]  M. R. Woodward,et al.  Errors in algebraic specifications and an experimental mutation testing tool , 1993, Softw. Eng. J..

[9]  Florian Lorber,et al.  Time for Mutants - Model-Based Mutation Testing with Timed Automata , 2013, TAP@STAF.

[10]  Stephan Weißleder,et al.  Influencing Factors in Model-Based Testing with UML State Machines: Report on an Industrial Cooperation , 2009, MoDELS.

[11]  Vadim Okun,et al.  Mutation operators for specifications , 2000, Proceedings ASE 2000. Fifteenth IEEE International Conference on Automated Software Engineering.

[12]  John A. Clark,et al.  Assessing Test Set Adequacy for Object-Oriented Programs Using Class Mutation , 2000 .

[13]  Jin-hua Li,et al.  Mutation Analysis for Testing Finite State Machines , 2009, 2009 Second International Symposium on Electronic Commerce and Security.

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

[15]  Mark Harman,et al.  Higher Order Mutation Testing , 2009, Inf. Softw. Technol..

[16]  Per Runeson,et al.  Software product line testing - A systematic mapping study , 2011, Inf. Softw. Technol..

[17]  Michal Antkiewicz,et al.  Mapping features to models: a template approach based on superimposed variants , 2005, GPCE'05.

[18]  Hassan Gomaa,et al.  Model-based testing for applications derived from software product lines , 2005, A-MOST.

[19]  Richard A DeMillo Mutation Analysis as a Tool for Software Quality Assurance. , 1980 .

[20]  Fevzi Belli,et al.  Event‐based modelling, analysis and testing of user interactions: approach and case study , 2006, Softw. Test. Verification Reliab..

[21]  Bernhard Rumpe,et al.  Modeling Variants of Automotive Systems using Views , 2014, ArXiv.

[22]  Malte Lochau,et al.  Incremental Model-Based Testing of Delta-Oriented Software Product Lines , 2012, TAP@TOOLS.

[23]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[24]  Fevzi Belli,et al.  Model-Based Integration Testing with Communication Sequence Graphs , 2011, Model-Based Testing for Embedded Systems.

[25]  Fevzi Belli,et al.  Test generation and minimization with "basic" statecharts , 2008, SAC '08.

[26]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[27]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[28]  Andy Schürr,et al.  Reduktion von Testsuiten für Software-Produktlinien , 2012, Software Engineering.

[29]  John A. Clark,et al.  Class Mutation : Mutation Testing for Object-Oriented Programs , 2000 .

[30]  Thomas S. Heinze,et al.  Efficient Reduction of Model-Based Generated Test Suites through Test Case Pair Prioritization , 2010, 2010 Workshop on Model-Driven Engineering, Verification, and Validation.