Open Access Open Access  Restricted Access Subscription or Fee Access

A Framework for Test Data Generation Using Genetic Algorithm

Bindhyachal Kumar Singh, Arun Solanki, Ashish Kumar


Software testing is one of the best methods to increase the confidence of the programmers in terms of correctness, quality and reliability of software. The testing effort is divided into three parts: test case generation, test execution, and test assessment. The goal of software testing is to design a set of minimal number of test data such that it reveals as many faults as possible. This paper proposed a framework for generating efficient test data for path testing using genetic algorithm (GA). The proposed framework accepts a program unit files and then generate a control flow diagram (CFG). The CFG is used for identification of paths in a detailed form with the help of path selection criteria. The identified path is used to select a target path using probability theory. Finally the selected path and execution of genetic algorithm are used to generate the final test data. The proposed framework also provides a facility for evaluation of generated test data to ensure their effectiveness in terms of coverage and efficiency. The proposed framework reduces time, effort and also increases the quality of generated test data. This paper is organized into three parts: part I discuss the applicability of genetic algorithm in software testing, part II describes the proposed framework, part III presents the experimental case study.

Cite this Article
Bindhyachal Kumar Singh, Arun Solanki, Ashish Kumar. A Framework for Test Data Generation Using Genetic Algorithm. Journal of Advanced Database Management & Systems. 2016; 3(1): 18–25p.


Test data generation, cyclomatic complexity, genetic algorithms, path testing, fitness function

Full Text:



Myers GJ. The Art of Software Testing. NY, USA: John Wiley and Sons; 1979.

Miller EF. Introduction to Software Testing Technology. Tutorial: Software Testing & Validation Techniques. 2nd Edn. IEEE Catalogue No. EHO 180-0; 2001; 4–16p.

Whittaker JA. What is Software Testing? And Why is it so Hard? IEEE Software. 2000; 70–79p.

Beizer B. Software Testing Techniques. 2nd Edn. USA: Van Nostrand Reinhold; 1990.

Premal I, Nirpal B, Kale KV. Using Genetic Algorithm for Automated Efficient Software Test Case generation for Path Testing. IEEE Int J Adv Netw Appl. 2011; 2: 911–915p.

Singh BK. Automatic Efficient Test Data Generation Based on Genetic Algorithm for Path Testing. EARDA International Journal of Research in Engineering & Applied Sciences (IJREAS). 2012; 2(2): 1460–1472p. ISSN: 2249-3905, India.

Korel B. Automated Software Test Data Generation. IEEE Trans Softw Eng. 1990; 16(8): 870–879p.

Xibo W, Shenyang SN. Automatic Test Data Generation for Path Testing Using Genetic Algorithms. IEEE Third International Conference on Measuring Technology and Mechatronics Automation (ICMTMA). 2011; 596–599p.

Michael CC, McGraw GE, Schatz MA. Generating Software Test Data by Evolution. IEEE Trans Softw Eng. 2001; 27(12): 1085–1110p.

Mall R. Fundamentals of Software Engineering. 3rd Edn. New Delhi, India: PHI; 2009.

Pakinam NB, Nagwa LB, Hashem M, et al. A Proposed Test Case Generation Technique Based on Activity Diagrams. International Journal of Engineering & Technology IJET-IJENS. 2011; 11(03): 37–57p. 12. Chen1 Y, Zhong Y, Shi1 T, et al. Comparison of Two Fitness Functions for GA-based Path-Oriented Test Data Generation. IEEE Fifth International Conference on Natural Computation. 2008; 566–570p.

Holland JH. Adaptation in Natural and Artificial System. The University of Michigan Press; 2008.

Mahapatra RP, Singh J. Improving the Effectiveness of Software Testing through Test Case Reduction. In Proceedings of World Academy of Science, Engineering and Technology (WASET). 2008; 345–350p.

Edvardsson J. A Survey on Automatic Test Data Generation. In Proceedings of the Second Conference on Computer Science and Engineering in Linkoping (ECSEL). 1999; 21–28p.


  • There are currently no refbacks.

This site has been shifted to