Software Product Line Testing Based on Feature Model Mutation

The Feature Model (FM) is a fundamental artifact of the Software Product Line (SPL) engineering, used to represent commonalities and variabilities, and also to derive products for testing. However, the test of all features combinations (products) is not always possible in practice. Due to the growing complexity of the applications, only a subset of products is usually selected. The selection is generally based on combinatorial testing, to test features interactions. This kind of selection does not consider different classes of faults that can be present in the FM. The application of a fault-based approach, such as mutation-based testing, can increase the probability of finding faults and the confidence that the SPL products match the requirements. Considering that, this paper introduces a mutation approach to select products for the feature testing of SPLs. The approach can be used similarly to a test criterion in the generation and assessment of test cases. It includes (i) a set of mutation operators, introduced to describe typical faults associated to the feature management and to the FM; and (ii) a testing process to apply the operators. Experimental results show the applicability of the approach. The selected test case sets are capable to reveal other kind of faults, not revealed in the pairwise testing.

[1]  Klaus Schmid,et al.  Software product lines in action - the best industrial practice in product line engineering , 2007 .

[2]  W. Eric Wong,et al.  Mutation Versus All-uses: An Empirical Evaluation of Cost, Strength and Effectiveness , 1994, Software Quality and Productivity.

[3]  Øystein Haugen,et al.  An algorithm for generating t-wise covering arrays from large feature models , 2012, SPLC '12.

[4]  Macario Polo,et al.  Testing Product Generation in Software Product Lines Using Pairwise for Features Coverage , 2010, ICTSS.

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

[6]  Myra B. Cohen,et al.  Coverage and adequacy in software product line testing , 2006, ROSATEA '06.

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

[8]  Malte Lochau,et al.  Pairwise feature-interaction testing for SPLs: potentials and limitations , 2011, SPLC '11.

[9]  Salvador Trujillo,et al.  On the Modularization of Feature Models , 2005 .

[10]  Sergio Segura,et al.  FAMA: Tooling a Framework for the Automated Analysis of Feature Models , 2007, VaMoS.

[11]  Richard J. Lipton,et al.  Hints on Test Data Selection: Help for the Practicing Programmer , 1978, Computer.

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

[13]  Myra B. Cohen,et al.  Constructing Interaction Test Suites for Highly-Configurable Systems in the Presence of Constraints: A Greedy Approach , 2008, IEEE Transactions on Software Engineering.

[14]  Sergio Segura,et al.  Automated Test Data Generation on the Analyses of Feature Models: A Metamorphic Testing Approach , 2010, 2010 Third International Conference on Software Testing, Verification and Validation.

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

[16]  D.M. Cohen,et al.  The Combinatorial Design Approach to Automatic Test Generation , 1996, IEEE Softw..

[17]  Jacques Klein,et al.  Bypassing the Combinatorial Explosion: Using Similarity to Generate and Prioritize T-Wise Test Configurations for Software Product Lines , 2014, IEEE Transactions on Software Engineering.

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

[19]  Jacques Klein,et al.  Automated and Scalable T-wise Test Case Generation Strategies for Software Product Lines , 2010, 2010 Third International Conference on Software Testing, Verification and Validation.

[20]  D. Beuche Product Line Engineering with Feature Models , 2006 .

[21]  Sergio Segura,et al.  Automated analysis of feature models 20 years later: A literature review , 2010, Inf. Syst..

[22]  Patrick Donohoe,et al.  Feature-Oriented Project Line Engineering , 2002, IEEE Softw..

[23]  Myra B. Cohen,et al.  Improving the Testing and Testability of Software Product Lines , 2010, SPLC.

[24]  Sarfraz Khurshid,et al.  Incremental Test Generation for Software Product Lines , 2010, IEEE Transactions on Software Engineering.

[25]  Silvia Regina Vergilio,et al.  A Mutation Approach to Feature Testing of Software Product Lines , 2013, SEKE.

[26]  Jeff Yu Lei,et al.  IPOG: A General Strategy for T-Way Software Testing , 2007, 14th Annual IEEE International Conference and Workshops on the Engineering of Computer-Based Systems (ECBS'07).

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

[28]  Krzysztof Czarnecki,et al.  Formalizing cardinality-based feature models and their specialization , 2005, Softw. Process. Improv. Pract..

[29]  Paolo Arcaini,et al.  Generating Tests for Detecting Faults in Feature Models , 2015, 2015 IEEE 8th International Conference on Software Testing, Verification and Validation (ICST).

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

[31]  John D. McGregor,et al.  A systematic mapping study of software product lines testing , 2011, Inf. Softw. Technol..

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

[33]  Phyllis G. Frankl The use of Data Flow Information for the Selection and Evaluation of Software Test Data , 2015 .

[34]  Martin Schmidt,et al.  Towards the assessment of software product line tests: a mutation system for variable systems , 2014, SPLC '14.