Automatic Data Flow Test Paths Generation using the Genetical Swarm Optimization Technique

ABSTRACT Path testing requires generating all paths through the program to be tested, and finding a set of program inputs that will execute every path. The number of possible paths in programs containing loops is infinite, and so it is very difficult, if not impossible, to test all of them. Path testing can be relaxed by selecting a subset of all executable paths that fulfill a certain path selection criterion and finding test data to cover it. The automatic generation of such test paths leads to more test coverage paths thus resulting in efficient and effective testing strategy. This paper presents a genetical swarm optimization (GSO) based technique, which effectively combines a genetic algorithm (GA) based technique and a particle swarm optimization (PSO) based technique, for automatic generation of a set of test paths that cover the all-uses criterion. Experiments have been carried out to evaluate the effectiveness of the proposed GSO approach in test paths generation compared to the GA and PSO approaches.

[1]  Mary Jean Harrold,et al.  Using Genetic Algorithms to Aid Test-Data Generation for Data-Flow Coverage , 2007, 14th Asia-Pacific Software Engineering Conference (APSEC'07).

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

[3]  Erik D. Goodman,et al.  Automated Software Test Data Generation Using A Genetic Algorithm , 1994 .

[4]  Du Qingfeng,et al.  An improved algorithm for basis path testing , 2011, 2011 International Conference on Business Management and Electronic Information.

[5]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[6]  Durga Prasad Mohapatra,et al.  Automatic Test Data Generation for Data Flow Testing Using Particle Swarm Optimization , 2010, IC3.

[7]  Mario Jino,et al.  Automatic test data generation using particle systems , 2008, SAC '08.

[8]  T J. Mccabe,et al.  Structured Testing: A Software Testing Methodology Using the Cyclomatic Complexity Metric , 1982 .

[9]  Dunwei Gong,et al.  Evolutionary generation of test data for many paths coverage , 2010, CCDC 2010.

[10]  Marc Roper,et al.  Genetic Algorithms and the Automatic Generation of Test Data , 2007 .

[11]  Irman Hermadi,et al.  Genetic Algorithm Based Path Testing: Challenges and Key Parameters , 2010, 2010 Second World Congress on Software Engineering.

[12]  Moheb R. Girgis An experimental evaluation of a symbolic execution system , 1992, Softw. Eng. J..

[13]  Xiaowei Li,et al.  The Automatic Generation of Basis Set of Path for Path Testing , 2005, 14th Asian Test Symposium (ATS'05).

[14]  Ahmed S. Ghiduk,et al.  Automatic Generation of Data Flow Test Paths using a Genetic Algorithm , 2014 .

[15]  Zhang Zhonglin,et al.  An improved method of acquiring basis path for software testing , 2010, 2010 5th International Conference on Computer Science & Education.

[16]  Jun Yan,et al.  An efficient method to generate feasible paths for basis path testing , 2008, Inf. Process. Lett..

[17]  Aiguo Li,et al.  Automatic Generating All-Path Test Data of a Program Based on PSO , 2009, 2009 WRI World Congress on Software Engineering.

[18]  Elaine J. Weyuker,et al.  Selecting Software Test Data Using Data Flow Information , 1985, IEEE Transactions on Software Engineering.

[19]  Riccardo Poli,et al.  Particle swarm optimization , 1995, Swarm Intelligence.

[20]  Francesco Grimaccia,et al.  Development and validation of different hybridization strategies between GA and PSO , 2007, 2007 IEEE Congress on Evolutionary Computation.

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

[22]  Bryan F. Jones,et al.  A Strategy for Using Genetic Algorithms to Automate Branch and Fault-Based Testing , 1998, Comput. J..

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

[24]  Antonia Bertolino,et al.  Automatic Generation of Path Covers Based on the Control Flow Analysis of Computer Programs , 1994, IEEE Trans. Software Eng..

[25]  Moheb R. Girgis Using symbolic execution and data flow criteria to aid test data selection , 1993, Softw. Test. Verification Reliab..

[26]  R. Eberhart,et al.  Comparing inertia weights and constriction factors in particle swarm optimization , 2000, Proceedings of the 2000 Congress on Evolutionary Computation. CEC00 (Cat. No.00TH8512).

[27]  Goldberg,et al.  Genetic algorithms , 1993, Robust Control Systems with Genetic Algorithms.

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

[29]  Qin Zhi-guang Multi-path oriented particle swarm optimization automatic test case generation algorithm , 2012 .

[31]  D. E. Goldberg,et al.  Genetic Algorithms in Search , 1989 .

[32]  M. Clerc,et al.  The swarm and the queen: towards a deterministic and adaptive particle swarm optimization , 1999, Proceedings of the 1999 Congress on Evolutionary Computation-CEC99 (Cat. No. 99TH8406).

[33]  Zhang Yan-li Automatic Generation Method of Test Data for Software Structure Based on PSO , 2008 .

[34]  Moheb R. Girgis Automatic Test Data Generation for Data Flow Testing Using a Genetic Algorithm , 2005, J. Univers. Comput. Sci..

[35]  Joseph P. Poole A Method to Determine a Basis Set of Paths to Perform Program Testing | NIST , 1995 .

[36]  Khushboo Agarwal,et al.  Towards software test data generation using discrete quantum particle swarm optimization , 2010, ISEC.

[37]  Renate Sitte,et al.  Optimizing testing efficiency with error-prone path identification and genetic algorithms , 2004, 2004 Australian Software Engineering Conference. Proceedings..

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