[Review] Whole Test Suite Generation
The paper presents a Genetic Algorithm(GA) in which whole test suites are evolved with the aim of covering all coverage goals at the same time.
- Whole test suite generation achieves higher coverage than single branch test case generation.
- Whole test suite generation produces smaller test suites than single branch test case generation.
Background:
- Current work only target at one coverage goal at a time.
- Engineers should manually write assertion for every test case, so the length of the test case should be as short as possible(after satisfying the coverage prerequisite).
Implementation:
The GA is as following. The main part of achieving targeting at different goals at the same time is the fitness function. The function is used to score the test suite. You can design your own fitness function, incorporating more coverage goals to realize multi-goal evolvement.
An individual in the population means a single test suite. So, are all test suites.
The most important step is to define crossover and mutation operators. Referring to the thesis for more implementation details.
Evaluation:
- Test a total of 19 open source libraries and programs.
- Explain the parameter decision in this work.
- Test infeasible test goals(Some branches that is impossible to reach).
- Compare with other tools,
- Prove the convergence of the GA theoretically.
[Review] Whole Test Suite Generation