テストコードの品質を客観的な数値で担保しよう 〜Mutation Testingのすすめ〜 by Kanon

YAPC::Hakodate 2024
トーク (20分)

テストコードの品質を客観的な数値で担保しよう 〜Mutation Testingのすすめ〜

samurai_se Kanon samurai_se
5

Mutation Testingとは、プロダクションコードに対するテストコードがどれだけ十分に書かれているか?という観点から、テストコードの品質自体を評価するテスト手法です。

これまでのプロダクションコードの品質のみを担保するのではなく、一歩進んでテストコードの品質をも担保しようという比較的新しい観点です。

これを導入することで何がよいかというと、見かけ上のコードカバレッジが高く、全般的にテストコードが網羅できていたとしても、テストコードが正しく書けているとは限らないのですが、その部分を簡単に検出できるということです。

今回は「Mutation Testingとは?」という詳しいお話から始め、実際にMutation TestingをJavaScript,PHPに導入するまでの道のりや、その際に直面した問題点、その問題点をどうクリアしたか?なども含めてお話しできればと思います。