Mutation testing

Mutation testing (or mutation analysis or program mutation) is used to design new software tests and evaluate the quality of existing software tests. Mutation testing involves modifying a program in small ways.[1] Each mutated version is called a mutant and tests detect and reject mutants by causing the behaviour of the original version to differ from the mutant. This is called killing the mutant. Test suites are measured by the percentage of mutants that they kill. New tests can be designed to kill additional mutants. Mutants 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 dividing each expression by 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. Mutation testing is a form of white-box testing.[2][3]

  1. ^ Cite error: The named reference DLS1978 was invoked but never defined (see the help page).
  2. ^ Ostrand, Thomas (2002), "White-Box Testing", Encyclopedia of Software Engineering, American Cancer Society, doi:10.1002/0471028959.sof378, ISBN 978-0-471-02895-6, retrieved 2021-03-16
  3. ^ Misra, S. (2003). "Evaluating four white-box test coverage methodologies". CCECE 2003 - Canadian Conference on Electrical and Computer Engineering. Toward a Caring and Humane Technology (Cat. No.03CH37436). Vol. 3. Montreal, Que., Canada: IEEE. pp. 1739–1742. doi:10.1109/CCECE.2003.1226246. ISBN 978-0-7803-7781-3. S2CID 62549502.

From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Tubidy