Mutation testing とは、プログラムに対するテストケースが十分であるかを測定する手法です。テスト対象のプログラムを機械的に変更してバグを埋め込み、テストがちゃんと失敗するかどうかを調べます。バグのあるプログラムをテストするので、テストの失敗はバグを検出できたことを意味します。さまざまなバグを作り出してテストを行い、バグの検出率によってテストケースの十分さを測定します。 PHP で mutation testing を行うフレームワークとして、Infection PHP があります。今回はこれを利用して、PHP のプログラムに対して mutation testing を試してみます。 infection.github.io プログラムの準備 まず準備として、テスト対象のプログラムを実装し、PHPUnit で単体テストを実行できるところまで進めます。composer を利用して環