• Software Testing Dictionary
  • Home

Mutation Testing


What is Mutation Testing?

Mutation testing is a structural testing technique, which uses the structure of the code to guide the testing process. On a very high level, it is the process of rewriting the source code in small ways in order to remove the redundancies in the source code

These ambiguities might cause failures in the software if not fixed and can easily pass through testing phase undetected.

Mutation Testing Benefits:

Following benefits are experienced, if mutation testing is adopted:

  • It brings a whole new kind of errors to the developer's attention.

  • It is the most powerful method to detect hidden defects, which might be impossible to identify using the conventional testing techniques.

  • Tools such as Insure++ help us to find defects in the code using the state-of-the-art.

  • Increased customer satisfaction index as the product would be less buggy.

  • Debugging and Maintaining the product would be more easier than ever.

Mutation Testing Types:

  • Value Mutations: An attempt to change the values to detect errors in the programs. We usually change one value to a much larger value or one value to a much smaller value. The most common strategy is to change the constants.

  • Decision Mutations: The decisions/conditions are changed to check for the design errors. Typically, one changes the arithmetic operators to locate the defects and also we can consider mutating all relational operators and logical operators (AND, OR , NOT)

  • Statement Mutations: Changes done to the statements by deleting or duplicating the line which might arise when a developer is copy pasting the code from somewhere else.

Useful Video Courses


Software Engineering Basics

80 Lectures 7.5 hours

Arnab Chakraborty


The Perfect Open Broadcaster Software Recording Studio

10 Lectures 1 hours

Zach Miller


SEO Keyword Research Made Easy + FREE Research Software

17 Lectures 1.5 hours

Zach Miller


How To Startup Your Own SaaS (Software As a Service) Company

60 Lectures 5 hours

John Shea


Software development in Python: A practical approach

99 Lectures 10 hours

Daniel IT


Software Development Processes (SDLC Models)

62 Lectures 5 hours