ミューテーション解析
ミューテーション解析(ミューテーションテスト、ミューテーション法)はソフトウェアテストにおける、テストスイートの十分さを測定するための手法である。この手法では、テスト対象のプログラムの一部を機械的に書き換えることで、ミュータントと呼ばれる「人工的な誤りを含むプログラム」を生成する。テストスイートをミュータントに対して実行した結果と、元のプログラムに対して実行した結果が異なれば、テストスイートにはその誤りを発見するだけの鋭敏さが備わっていると考えられるだろう(テストスイートはミュータントをkillすると表現する)。機械的に大量にミュータントを生成したとき、そのうちテストスイートがkill出来るミュータントの割合を測定することで、テストスイートの「欠陥発見能力」の十分さを測定することが出来る。また、kill出来なかったミュータントをkillするように追加のテストケースを作成することで、開発者はテストスイートの欠陥発見能力を高めることが出来ると期待される。ミュータントを作成するためのプログラム書き換え方法をミューテーション操作と呼び、典型的なプログラムの誤り(演算子+(プラス)と-(マイナス)を逆にしてしまうなど)を模倣するものや、有意なテストケース生成を促すものなどが研究されている。ミューテーション解析によって既存のテストケース・テスト用入力データの十分さ・不十分さが測定でき、さらなるテストケースの作成・自動生成などに利用することが出来る。