Using evolutionary algorithms for the unit testing of object-oriented software

Stefan Wappler, Frank Lammermann
2005 Proceedings of the 2005 conference on Genetic and evolutionary computation - GECCO '05  
As the paradigm of object orientation becomes more and more important for modern IT development projects, the demand for an automated test case generation to dynamically test object-oriented software increases. While searchbased test case generation strategies, such as evolutionary testing, are well researched for procedural software, relatively little research has been done in the area of evolutionary object-oriented software testing. This paper presents an approach with which to apply
more » ... ch to apply evolutionary algorithms for the automatic generation of test cases for the white-box testing of object-oriented software. Test cases for testing object-oriented software include test programs which create and manipulate objects in order to achieve a certain test goal. Strategies for the encoding of test cases to evolvable data structures as well as ideas about how the objective functions could allow for a sophisticated evaluation are proposed. It is expected that the ideas herein can be adapted for other unit testing methods as well. The approach has been implemented by a prototype for empirical validation. In experiments with this prototype, evolutionary testing outperformed random testing. Evolutionary algorithms could be successfully applied for the white-box testing of objectoriented software.
doi:10.1145/1068009.1068187 dblp:conf/gecco/WapplerL05 fatcat:op6mcvkwnfhabiuzfdxz7c6vtu