69% Code Coverage Masked 0% Mutation Score in Email Rules Engine
A developer running mutation testing on the intent-mail repository discovered a stark gap between two quality metrics: line coverage reported 69.09% while mutation testing scored only 24.88%. The project's core rules engine, responsible for mutating user email, achieved 0% mutation score despite contributing to overall line coverage through end-to-end tests. All 301 mutants in the engine file survived because no unit tests asserted on its internal decision logic — only that the code executed, not that it behaved correctly. The finding highlights a fundamental difference between code coverage, which tracks line execution, and mutation testing, which verifies that assertions actually pin down a line's behavior. The team configured Stryker in report-only mode initially, avoiding a hard CI block, to establish a baseline before gradually making the gate enforceable.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.
Discussion (0)
Log in to join the discussion and vote.
Log in