|
Notes > Software Analysis / Testing > Mutation Testing
|
Mutation testing involves changing or mutating program code in order to simulate potential faults. Test data is then used to see if faults can be detected. It is hoped that faults are detected as this demonstrates a differentiation between the original program and its "mutant". This mutant version of the code can then be "killed" if a fault is detected as expected.
Mutant versions of code involve very small changes and test data is produced in order to show the difference. First-order (1st-order) mutants are mutants which contain a single change. In practicality, first-order mutants are the only mutants used extensively in testing. Using Second-order mutants (and above) increases the number of mutants to be produced dramatically.
One problem with mutation testing is that it can be difficult to kill some mutants. Also, every mutant needs to be executed after being compiled. This can be very time consuming especially if there are a lot of them. Sometimes, it is appropriate to just use a representative subset of all the mutants. This is known as selective mutation.
Search for "Mutation Testing" on:
Google |
Kelkoo |
Amazon |
eBay (UK) |
eBay (US)
Search for "Mutation Testing" on the rest of Computing Students: Mutation Testing
|
|
|