Title :
Evolutionary Unit Testing Of Object-Oriented Software Using A Hybrid Evolutionary Algorithm
Author :
Wappler, Stefan ; Wegener, Joachim
Author_Institution :
Tech. Univ. of Berlin, Berlin
Abstract :
Evolutionary algorithms have been successfully applied in the area of software testing. However, previous approaches in the area of object-oriented testing are limited in terms of test case feasibility due to call dependences and runtime exceptions. In this paper, we present a search-based approach to automatically generating test cases for object-oriented software. It relies on a tree-based representation of method call sequences. Strongly-typed genetic programming is employed to generate method call trees which respect the call dependences among the methods. We apply a new kind of distance-based fitness function that accounts for runtime exceptions. In a case study, the approach outperformed random testing in terms of achieved coverage and it produced test cases achieving full branch coverage for a test object that makes ample use of explicit runtime exceptions.
Keywords :
genetic algorithms; object-oriented programming; program testing; evolutionary unit testing; genetic programming; hybrid evolutionary algorithm; object-oriented software; object-oriented testing; random testing; runtime exceptions; software testing; test case generation; tree-based representation; Application software; Automatic testing; Error correction; Evolutionary computation; Genetic programming; Performance evaluation; Runtime; Software algorithms; Software performance; Software testing;
Conference_Titel :
Evolutionary Computation, 2006. CEC 2006. IEEE Congress on
Conference_Location :
Vancouver, BC
Print_ISBN :
0-7803-9487-9
DOI :
10.1109/CEC.2006.1688400