2025年(令和7年) 春期 システムアーキテクト 午前 問7

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

[手順]

 @  プログラムPのステートメントの1か所に、例えば(a + b>1)を(a + b>0)にするというような、軽微な変更を行ったプログラムP1、P2、P3、…、Pmを作成する。 このm個のプログラムの変更内容は、全て異なっている。
 A  テストセットTを用いて全てのプログラムP1、P2、P3、…、Pmをテストする。
 B  P1からPmまでのm個のプログラムのうち、プログラムPをと異なるテスト結果となったプログラムの総数をNとし、次式によってテストセットTの有効性の指標Eを算出する。
 

 ア  探索的テスト  イ  ドメイン分析テスト
 ウ  ミューテーションテスト  エ  ユースケーステスト


答え ウ


解説

 ア  探索的テストは、テスト担当者が、ソフトウェアを動作させてその動きを学習しながら、自身の経験に基づいて以降のテストを動的に計画して進めるテスト方法です。(×)
 イ  ドメイン分析テストは、複数の条件式が存在する場合に、条件漏れを防ぐためのテスト方法です。 (×)
 ウ  ミューテーションテストは、プログラムコードに意図的にエラーを組み込んで(ミューテーション)し、テストセットがそのエラーを検出できるかどうかを検証するテスト方法です。(〇)
 エ  ユースケーステストは、アクターが実際にシステムを利用するシーンを想定し、ユースケースに基づいて行うテスト方法です。(×)


キーワード
・ミューテーションテスト

キーワードの解説
  • ミューテーションテスト
    プログラムコードに意図的にエラーを組み込んで(ミューテーション)し、テストセットがそのエラーを検出できるかどうかを検証するテスト方法で、テストセットの品質を定量的に評価し、テストコードの網羅性や有効性を検証することができます。

もっと、「ミューテーションテスト」について調べてみよう。

戻る 一覧へ 次へ