Genetic Algorithm-Based Approach for Adequate Test Data Generation

Conference paper
Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 243)

Abstract

Software testing is an important phase in software development. It involves two activities, test data generation and test execution. Test data generation is a NP-complete problem as we have to find a lot of test data to validate our system. Also those test data should be adequate in nature. In this paper, we present a method to generate test data automatically from initial test data and then testing these test data against the software under test (SUT) for adequacy criteria. First, we generate a test data set randomly. Then, we apply genetic algorithm to find a better test data set iteratively. We stop at the position where our test data set satisfies the stopping condition or it completed maximum iterations. We test the generated test data against the software to check its adequacy. The test data generated by our approach are more capable of finding the synchronization and loop faults. A case study is given to illustrate our approach.

Keywords

Software testing Test data NP-Complete Genetic algorithm 

References

  1. 1.
    Malhotra, R., Garg, M.: An adequacy based test data generation technique using genetic algorithms. J. Inf. Process. Syst. 7(2), 363–384 (2011)Google Scholar
  2. 2.
    Sommerville I.: Software Engineering, 7th edn., Addison-wesleyGoogle Scholar
  3. 3.
    Mathur, A.P.: Foundation of Software Testing, 1st edn. Pearson Education, New Jersey (2008)Google Scholar
  4. 4.
    Mall, R.: Fundamentals of Software Engineering, 3rd edn. PHI, New Delhi (2009)Google Scholar
  5. 5.
    Goldberg, D.E.: Genetic Algorithms: in Search, Optimization and Machine Learning. Addison Wesley, Boston (1989)MATHGoogle Scholar
  6. 6.
    Gupta, N.K., Rohil, M.K.: Using Genetic algorithm for unit testing of object oriented software. First International Conference on Emerging trends in Engineering and technology, IEEE, 2008Google Scholar
  7. 7.
    Emanuelle, F., Menezes, R., Braga, M.: Using Genetic algorithms for test plans for functional testing. In: Proceeding of 44th annual southeast regional conference, ACM, pp. 140–145, 2006Google Scholar
  8. 8.
    Srivastava, P.R., Kim, T.H.: Application of genetic algorithm in software testing. Int. J. Softw. Eng. Appl. 3(4), 87–95 (2009)Google Scholar
  9. 9.
    Hermadi, I., Ahmed, M.A.: Genetic algorithm based test data generator. Congr. Evolut. Comput. 1, 85–91 (2003)Google Scholar
  10. 10.
    Berndt, D.J., Fisher, J., Johnson, L., Pinglikar, J., Watkins, A.: Breeding software test cases with genetic algorithms. In: Proceedings of the 36th Annual Hawaii International Conference on System Science, Hawaii, Jan, 2003Google Scholar
  11. 11.
    Lin, J.C., Yeh, P.L.: Using genetic algorithms for test case generation in path testing. In: Proceedings of the 9th Asian Test Symposium, Taiwan, Dec, 2000Google Scholar
  12. 12.
    Baresal, A., Sthamer, H., Schmidt, M.: Fitness function design to improve evolutionary testing. In: Proceedings of the genetic and evolutionary computation conference, 2002Google Scholar
  13. 13.
    Rajappa, V., Biradar, A., Panda, S.: Efficient software test case generation using genetic algorithm based graph theory. First International Conference on Emerging Trends in Engineering and Technology, pp. 298–303, 2008Google Scholar
  14. 14.
    Sabharwal, S., Kumar, R., Sharma, C.: Applying genetic algorithm for prioritization of test case scenarios derived from UML diagrams. Int. J. Comput. Sci. 8(3), 433–444 (2011)Google Scholar

Copyright information

© Springer India 2014

Authors and Affiliations

  1. 1.Department of Computer Science and EngineeringNational Institute of TechnologyRourkelaIndia

Personalised recommendations