Wednesday, May 27, 2009

What is Mutation Testing?

Mutation Testing

Mutation analysis induces faults into the software by creating many versions of the software, each containing one fault. Test cases are used to execute these faulty programs with the goal of distinguishing the faulty programs from the original programs. Faulty programs are the mutants of the original, and a mutant is killed by distinguishing the output of the mutant from that of the original program. A test set that kills all the mutants is said to be adequate relative to the mutants. Mutation testing is a way to measure the quality of the test cases and the actual testing of the software is a side effect. [Verification, validation and testing in software engineering by Aristides Dasso, Ana Funes]

Mutation Testing - useful resources

What is Mutation Testing?, Approaches To Mutation Testing, Benefits of Mutation Testing etc.
Mutation Testing

Efficient Mutation Testing by Checking Invariant Violations - Mutation testing measures the adequacy of a test suite by seeding artificial defects (mutations) into a program. If a mutation is not detected by the test suite, this usually means that the test suite is not adequate...
Efficient Mutation Testing

Basics of Mutation Testing - The Approach, Mutation Operators, Mutation Testing tools.
Basics of Mutation Testing