• Software Testing Dictionary
  • Home

Mutation Testing


Advertisements

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


Video

Software Engineering Basics

80 Lectures 7.5 hours

Arnab Chakraborty

Video

The Perfect Open Broadcaster Software Recording Studio

10 Lectures 1 hours

Zach Miller

Video

SEO Keyword Research Made Easy + FREE Research Software

17 Lectures 1.5 hours

Zach Miller

Video

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

60 Lectures 5 hours

John Shea

Video

Software development in Python: A practical approach

99 Lectures 10 hours

Daniel IT

Video

Software Development Processes (SDLC Models)

62 Lectures 5 hours

GlobalETraining

Advertisements