Mutation testing (or Mutation analysis) is a method of software testing, which involves modifying program's source code or byte code in small ways.[1] In short, any tests which pass after code has been mutated are defective. These, so-called mutations, are based on well-defined mutation operators that either mimic typical programming errors (such as using the wrong operator or variable name) or force the creation of valuable tests (such as driving each expression to zero). The purpose is to help the tester develop effective tests or locate weaknesses in the test data used for the program or in sections of the code that are seldom or never accessed during execution. |