An experiment of different similarity measures on test case prioritization for software product lines

Software product line (SPL) engineering paradigm is commonly used to manage variability and commonalities of business applications to satisfy a specific need or goal of a particular market. However, due to time and space complexity, combinatorial interaction testing (CIT) has been suggested to reduce the size of test suites. Although CIT is known as a promising approach to overcome these problems, there are still issues such as combinatorial explosion of features, which drains budget allocated for testing. Therefore, test case prioritization (TCP) is preferred to gain a better result in terms of producing an efficient detection of faults. Among prioritization techniques used in regression testing is similarity-based test case prioritization. Similarity-based test case prioritization rearranges test cases through calculation of distance between test cases using similarity measures. Result from the use of similarity measures in test case prioritization contributes to a much better testing process. This paper provides a comparison of selected similarity measures to investigate the feasibility and suitability of similarity measures to be used in SPL through experimentation. Jaccard, Hamming, Jaro-Winkler, Cosine similarity, Counting, and Sorensein distances have been chosen as similarity measures in this study. The result showed JaroWinkler as the best similarity measure with an 84.96% Average Percentage of Faults Detected (APFD) value across eight feature models. The study offers insights on similarity measures in SPL context. Further, the paper concludes with suggestions on room for improvement, which could be achieved through experimentation and comparison studies.

[1]  Dragan Gasevic,et al.  Evolutionary Search-Based Test Generation for Software Product Line Feature Models , 2012, CAiSE.

[2]  Sandro Schulze,et al.  Towards efficient SPL testing by variant reduction , 2013, VariComp@AOSD.

[3]  E. Bagheri,et al.  1 EMPIRICAL EVALUATION IN SOFTWARE PRODUCT LINE ENGINEERING , 2013 .

[4]  John D. McGregor,et al.  On strategies for testing software product lines: A systematic literature review , 2014, Inf. Softw. Technol..

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

[6]  Mikhail Bilenko,et al.  Learnable Similarity Functions and their Applications to Clustering and Record Linkage , 2004, AAAI.

[7]  Pierre-Yves Schobbens,et al.  Towards statistical prioritization for software product lines testing , 2013, VaMoS.

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

[9]  Sungwon Kang,et al.  A survey on software product line testing , 2012, SPLC '12.

[10]  Glenford J. Myers,et al.  Art of Software Testing , 1979 .

[11]  Nadine Mandran,et al.  Prioritizing test cases with string distances , 2011, Automated Software Engineering.

[12]  Zhenyu Chen,et al.  Similarity-based test case prioritization using ordered sequences of program entities , 2013, Software Quality Journal.

[13]  David G. Lowe,et al.  Scalable Nearest Neighbor Algorithms for High Dimensional Data , 2014, IEEE Transactions on Pattern Analysis and Machine Intelligence.

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

[15]  Thein Than Tun,et al.  Evaluating Information Systems Development Methods: A New Framework , 2002, OOIS.

[16]  Lionel C. Briand,et al.  An Industrial Investigation of Similarity Measures for Model-Based Test Case Selection , 2010, 2010 IEEE 21st International Symposium on Software Reliability Engineering.

[17]  Mario Piattini,et al.  Systematic Review on Software Product Line Testing , 2010, ICSOFT.

[18]  Gunter Saake,et al.  A Classification and Survey of Analysis Strategies for Software Product Lines , 2014, ACM Comput. Surv..

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

[20]  Tao Xie,et al.  To Be Optimal or Not in Test-Case Prioritization , 2016, IEEE Transactions on Software Engineering.

[21]  John D. McGregor,et al.  Strategies for testing products in software product lines , 2012, ACM SIGSOFT Softw. Eng. Notes.

[22]  Dragan Gasevic,et al.  Goal-Oriented Test Case Selection and Prioritization for Product Line Feature Models , 2011, 2011 Eighth International Conference on Information Technology: New Generations.

[23]  Alexander Egyed,et al.  A first systematic mapping study on combinatorial interaction testing for software product lines , 2015, 2015 IEEE Eighth International Conference on Software Testing, Verification and Validation Workshops (ICSTW).

[24]  Gregg Rothermel,et al.  Prioritizing test cases for regression testing , 2000, ISSTA '00.

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

[26]  Øystein Haugen,et al.  Generating better partial covering arrays by modeling weights on sub-product lines , 2012, MODELS'12.

[27]  Sergio Segura,et al.  A Comparison of Test Case Prioritization Criteria for Software Product Lines , 2014, 2014 IEEE Seventh International Conference on Software Testing, Verification and Validation.

[28]  Sebastian Oster,et al.  Automated Incremental Pairwise Testing of Software Product Lines , 2010, SPLC.

[29]  Gunter Saake,et al.  Similarity-based prioritization in software product-line testing , 2014, SPLC.

[30]  D. Richard Kuhn,et al.  Software fault interactions and implications for software testing , 2004, IEEE Transactions on Software Engineering.

[31]  Pierre-Yves Schobbens,et al.  Search-based Similarity-driven Behavioural SPL Testing , 2016, VaMoS.

[32]  Sandro Schulze,et al.  Delta-oriented test case prioritization for integration testing of software product lines , 2015, SPLC.

[33]  Jacques Klein,et al.  Pairwise testing for software product lines: comparison of two approaches , 2012, Software Quality Journal.

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

[35]  C. Tappert,et al.  A Survey of Binary Similarity and Distance Measures , 2010 .

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

[37]  William W. Cohen,et al.  A Comparison of String Metrics for Matching Names and Records , 2003 .