Search-based multi-paths test data generation for structure-oriented testing

This paper presents a new fitness function to generate test data for a specific single path, which is different from the predicate distance applied by most test data generators based on genetic algorithms (GAs). We define a similarity between the target path and execution path to evaluate the quality of the populations. The problem of the most existing generators is to search only one target data a time, wasting plenty of available interim data. We construct another fitness function combined with the single path function, which can drive GA to complete covering multi-paths to avoid the reduplicate searching and utilize the interim populations for different paths. Several experiments are taken to examine the effectiveness of both the single path and multi-path fitness functions, which evaluate the functions' performance with the convergence ability and consumed time. Results show that the two functions perform well compared with other two typical path-oriented functions and the multi-paths approach retrenches the searching actually.

[1]  W. Wayt Gibbs,et al.  Software's Chronic Crisis , 1994 .

[2]  Baowen Xu,et al.  Application of Genetic Algorithms in Software Testing , 2007 .

[3]  Leendert Ammeraal,et al.  Algorithms and data structures in C , 1996 .

[4]  James Miller,et al.  Automatic test data generation using genetic algorithm and program dependence graphs , 2006, Inf. Softw. Technol..

[5]  Jon Edvardsson,et al.  A Survey on Automatic Test Data Generation , 2002 .

[6]  Roy P. Pargas,et al.  Test-Data Generation Using Genetic Algorithms , 1999, Softw. Test. Verification Reliab..

[7]  Alison Watkins,et al.  Evolutionary test data generation: a comparison of fitness functions , 2006, Softw. Pract. Exp..

[8]  Enrique Alba,et al.  Observations in using parallel and sequential evolutionary algorithms for automatic software testing , 2008, Comput. Oper. Res..

[9]  Jin-Cherng Lin,et al.  Automatic test data generation for path testing using GAs , 2001, Inf. Sci..

[10]  John A. Clark,et al.  An automated framework for structural test-data generation , 1998, Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239).

[11]  John A. Clark,et al.  Automated test‐data generation for exception conditions , 2000 .

[12]  Oliver Bühler,et al.  Evolutionary functional testing , 2008, Comput. Oper. Res..

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

[14]  Mark Harman,et al.  A multi-objective approach to search-based test data generation , 2007, GECCO '07.

[15]  Yoichi Hayashi,et al.  Neural expert system using fuzzy teaching input and its application to medical diagnosis , 1994 .

[16]  David Lorge Parnas,et al.  Evaluation of safety-critical software , 1990, CACM.

[17]  Mario Jino,et al.  Automatic Test Data Generation for Program Paths Using Genetic Algorithms , 2002, Int. J. Softw. Eng. Knowl. Eng..

[18]  Joachim Wegener,et al.  Testing the temporal behavior of real-time tasks using extended evolutionary algorithms , 1999, Proceedings 20th IEEE Real-Time Systems Symposium (Cat. No.99CB37054).

[19]  Joachim Wegener,et al.  Using Evolutionary Testing to improve Efficiency and Quality in Software Testing , 2002 .

[20]  Boris Beizer,et al.  Software testing techniques (2. ed.) , 1990 .

[21]  Irman Hermadi,et al.  GA-based multiple paths test data generator , 2008, Comput. Oper. Res..

[22]  Joachim Wegener,et al.  Evolutionary test environment for automatic structural testing , 2001, Inf. Softw. Technol..

[23]  José Javier Dolado,et al.  A tabu search algorithm for structural software testing , 2008, Comput. Oper. Res..

[24]  James A. Whittaker,et al.  What is software testing? And why is it so hard? , 2000 .

[25]  Gary McGraw,et al.  Generating Software Test Data by Evolution , 2001, IEEE Trans. Software Eng..

[26]  Abdelhamid Bouchachia,et al.  An Immune Genetic Algorithm for Software Test Data Generation , 2007, 7th International Conference on Hybrid Intelligent Systems (HIS 2007).

[27]  Phil McMinn,et al.  Search‐based software test data generation: a survey , 2004, Softw. Test. Verification Reliab..

[28]  Timo Mantere,et al.  Evolutionary software engineering, a review , 2005, Appl. Soft Comput..

[29]  Harmen-Hinrich Sthamer,et al.  The automatic generation of software test data using genetic algorithms , 1995 .

[30]  Giuliano Antoniol,et al.  Detecting buffer overflow via automatic test input data generation , 2008, Comput. Oper. Res..

[31]  André Baresel,et al.  Fitness Function Design To Improve Evolutionary Structural Testing , 2002, GECCO.

[32]  Roy P. Pargas,et al.  Test‐data generation using genetic algorithms , 1999 .

[33]  Nashat Mansour,et al.  Data Generation for Path Testing , 2004, Software Quality Journal.