CAIN-42 CAIN Studio
CAIN-42 Academy

CART · Module 4 of 5 · 12 min

Testing the tests: mutation and hostile suites

A test suite that never fails proves nothing. Mutation testing deliberately breaks the security code (remove a check, flip a comparison) and confirms that some test fails: the mutant is 'killed'.

CAIN keeps hostile mutation suites for its assurance code. A surviving mutant means a guarantee nobody is actually checking.

Bound resource use when running mutants on shared hosts; mutation runs can be heavy.

Key points

  • Break the code on purpose; a test must fail.
  • Surviving mutant = unchecked guarantee.
  • Bound memory/CPU on shared hosts.

In the CAIN-42 codebase

  • cain/argus — MUT-ARGUS-* mutations in the hostile suite

Practice check

Practice 1 · choose one

A 'killed' mutant means…

Practice 2 · true or false

“A surviving mutant indicates a gap in testing.”