ミューテーションテストとは?みゅーてーしょんてすと
ミューテーションテストとは、テストケース自体の検出能力を測る技法。演算子や定数を機械的に書き換えた変異体(ミュータント)をプログラムへ仕込み、テストが失敗するかを見る。失敗すればミュータントを「殺した」とみなし、殺せた割合をテストの十分性の指標として扱う。
最終更新:2026-10-06
この語が出る過去問を解く →背景
命令網羅や分岐網羅は「そこを通ったか」しか示さないため、結果を検証していないテストでも100%に届く。壊したときに気づけるかを直接測ることでその盲点を突くのがこの技法で、テスト設計の質を数値で議論できる。外部委託した成果物の検収基準の候補になるのもこのため。
具体例
JavaではPIT(pitest)が条件式の境界や戻り値の書換えを自動で挿入する。書き換えても挙動が変わらない等価ミュータントは原理的に殺せないため、スコアは100%にはならず、その分を差し引いて読む。
試験での引っ掛け
測っている対象がプログラムの品質ではなくテストの品質である点が要点。網羅率とも別物で、分岐網羅を100%満たしていてもアサーションが甘ければミュータントは生き残る。
関連用語
出た過去問
出典:令和7年度 春期 システムアーキテクト試験 午前Ⅱ 問7(IPA)
プログラムPをテストケースの集合であるテストセットTでテストし,テスト結果が全て想定結果と一致することを確認した。そのテストセットTに不具合を検出できる十分な能…
正解:ミューテーションテスト
要点:変更版の検出率でテストの質を測るのがミューテーションテスト
ミューテーションテストは、プログラムに人為的な小さな変更(ミュータント)を加えた版を多数作り、既存のテストセットでそれらの異常を検出できるかを調べる手法である。検出できたミュータントの割合が高いほどテストセットの欠陥検出能力が高いと評価でき、テストの質そのものを測る点が特徴である。
出典・参考
高度試験 午前I(高度午前I 相当)のシラバスの4 開発技術 > 3. 実装・構築 > (8) ソフトウェアユニットのテストに掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。