BACTERIO Mutation Test System is a tool for testing complete Java systems. It generates copies of the application and introduces one or more faults in each one. Then, a test suite consisting of JUnit or UISpec test cases can be executed against the original and the mutants versions. When a test suite doen't find faults in the original system but it does find the seeded faults in the mutant versions, it can be assured that the system has been successfully tested, since the test suite is complete, it doesn't detect faults on the original system, and it kills a high percentage of mutants.
The next figure sums up the mutation-based testing process with the tool BACTERIO Mutation test System:
The testing process with BACTERIO Mutation Test System comprises the following steps:
1. Mutant generation
In this first step, BACTERIO Mutation Test System generates faulty copies (mutants) of the classes of the system under test. In order to do that, it provides several mutation operators: arithmetic operator replacement, parameter swapping, operator increase, operator decrease, etc.
2. Mutant combination
In this second step, BACTERIO Mutation Test provides three algorithms (one mutant per version, using each mutant at least once, and using every pair of mutants) to combine the mutants and generate faulty versions.
3. Test Case Execution
In the last step, BACTERIO Mutation Test System executes the test cases against the different faulty versions. Then, it provides the percentage of killed mutants, and, therefore, the coverage reached with the designed test suite.