SO What is Mutation Testing ?
Introducing the known defects in the software to check the effectiveness of testing process.
Mutation means a change in a program. Programmers are performing changes in tested program to estimate completeness and correctness of that program testing .
Mutation testing facilitates the following advantages:
- Program code fault identification
- Effective test case development
- Detection of loopholes in test data
- Improved software program quality
- Elimination of code ambiguity
Disadvantages of mutation testing include:
- Difficult implementation of complex mutations
- Expensive and time-consuming
- Requires skilled testers with programming knowledge
Mutation testing is a method of software testing in which program or source code is deliberately manipulated, followed by suite of testing against the mutated code. The mutations introduced to source code are designed to imitate common programming errors. A good unit test suite typically detects the program mutations and fails automatically.
Mutation testing is used on many different platforms, including Java, C++, C# and Ruby.