ミューテーション解析
ミューテーション解析は、プログラムを機械的に書き換えるミューテーション操作により、誤りを含んだプログラム(ミュータント)を作成する。テストスイートがその誤りを検出出来るかどうかが、テストスイートの十分さの指標として用いられる。
以下の様な単純なプログラムと、それに対するテスト用の入出力を例として考える。
上記のプログラムに対して+(プラス)演算子を-(マイナス)演算子に置き換えるミューテーション操作を適用すると、以下の様なミュータントを得る。
ここで、上で示したテスト用データ1ではミュータントをkillすることが出来ない。従ってテストケースが不十分であるとされ、テストケースを追加するべきであるとわかる。この例では、例えば(a,b) = (-1, 2)のとき出力がtrueであることを確認するようなテストケースを追加すれば、ミュータントをkill出来る。