Mutation Score - CI/CD用語集の定義
mutation scoreとは、注入されたコードの変異(意図的なバグ)のうち、テストスイートが検出した割合で、テストがどれだけコードを実行したかではなく、どれだけ欠陥を捉えられるかを測定します。
mutation testingの仕組み
StrykerやPITのようなツールは演算子を反転させ(>を>=に)、statementを削除し、定数を変更してからテストを再実行します。"killed"された変異はテストが失敗して捉えたことを意味し、"survived"した変異は抜け穴を意味します。
なぜカバレッジより優れるのか
コードカバレッジは行が実行されたことを示しますが、mutation scoreはそれらが実際にアサーションされたことを示します。高いカバレッジと低いmutation scoreは、コードを実行するが何も検証していないテストを露呈します。
関連ガイド
Code Coverage Threshold - CI/CD Glossary DefinitionCode Coverage Threshold: A code coverage threshold is a minimum coverage percentage the test suite must meet,…
Branch Coverage - CI/CD Glossary DefinitionBranch Coverage: Branch coverage measures the percentage of decision branches (each side of every `if`, `swit…
Property-Based Test - CI/CD Glossary DefinitionProperty-Based Test: A property-based test checks that a property holds for many automatically generated inpu…