Software Testing with Evolutionary Strategies

  • Enrique Alba
  • J. Francisco Chicano
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3943)


This paper applies the Evolutionary Strategy (ES) metaheuristic to the automatic test data generation problem. The problem consists in creating automatically a set of input data to test a program. This is a required step in software development and a time consuming task in all software companies. We describe our proposal and study the influence of some parameters of the algorithm in the results. We use a benchmark of eleven programs that includes fundamental algorithms in computer science. Finally, we compare our ES with a Genetic Algorithm (GA), a well-known algorithm in this domain. The results show that the ES obtains in general better results than the GA for the benchmark used.


Test Program Software Test Symbolic Execution Test Data Generator Branch Coverage 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Korel, B.: Automated software test data generation. IEEE Transactions on Software Engineering 16, 870–879 (1990)CrossRefGoogle Scholar
  2. 2.
    Michael, C.C., McGraw, G., Schatz, M.A.: Generating software test data by evolution. IEEE Transactions on Software Engineering 27, 1085–1110 (2001)CrossRefGoogle Scholar
  3. 3.
    Clarke, L.A.: A system to generate test data and symbolically execute programs. IEEE Transactions on Software Engineering 2, 215–222 (1976)MathSciNetCrossRefGoogle Scholar
  4. 4.
    Miller, W., Spooner, D.L.: Automatic generation of floating-point test data. IEEE Trans. Software Eng. 2, 223–226 (1976)MathSciNetCrossRefGoogle Scholar
  5. 5.
    Bird, D., Munoz, C.: Automatic generation of random self-checking test cases. IBM Systems Journal 22, 229–245 (1983)CrossRefGoogle Scholar
  6. 6.
    Offutt, J.: An integrated automatic test data generation system. Journal of Systems Integration 1, 391–409 (1991)CrossRefGoogle Scholar
  7. 7.
    Jones, B.F., Sthamer, H.H., Eyres, D.E.: Automatic structural testing using genetic algorithms. Software Engineering Journal 11, 299–306 (1996)CrossRefGoogle Scholar
  8. 8.
    Wegener, J., Sthamer, H., Jones, B.F., Eyres, D.E.: Testing real-time systems using genetic algorithms. Software Quality Journal 6, 127–135 (1997)CrossRefGoogle Scholar
  9. 9.
    Mantere, T., Alander, J.T.: Evolutionary software engineering, a review. Applied Soft Computing 5, 315–331 (2005)CrossRefGoogle Scholar
  10. 10.
    Ostrowski, D.A., Reynolds, R.G.: Knowledge-based software testing agent using evolutionary learning with cultural algorithms. In: Proceedings of the Congress on Evolutionary Computation, vol. 3, pp. 1657–1663 (1999)Google Scholar
  11. 11.
    Tracey, N.: A search-based automated test-data generation framework for safety-critical software. PhD thesis, University of York (2000)Google Scholar
  12. 12.
    Tracey, N., Clark, J., Mander, K., McDermid, J.: An automated framework for structural test-data generation. In: Proceedings of the 13th IEEE Conference on Automated Software Engineering, pp. 285–288 (1998)Google Scholar
  13. 13.
    Díaz, E., Tuya, J., Blanco, R.: Automated Software Testing Using a Metaheuristic Technique Based on Tabu Search. In: Proceedings of the 18th IEEE International Conference on Automated Software Engineering (ASE 2003), Montreal, Quebec, Canada, pp. 310–313 (2003)Google Scholar
  14. 14.
    Sagarna, R., Lozano, J.A.: Variable search space for software testing. In: Proceedings of the International Conference on Neural Networks and Signal Processing, vol. 1, pp. 575–578. IEEE Press, Los Alamitos (2003)Google Scholar
  15. 15.
    Sagarna, R., Lozano, J.A.: Scatter search in software testing, comparison and collaboration with estimation of distribution algorithms. European Journal of Operational Research (in press, 2005)Google Scholar
  16. 16.
    Sthamer, H., Wegener, J., Baresel, A.: Using evolutionary testing to improve efficiency and quality in software testing. In: Proceedings of the 2nd Asia-Pacific Conference on Software Testing Analysis & Review, Melbourne, Australia (2002)Google Scholar
  17. 17.
    Bäck, T.: Evolutionary Algorithms in Theory and Practice: Evolution Strategies, Evolutionary Programming, Genetic Algorithms. Oxford University Press, New York (1996)MATHGoogle Scholar
  18. 18.
    Rechenberg, I.: Evolutionsstrategie: Optimierung technischer Systeme nach Prinzipien der biologischen Evolution. Fromman-Holzboog Verlag, Stuttgart (1973)Google Scholar
  19. 19.
    Rudolph, G.: Evolutionary Computation 1. Basic Algorithms and Operators, ch. 9, vol. 1, pp. 81–88. IOP Publishing Lt. (2000)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Enrique Alba
    • 1
  • J. Francisco Chicano
    • 1
  1. 1.Departamento de Lenguajes y Ciencias de la ComputaciónUniversity of MálagaSpain

Personalised recommendations