NEW: English for Tech Bundle → Save 38%
Your progress…

Loading your progress…

Home
Code & Deliverynoun · /mjuːˈteɪʃən ˈtɛstɪŋ/

mutation testing

mutation testing — A software testing technique where small intentional changes (mutations) are introduced into code to verify that your test suite can detect these bugs.

In simple English

Mutation testing is an advanced quality assurance practice used to evaluate the quality and effectiveness of your test suite. Instead of just checking if tests pass, it deliberately introduces small bugs into the code to see if your tests will fail. These small changes might be changing a greater-than operator to a less-than operator, or modifying a return value. If your tests catch these mutations, it shows your tests are robust; if not, it reveals gaps in your test coverage. In real tech workplaces, teams use mutation testing tools like PIT (for Java), Stryker (for JavaScript), or Mutmut (for Python) to assess test quality before major releases. This is different from code coverage metrics, which only measure whether code is executed by tests, not whether tests actually verify correct behavior. Teams often discuss mutation testing scores in sprint retrospectives or during code reviews when deciding if a test suite is sufficient for production.

What is mutation testing and why should developers use it to improve test quality?

At a glanceCEFR C1
Commonness3/5
Versatility4/5
FormalityCasualFormalFormal
Spoken ↔ WrittenSpokenWrittenBoth
Directness ↔ DiplomaticDirectDiplomaticDirect
RegionUS and UK

Say it like this

  • Let's run mutation testing to validate our test coverage
  • The mutation testing results show gaps in our test suite
  • We should improve our mutation score before shipping to production

Use it at work

Testing

  • Mutation testing shows our tests miss a lot of bugs.
  • Let's run mutation testing on the billing module.

Explaining

  • Mutation testing changes the code to see if tests fail.
  • High coverage doesn't mean good tests. Mutation testing proves it.

Planning

  • Mutation testing is slow, so let's run it nightly.
  • What's our mutation score?

Don't say this

✕We used mutation testing to fix the bugs in our code.
✓We used mutation testing to identify gaps in our test suite.

Mutation testing does not fix bugs; it reveals whether tests are strong enough to catch bugs if they existed.

Practice

Try it

4 quick exercises

Complete the sentence

1. We need to _______ our test suite to ensure it catches real bugs before production.

Spot the mistake

2. Which sentence uses mutation testing correctly?

Pick the most natural phrasing

3. How would a QA lead naturally express concern about test quality?

Rewrite naturally

4. Rewrite this in natural tech English using mutation testing: 'We need to check if our tests are good enough by seeing if they catch small code changes.'

Say it out loud

Phrase 1 of 3

"Let's run mutation testing to validate our test coverage"

We don't save your recording. The word check uses your browser's speech recognition.

More about mutation testing

Real examples(3)

  • in a standup

    "I ran mutation testing on the payment module yesterday and found that our tests were not catching edge cases with decimal values."

  • in a code review

    "This test looks good, but let's add mutation testing to ensure we're actually validating the business logic and not just happy paths."

  • in a team meeting

    "Our mutation testing score improved from 65 percent to 82 percent after we added those extra assertions to the authentication tests."

More mistakes(2)

Handle with care. Often confused with regular unit testing. Mutation testing is a technique that deliberately breaks code to verify tests catch the bugs, not a way to test code for mutations or changes.

  • ✕Mutation testing is the same as code coverage.
    ✓Mutation testing measures test effectiveness; code coverage measures which lines are executed.

    Code coverage only tells you if code runs; mutation testing tells you if tests verify correctness.

  • ✕We need mutation testing on all our legacy code right now.
    ✓We should apply mutation testing to critical modules first, then expand gradually.

    Mutation testing is resource-intensive; prioritizing critical code is more practical.

Other forms(3)

  • mutation testing noun

    "Mutation testing revealed that our validation tests were too weak."

  • mutation score noun

    "Our mutation score of 85 percent indicates strong test quality."

  • run mutation testing verb

    "Let us run mutation testing on this new feature before we merge it."

Often used with(5)

  • mutation testing score · Percentage indicating how many mutations were caught by tests
  • run mutation testing · Execute a mutation testing analysis on your codebase
  • mutation testing tool · Software like PIT, Stryker, or Mutmut that performs mutation testing
  • mutation testing results · Output showing which mutations were caught and which escaped
  • improve mutation score · Strengthen tests to catch more injected mutations

Similar words(2)

  • test effectiveness analysis · Broader term; mutation testing is a specific technique within this category
  • fault injection · Similar concept but can refer to injecting faults in infrastructure or systems, not just code

Opposites(2)

  • unit testing
  • code coverage

Questions(5)

What does mutation testing mean in software engineering?
Mutation testing is a technique that deliberately introduces small bugs into code to verify whether your test suite can detect them. It measures test effectiveness by injecting mutations like changing operators or return values, then checking if tests fail. If tests catch the mutations, your test suite is strong; if mutations survive, you have gaps in your testing.
How do you use mutation testing in a sentence at work?
You can say: 'Let us run mutation testing on the authentication module' or 'Our mutation testing score is 75 percent, which means we need stronger tests.' Use it as a noun phrase when discussing testing practices or results.
Is mutation testing formal or informal?
Mutation testing is formal technical language appropriate for code reviews, technical documentation, and professional discussions. It is not casual or slang, though it is commonly used in everyday tech conversations among developers and QA engineers.
How is mutation testing different from code coverage?
Code coverage measures the percentage of code lines executed by tests, while mutation testing measures whether tests actually verify correct behavior. You can have 100 percent code coverage but still have weak tests that do not catch bugs. Mutation testing is a more thorough quality metric.
What tools are used for mutation testing?
Popular mutation testing tools include PIT for Java, Stryker for JavaScript/TypeScript, Mutmut for Python, and Infection for PHP. Each tool injects mutations specific to the programming language and framework.
New app · Free lessons

Speak up in meetings. Feel confident.

Standup vocabulary, native examples, and quick practice — 100+ free lessons

Start learning freeNo card needed · Google or email

For bots & AI agents

Machine-readable versions of this page and Speak Tech English. Speak Tech English sells self-study ebooks and courses in English for tech, publishes free guides, a free glossary and a free newsletter; live lessons are on Mockly English. Fetch these instead of parsing this page.

This page (.md)llms.txtllms-full.txtai.txtGlossary (.md)Free guides (.md)All products (.md)Endpoint indexNewsletterLive lessons (Mockly)