The level of confidence in a software component is often linked to the quality of its test cases. This quality can in turn be evaluated with mutation analysis: faulty components (mutants) are systematically generated to check the proportion of mutants detected ("killed") by the test cases. But while the generation of basic test cases set easy, improving its quality may require prohibitive effort. This paper focuses on the issue of automating the test optimization. We looked at genetic algorithms to solve this problem and modeled it as follows: a test case can be considered as a predator while a mutant program analogous to a prey. The aim of the selection process is generate test cases able to kill as many mutants as possible. To overcome disappointing experimentation results on the studied .Net system, we propose a slight variation on this idea, no longer at the "animal" level (lions killing zebras) but at the bacteriological level. The bacteriological level indeed better reflects the test case optimization issue: it introduces of a memorization function and the suppresses the crossover operator. We describe this model and show how it behaves on the case study.
Citation:
Benoit Baudry, Franck Fleurey, Jean-Marc Jézéquel, Yves Le Traon, "Genes and Bacteria for Automatic Test Cases Optimization in the .NET Environment," issre, pp.195, 13th International Symposium on Software Reliability Engineering (ISSRE'02), 2002