Using Evolutionary Mutation Testing to improve the quality of test suites
Metadata
Show full item recordDate
2017-06Department
Ingeniería InformáticaSource
2017 IEEE Congress on Evolutionary Computation (CEC), San Sebastian, 2017, pp. 596-603.Abstract
Mutation testing is a method used to assess and improve the fault detection capability of a test suite by creating faulty versions, called mutants, of the system under test. Evolutionary Mutation Testing (EMT), like selective mutation or mutant sampling, was proposed to reduce the computational cost, which is a major concern when applying mutation testing. This technique implements an evolutionary algorithm to produce a reduced subset of mutants but with a high proportion of mutants that can help the tester derive new test cases (strong mutants). In this paper, we go a step further in estimating the ability of this technique to induce the generation of test cases. Instead of measuring the percentage of strong mutants within the subset of generated mutants, we compute how much the test suite is actually improved thanks to those mutants. In our experiments, we have compared the extent to which EMT and the random selection of mutants help to find missing test cases in C++ object-oriented systems. We can conclude from our results that the percentage of mutants generated with EMT is lower than with the random strategy to obtain a test suite of the same size and that the technique scales better for complex programs.
Subjects
Mutation testing; evolutionary computation; object-oriented programming; C++Collections
- Artículos Científicos [12009]
- Articulos Científicos Ing. Inf. [313]






