Characterizing failure-causing parameter interactions by adaptive testing

Combinatorial testing is a widely used black-box testing technique, which is used to detect failures caused by parameter interactions (we call them faulty interactions). Traditional combinatorial testing techniques provide fault detection, but most of them provide weak fault diagnosis. In this paper, we propose a new fault characterization method called faulty interaction characterization (FIC) and its binary search alternative FIC_BS to locate one failure-causing interaction in a single failing test case. In addition, we provide a tradeoff strategy of locating multiple faulty interactions in one test case. Our methods are based on adaptive black-box testing, in which test cases are generated based on outcomes of previous tests. For locating a t-way faulty interaction, the number of test cases used is at most k (for FIC) or t(dlog2 k] + 1) + 1 (for FIC_BS), where k is the number of parameters. Simulation experiments show that our method needs smaller number of adaptive test cases than most existing methods for locating randomly-generated faulty interactions. Yet it has stronger or equivalent ability of locating faulty interactions.

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

[2]  Baowen Xu,et al.  Adaptive Interaction Fault Location Based on Combinatorial Testing , 2010, 2010 10th International Conference on Quality Software.

[3]  Andreas Zeller,et al.  Simplifying and Isolating Failure-Inducing Input , 2002, IEEE Trans. Software Eng..

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

[5]  Myra B. Cohen,et al.  Constructing test suites for interaction testing , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[6]  Xu Bao,et al.  A Software Failure Debugging Method Based on Combinatorial Design Approach for Testing , 2006 .

[7]  Lucia Moura,et al.  Locating Errors Using ELAs, Covering Arrays, and Adaptive Testing Algorithms , 2009, SIAM J. Discret. Math..

[8]  Zhendong Su,et al.  HDD: hierarchical delta debugging , 2006, ICSE.

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

[10]  Lucia Moura,et al.  Algorithms to Locate Errors Using Covering Arrays , 2008, LATIN.

[11]  Erik Kamsties,et al.  An Empirical Evaluation of Three Defect-Detection Techniques , 1995, ESEC.

[12]  Michael L. Fredman,et al.  The AETG System: An Approach to Testing Based on Combinatiorial Design , 1997, IEEE Trans. Software Eng..

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

[14]  Charles J. Colbourn,et al.  Locating and detecting arrays for interaction faults , 2008, J. Comb. Optim..

[15]  Hareton K. N. Leung,et al.  The Minimal Failure-Causing Schema of Combinatorial Testing , 2011, TSEM.

[16]  Baowen Xu,et al.  A Software Debugging Method Based on Pairwise Testing , 2005, International Conference on Computational Science.

[17]  David C. Torney,et al.  Sets pooling designs , 1999 .