Skip to content
Latchkey

Mutation Score - CI/CD用語集の定義

mutation scoreとは、注入されたコードの変異(意図的なバグ)のうち、テストスイートが検出した割合で、テストがどれだけコードを実行したかではなく、どれだけ欠陥を捉えられるかを測定します。

mutation testingの仕組み

StrykerやPITのようなツールは演算子を反転させ(>>=に)、statementを削除し、定数を変更してからテストを再実行します。"killed"された変異はテストが失敗して捉えたことを意味し、"survived"した変異は抜け穴を意味します。

なぜカバレッジより優れるのか

コードカバレッジは行が実行されたことを示しますが、mutation scoreはそれらが実際にアサーションされたことを示します。高いカバレッジと低いmutation scoreは、コードを実行するが何も検証していないテストを露呈します。

関連ガイド