こんにちは! 今月から 2 名のエンジニアの仲間が増え、歓迎のために東京に来ている @riaf です。暑くて死にそう!
本日もまた社内勉強会のレポートでございます。
いま PHP 界隈では、mutation testing が熱い! というタイトルで id:sasezaki 先生がお話してくれました。
というのも、近年カンファレンスでも mutation testing がテーマになっている話も増えているということや、数年前にWEB+DB PRESS で PIT が紹介されるなど、界隈で話題になっているという流れがあるそうですが...
さて、ミューテーション解析って何なんでしょう。ミューテーション解析 (mutation testing) とは、テストスイートの完全性を判定する手法の一つで、簡単にいうと「わざとバグがある状態のプログラムに変更して、そのコードに対するテストがちゃんと失敗するかどうか」を確認することで、テストが足りているかを測定しようということですね。
この辺り、ミューテーション解析というかミューテーションテストというか、Mutation analysis というか Mutation testing というかでやや異なる意味を持つみたいですが、今回のお話では「ミューテーション解析 / Mutation testing」が広く認識されているということで、まあ、詳しい話がきになる方はぜひ調べてみていただくということで何卒…。
では早速、PHP におけるミューテーション解析を試していきましょう。 今回使用するのは Infection - Mutation Testing framework というツールです。
続きを読む