令和7年度 春期 午前Ⅱ 問7
実装・構築
プログラム P をテストケースの集合であるテストセット T でテストし,テスト結果が全て想定結果と一致することを確認した。そのテストセット T に不具合を検出できる十分な能力があるかどうかを評価するために,次の手順でテストを行った。このテストを何と呼ぶか。
〔手順〕
① プログラム P のステートメントの 1 か所に,例えば(a+b>1)を(a+b>0)にするというような,軽微な変更を行ったプログラム P_1,P_2,P_3,…,P_m を作成する。この m 個のプログラムの変更内容は,全て異なっている。
② テストセット T を用いて全てのプログラム P_1,P_2,P_3,…,P_m をテストする。
③ P_1 から P_m までの m 個のプログラムのうち,プログラム P と異なるテスト結果となったプログラムの総数を N とし,次式によって,テストセット T の有効性の指標 E を算出する。
E=N/m
- ア探索的テスト
- イドメイン分析テスト
- ウミューテーションテスト
- エユースケーステスト
答えと解説を見る
✓ これが正解ウミューテーションテスト
解説
小さな変更を加えたプログラムを見抜けるかで、テストセットの能力を測ります。
ミューテーションテストは、テストセットが不具合を見つける力を評価するためのテストです。元のプログラムの一か所に、比較演算子や定数を少し変えるといった小さな変更を加えたプログラムを多数作ります。これらは、わざと不具合を埋め込んだプログラムに当たります。同じテストセットでそれぞれをテストし、元のプログラムと異なる結果になれば、その変更を検出できたことになります。設問の手順では、m 個の変更済みプログラムのうち結果が異なった数を N とし、E=N/m を求めています。この値が 1 に近いほど、テストセットは不具合を見逃しにくいと評価できます。わざと変えたものを見抜けるか、と覚えると選べます。
ほかの選択肢はなぜ違うのか
- ア探索的テスト:探索的テストは、テスト担当者が対象を操作して学びながら、その場で次に試すことを考えて進めるテストです。テストの設計と実行を同時に行う進め方であり、変更を加えたプログラム群でテストセットの能力を測るものではありません。
- イドメイン分析テスト:ドメイン分析テストは、入力値などがとりうる範囲を分析し、その境界の内側や外側の値を選んでテストケースを作る技法です。テストケースを作る側の手法で、既存のテストセットの検出力を評価するものではありません。
- エユースケーステスト:ユースケーステストは、利用者とシステムのやり取りを記したユースケースをもとに、主な流れや例外の流れをたどるテストケースを作る技法です。業務の流れを確かめるもので、テストセットの能力の評価とは目的が違います。
この問題の用語
- テストケース何をどう試して、どうなれば合格かを一つずつ決めたものです。入力する値や操作の手順と、期待する結果を組にして書きます。
- 分析集めたデータを細かく分けて、何がどう関わっているかを読み取ること。量が増えるほど、扱う道具も考え方も変わります。
出典:令和7年度 春期 システムアーキテクト試験 午前Ⅱ 問7
同じ用語が出る問題
- 令和4年度 春期 午前Ⅱ 問8:開発者が行った探索的テストの例(テストケース)
- 令和3年度 春期 午前Ⅱ 問7:この場合のテストケースの組合せ(テストケース)
- 平成30年度 秋期 午前Ⅱ 問9:ブラックボックステストの問題(テストケース)
- 平成29年度 秋期 午前Ⅱ 問11:探索的テスト技法の説明(テストケース)
- 平成27年度 秋期 午前Ⅱ 問10:実験計画法に関する問題(テストケース)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)