Prioritization of Combinatorial Test Cases by Incremental Interaction Coverage

Combinatorial testing is a well-recognized testing method, and has been widely applied in practice. To facilitate analysis, a common approach is to assume that all test cases in a combinatorial test suite have the same fault detection capability. However, when testing resources are limited, the order of executing the test cases is critical. To improve testing cost-effectiveness, prioritization of combinatorial test cases is employed. The most popular approach is based on interaction coverage, which prioritizes combinatorial test cases by repeatedly choosing an unexecuted test case that covers the largest number on uncovered parameter value combinations of a given strength (level of interaction among parameters). However, this approach suffers from some drawbacks. Based on previous observations that the majority of faults in practical systems can usually be triggered with parameter interactions of small strengths, we propose a new strategy of prioritizing combinatorial test cases by incrementally adjusting the strength values. Experimental results show that our method performs better than the random prioritization technique and the technique of prioritizing combinatorial test suites according to test case generation order, and has better performance than the interaction-coverage-based test prioritization technique in most cases.

[1]  Gregg Rothermel,et al.  Incorporating varying test costs and fault severities into test case prioritization , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[2]  Gadiel Seroussi,et al.  Vector sets for exhaustive testing of logic circuits , 1988, IEEE Trans. Inf. Theory.

[3]  Charles J. Colbourn,et al.  Test prioritization for pairwise interaction coverage , 2005, A-MOST.

[4]  Myra B. Cohen,et al.  Incremental covering array failure characterization in large configuration spaces , 2009, ISSTA.

[5]  Myra B. Cohen,et al.  Covering arrays for efficient fault characterization in complex configuration spaces , 2004, IEEE Transactions on Software Engineering.

[6]  Yu Lei,et al.  A Test Generation Strategy for Pairwise Testing , 2002, IEEE Trans. Software Eng..

[7]  Baowen Xu,et al.  Cost-Cognizant Combinatorial Test Case Prioritization , 2011, Int. J. Softw. Eng. Knowl. Eng..

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

[9]  Atif M. Memon,et al.  Test suite prioritization by interaction coverage , 2007, DOSTA '07.

[10]  Raghu Kacker,et al.  Identifying Failure-Inducing Combinations in a Combinatorial Test Set , 2012, 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation.

[11]  Renée C. Bryce,et al.  A framework of greedy methods for constructing interaction test suites , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[12]  Xiaodong Xie,et al.  Adaptive Random Test Case Generation for Combinatorial Testing , 2012, 2012 IEEE 36th Annual Computer Software and Applications Conference.

[13]  Charles J. Colbourn,et al.  Prioritized interaction testing for pair-wise coverage with seeding and constraints , 2006, Inf. Softw. Technol..

[14]  S. A. Sahaaya Arul Mary,et al.  Time-Aware and Weighted Fault Severity Based Metrics for Test Case Prioritization , 2011, Int. J. Softw. Eng. Knowl. Eng..

[15]  Myra B. Cohen,et al.  Configuration-aware regression testing: an empirical study of sampling and prioritization , 2008, ISSTA '08.

[16]  Charles J. Colbourn,et al.  Test prioritization for pairwise interaction coverage , 2005, ACM SIGSOFT Softw. Eng. Notes.

[17]  Myra B. Cohen,et al.  Combinatorial Interaction Regression Testing: A Study of Test Case Generation and Prioritization , 2007, 2007 IEEE International Conference on Software Maintenance.

[18]  Byoungju Choi,et al.  A Test Case Prioritization Based on Degree of Risk Exposure and its Empirical Study , 2011, Int. J. Softw. Eng. Knowl. Eng..

[19]  Gregg Rothermel,et al.  Test Case Prioritization: A Family of Empirical Studies , 2002, IEEE Trans. Software Eng..

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

[21]  Yu Lei,et al.  IPOG-IPOG-D: efficient test generation for multi-way combinatorial testing , 2008 .

[22]  Myra B. Cohen,et al.  Covering Arrays for Efficient Fault Characterization in Complex Configuration Spaces , 2006, IEEE Trans. Software Eng..

[23]  Myra B. Cohen,et al.  Towards incremental adaptive covering arrays , 2007, ESEC-FSE companion '07.

[24]  A. Jefferson Offutt,et al.  An evaluation of combination strategies for test case selection , 2006, Empirical Software Engineering.

[25]  Atif M. Memon,et al.  Developing a Single Model and Test Prioritization Strategies for Event-Driven Software , 2011, IEEE Transactions on Software Engineering.

[26]  Xiang Chen,et al.  Building Prioritized Pairwise Interaction Test Suites with Ant Colony Optimization , 2009, 2009 Ninth International Conference on Quality Software.

[27]  Hareton K. N. Leung,et al.  A survey of combinatorial testing , 2011, CSUR.

[28]  J. Czerwonka Pairwise Testing in Real World Practical Extensions to Test Case Generators , 2006 .

[29]  M. J. Reilly,et al.  An investigation of the applicability of design of experiments to software testing , 2002, 27th Annual NASA Goddard/IEEE Software Engineering Workshop, 2002. Proceedings..

[30]  Jian Zhang,et al.  Characterizing failure-causing parameter interactions by adaptive testing , 2011, ISSTA '11.

[31]  Mark Harman,et al.  Search Algorithms for Regression Test Case Prioritization , 2007, IEEE Transactions on Software Engineering.

[32]  Joseph Robert Horgan,et al.  A study of effective regression testing in practice , 1997, Proceedings The Eighth International Symposium on Software Reliability Engineering.

[33]  Myra B. Cohen,et al.  Towards incremental adaptive covering arrays , 2007, ESEC-FSE '07.

[34]  Christopher M. Lott,et al.  Repeatable software engineering experiments for comparing defect-detection techniques , 2004, Empirical Software Engineering.

[35]  Kuan-Li Peng,et al.  A history-based cost-cognizant test case prioritization technique in regression testing , 2012, J. Syst. Softw..