Enhancing path-oriented test data generation using adaptive random testing techniques

In this paper, we have developed an approach to generate test data for path coverage based testing. The main challenge of this kind testing lies in its ability to build efficiently such a test suite in order to minimize the number of rejects. We address this problem with a novel divide-and-conquer approach based on adaptive random testing strategy. Our approach takes as input the constraints of an executable path and computes a tight over-approximation of their associated sub-domain by using a dynamic domain partitioning approach. We implemented this approach and got experimental results that show the practical benefits compared to existing approaches. Our method generates less invalid inputs and is capable of obtaining the sub-domain of many complex constraints.

[1]  Kai-Yuan Cai,et al.  An experimental study of adaptive testing for software reliability assessment , 2008, J. Syst. Softw..

[2]  Tsong Yueh Chen,et al.  Mirror adaptive random testing , 2004, Inf. Softw. Technol..

[3]  David Notkin,et al.  Rostra: a framework for detecting redundant object-oriented unit tests , 2004, Proceedings. 19th International Conference on Automated Software Engineering, 2004..

[4]  Nikolai Tillmann,et al.  Pex-White Box Test Generation for .NET , 2008, TAP.

[5]  Johannes Mayer,et al.  Adaptive Random Testing by Bisection and Localization , 2005, FATES.

[6]  Michael D. Ernst,et al.  Eclat: Automatic Generation and Classification of Test Inputs , 2005, ECOOP.

[7]  Thomas Ball,et al.  A Theory of Predicate-Complete Test Coverage and Generation , 2004, FMCO.

[8]  Arnaud Gotlieb,et al.  A uniform random test data generator for path testing , 2010, J. Syst. Softw..

[9]  Arnaud Gotlieb,et al.  Constraint Reasoning in Path-Oriented Random Testing , 2008, 2008 32nd Annual IEEE International Computer Software and Applications Conference.

[10]  Michael R. Lyu,et al.  Automatic string test data generation for detecting domain errors , 2009, Softw. Test. Verification Reliab..

[11]  Tsong Yueh Chen,et al.  Adaptive Random Testing: The ART of test case diversity , 2010, J. Syst. Softw..

[12]  Huai Liu,et al.  Distributing test cases more evenly in adaptive random testing , 2008, J. Syst. Softw..

[13]  Bogdan Korel,et al.  Automated Software Test Data Generation , 1990, IEEE Trans. Software Eng..

[14]  Tsong Yueh Chen,et al.  On Adaptive Random Testing Through Iterative Partitioning , 2006, J. Inf. Sci. Eng..

[15]  David Notkin,et al.  Symstra: A Framework for Generating Object-Oriented Unit Tests Using Symbolic Execution , 2005, TACAS.

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

[17]  Pascal Van Hentenryck,et al.  Design, Implementation, and Evaluation of the Constraint Language cc(FD) , 1994, Constraint Programming.

[18]  Koushik Sen DART: Directed Automated Random Testing , 2009, Haifa Verification Conference.

[19]  Johannes Mayer,et al.  Adaptive Random Testing by Bisection with Restriction , 2005, ICFEM.

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