Genetic programming: on the programming of computers by means of natural selection
Genetic programming: on the programming of computers by means of natural selection
Evolutionary testing of classes
ISSTA '04 Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis
Using evolutionary algorithms for the unit testing of object-oriented software
GECCO '05 Proceedings of the 7th annual conference on Genetic and evolutionary computation
Search-based software test data generation: a survey: Research Articles
Software Testing, Verification & Reliability
Evolutionary unit testing of object-oriented software using strongly-typed genetic programming
Proceedings of the 8th annual conference on Genetic and evolutionary computation
The Current State and Future of Search Based Software Engineering
FOSE '07 2007 Future of Software Engineering
Evolutionary software engineering, a review
Applied Soft Computing
The state problem for evolutionary testing
GECCO'03 Proceedings of the 2003 international conference on Genetic and evolutionary computation: PartII
Proceedings of the 10th annual conference companion on Genetic and evolutionary computation
Proceedings of the 11th Annual conference on Genetic and evolutionary computation
Information and Software Technology
Hi-index | 0.00 |
Evolutionary Testing is an emerging methodology for automatically producing high quality test data. The focus of our on-going work is precisely on generating test data for the structural unit-testing of object-oriented Java programs. The primary objective is that of efficiently guiding the search process towards the definition of a test set that achieves full structural coverage of the test object. However, the state problem of object-oriented programs requires specifying carefully fine-tuned methodologies that promote the traversal of problematic structures and difficult control-flow paths - which often involves the generation of complex and intricate test cases, that define elaborate state scenarios. This paper proposes a methodology for evaluating the quality of both feasible and unfeasible test cases - i.e., those that are effectively completed and terminate with a call to the method under test, and those that abort prematurely because a runtime exception is thrown during test case execution. With our approach, unfeasible test cases are considered at certain stages of the evolutionary search, promoting diversity and enhancing the possibility of achieving full coverage.