テストケースの欠陥検出能力を評価するミューテーションテスト

ミューテーションテスト(Mutation Testing:変異テスト)は、作成されたテストスイート(テストケース群)の欠陥検出能力・網羅性を客観的に評価するためのテスト手法です。元のプログラムに演算子の置換や定数の変更などの意図的な軽微な変異(ミューテーション)を加えた複数の変異体プログラム(ミュータント:$P_1 \sim P_m$)を作成し、既存のテストセットを実行します。テストが失敗して変異の存在を検出できた(ミュータントを「殺害」できた)割合(ミューテーションスコア:$E = \frac{N}{m}$)が高いほど、そのテストセットの欠陥検出力・信頼性が高いと評価されます。 事前の詳細なテストケースを作成せず、テスターの経験や直感、テスト実行中の気づきに基づいて設計と実行を同時並行で行うブラックボックステスト手法です。 入力条件のドメイン(境界値や同値クラス)同士の相互作用や境界の組み合わせに着目してテストケースを設計する手法です。 システム要件定義で作成されたユースケースやアクターのシナリオに基づいて、業務フロー全体の妥当性を検証するテスト手法です。

プログラムPをテストケースの集合であるテストセットTでテストし,テスト結果が全て想定結果と一致することを確認した。そのテストセットTに不具合を検出できる十分な能力があるかどうかを評価するために,次の手順でテストを行った。このテストを何と呼ぶか。

〔手順〕 (1) プログラムPのステートメントの1か所に,例えば (a+b>1)(a + b > 1) を (a+b>0)(a + b > 0) にするというような,軽微な変更を行ったプログラム P1,P2,P3,…,PmP_1, P_2, P_3, \dots, P_m を作成する。この mm 個のプログラムの変更内容は,全て異なっている。 (2) テストセットTを用いて全てのプログラム P1,P2,P3,…,PmP_1, P_2, P_3, \dots, P_m をテストする。 (3) P1P_1 から PmP_m までの mm 個のプログラムのうち,プログラムPと異なるテスト結果となったプログラムの総数をNとし,次式によって,テストセットTの有効性の指標Eを算出する。

E=NmE = \frac{N}{m}

出典令和7年度 春期 システムアーキテクト試験 午前Ⅱ 問7
ア
探索的テスト
イ
ドメイン分析テスト
ウ
ミューテーションテスト
エ
ユースケーステスト