Directed random reduction of combinatorial test suites

Combinatorial testing consists in generating (possibly large) test suites by combining both the sequencing of several operations, and the selection of test data. The TOBIAS tool is based on this generation technique. The combinatorial part of the approach makes both its strength and its weakness. Indeed, the more tests are produced, the more confidence the user may have in his/her program. Nevertheless, simple patterns may result in millions of test cases due to the combinatorial explosion problem, leading to intractable testsuites. To overcome this weakness, TOBIAS makes it possible to connect the generator to "selectors" that choose a subset of the test suite based on various techniques or criteria. This paper presents such a test suite reduction technique, based on a stochastic approach. The selection is improved so a uniform repartition of test cases is performed w.r.t. a given criterion, namely, an abstraction of the test cases based on their "shape". The approach is implemented into TOBIAS as a generic selector, independent of the system under test. It has been put into practice on a smart card case study, for which the results are reported in this paper.

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

[2]  Huai Liu,et al.  Enhancing adaptive random testing in high dimensional input domains , 2007, SAC '07.

[3]  David Coppit,et al.  yagg: an easy-to-use generator for structured test inputs , 2005, ASE.

[4]  Arnaud Gotlieb,et al.  Path-oriented random testing , 2006, RT '06.

[5]  Jean-Louis Lanet,et al.  A case study in JML-based software validation , 2004, Proceedings. 19th International Conference on Automated Software Engineering, 2004..

[6]  Michael D. Ernst,et al.  Feedback-Directed Random Test Generation , 2007, 29th International Conference on Software Engineering (ICSE'07).

[7]  Mary Jean Harrold,et al.  Test-Suite Reduction and Prioritization for Modified Condition/Decision Coverage , 2003, IEEE Trans. Software Eng..

[8]  Hélène Waeselynck,et al.  STATEMATE applied to statistical software testing , 1993, ISSTA '93.

[9]  Tsong Yueh Chen,et al.  Adaptive random testing through iterative partitioning revisited , 2006, SOQUA '06.

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

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

[12]  Albert L. Baker,et al.  JML: A Notation for Detailed Design , 1999, Behavioral Specifications of Businesses and Systems.

[13]  Sandrine-Dominique Gouraud AuGuSTe : a Tool for Statistical Testing Experimental results , 2006 .

[14]  Lydie du Bousquet,et al.  Filtering TOBIAS Combinatorial Test Suites , 2004, FASE.

[15]  Sophie Dupuy-Chessa,et al.  Test of the ICARE Platform Fusion Mechanism , 2005, DSV-IS.

[16]  Rajiv Gupta,et al.  A methodology for controlling the size of a test suite , 1990, Proceedings. Conference on Software Maintenance 1990.

[17]  Tsong Yueh Chen,et al.  Is adaptive random testing really better than random testing , 2006, RT '06.

[18]  Gary T. Leavens,et al.  A Simple and Practical Approach to Unit Testing: The JML and JUnit Way , 2002, ECOOP.

[19]  Alain Denise,et al.  A generic method for statistical testing , 2004, 15th International Symposium on Software Reliability Engineering.

[20]  Hélène Waeselynck,et al.  An investigation of statistical software testing , 1991, Softw. Test. Verification Reliab..