SAシステムアーキテクト試験 午前Ⅱ

令和7年度春期 システムアーキテクト 午前Ⅱ 問7

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

プログラムPをテストケースの集合であるテストセットTでテストし,テスト結果が全て想定結果と一致することを確認した。そのテストセットTに不具合を検出できる十分な能力があるかどうかを評価するために,次の手順でテストを行った。このテストを何と呼ぶか。 〔手順〕 ① プログラムPのステートメントの1か所に,例えば(a+b>1)を(a+b>0)にするというような,軽微な変更を行ったプログラムP₁,P₂,P₃,…,Pₘを作成する。このm個のプログラムの変更内容は,全て異なっている。 ② テストセットTを用いて全てのプログラムP₁,P₂,P₃,…,Pₘをテストする。 ③ P₁からPₘまでのm個のプログラムのうち,プログラムPと異なるテスト結果となったプログラムの総数をNとし,次式によって,テストセットTの有効性の指標Eを算出する。 E=N/m

選択肢

  1. ア
    探索的テスト
  2. イ
    ドメイン分析テスト
  3. ウ
    ミューテーションテスト
  4. エ
    ユースケーステスト
解き方のヒントを見る

評価の前提を整理して考える

評価について考える際は、判断の前提となる条件を整理することに注目しましょう。示された情報と自分が補った想定を分け、同じ前提のもとで検討しているかを確かめると、考えを整理しやすくなります。

この問題で問われていること

この問題では、評価に関する判断がどのような前提に立っているかに着目してください。与えられた条件を短く書き出し、検討の途中で、明示されていない条件を付け足していないかを振り返りましょう。

視点

評価の前提とは、判断を進める際に置いている条件のことです。情報を整理するときは、示された情報から確認できる条件と、自分の経験から補った想定を区別しておきましょう。

確認ポイント

  • 判断の前提となる条件を整理したか
  • 明示された条件と自分の想定を区別したか
  • 検討の途中で前提を変えていないか
正解と解説を見る

正解

ウ

解説

正解はウのミューテーションテストです。プログラムに軽微な変更を加え、既存のテストセットがその変更による結果の違いを検出できる割合から、テストセットの有効性を評価する。

ミューテーションテストと判断する理由

手順①では、元のプログラムPに軽微な変更を加えた変異プログラムをm個作成している。手順②では同じテストセットTを適用し、手順③では元のプログラムと異なる結果になった個数Nを数える。このように意図的な変更を検出できるか調べる方法がミューテーションテストです。指標はE=N(個)/m(個)で、単位のない割合となる。値が高いほど、作成した変異プログラムの多くをテストセットTで検出できたことを表します。

他のテスト技法との比較

探索的テストは、テスト担当者が対象を学びながら、観察結果に応じてテストを設計・実行する方法です。ドメイン分析テストのドメインは業務領域ではなく、入力変数の値の領域を指します。同値分割や境界値分析を複数の変数の組合せに広げたブラックボックス技法です。ユースケーステストは、利用者とシステムのやり取りを基にテストケースを設計する。設問は、プログラムに変更を加えて既存のテストセットの検出能力を評価する点で、これらと区別できる。

選択肢ア

これは不正解だよ。探索的テストは、テスト担当者が対象を学び、実行中の観察を基にテストを設計・実行していく方法である。設問では、既存のテストセットTを変更した複数のプログラムに適用し、その検出能力を評価しているので、探索的テストには該当しない。

選択肢イ

これは不正解だよ。ドメイン分析テストのドメインは、入力変数の値の領域を指す。同値分割や境界値分析を複数の変数の組合せに広げ、テストケースを設計するブラックボックス技法である。設問のようにプログラムへ軽微な変更を加え、既存のテストセットの検出能力を評価する方法とは異なる。

選択肢ウ(正解)

これは正解だよ。ミューテーションテストは、プログラムに軽微な変更を加えた変異プログラムを作り、既存のテストでその変更を検出できるか調べる方法である。設問のNは元のプログラムと異なる結果になったプログラムの数であり、E=N/mによってテストセットTの有効性を評価する。

選択肢エ

これは不正解だよ。ユースケーステストは、利用者とシステムのやり取りを表したユースケースに基づき、利用の流れに沿ってテストケースを設計する方法である。設問の手順は、利用シナリオからのテスト設計ではなく、変更したプログラムを用いたテストセットTの検出能力の評価である。

学習のポイント

入力や利用シナリオからテストケースを設計する技法と、プログラムを変更して既存のテストセットを評価する技法を区別する。

出典:独立行政法人 情報処理推進機構(IPA)令和7年度春期 システムアーキテクト試験 午前Ⅱ 問7(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針