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

令和元年度秋期 システムアーキテクト 午前Ⅱ 問9

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

問題

組込みシステムのソフトウェア開発におけるリグレッションテストの役割として,適切なものはどれか。

選択肢

  1. ア
    実行タイミングや処理性能に対する要件が満たされていることを検証する。
  2. イ
    ソフトウェアのユニットに不具合がないことを確認する。
  3. ウ
    ハードウェアの入手が困難な場合に,シミュレータを用いて検証する。
  4. エ
    プログラムの変更によって,想定外の影響が出ていないかどうかを確認する。
解き方のヒントを見る

テストの目的を見極める観点

テストの種類を区別するときは、名称や実施時期の印象で判断せず、そのテストが何を確かめるために行われるのかという一点に着目することが大切です。問われている内容が示す目的を自分の言葉で言い直してから検討しましょう。

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

この問題で意識したいのは、各テストが「何に照らして正しさを判断するのか」という観点です。どの成果物や要求を基準に合否を決めるのかを考えると、似た名称のテスト同士でも目的の違いを整理しやすくなります。

視点

テストは一般に、開発の過程で作られた何らかの期待(要求や設計の意図など)と、実際の振る舞いを突き合わせる活動です。種類ごとの違いは、突き合わせる相手と確かめたい性質の違いとして捉えると整理しやすくなります。実施手順や使う道具の違いだけで区別しようとすると混同しやすいため、まず目的から考える習慣をつけましょう。

確認ポイント

  • そのテストで合否を判断する基準が何かを、自分の言葉で説明できるか
  • 名称の響きや実施の順番ではなく、確かめたい性質そのものに注目しているか
  • 結論を出す前に、問われている目的と自分の理解が矛盾していないか見直したか
正解と解説を見る

正解

エ

解説

リグレッションテストは、プログラムの修正や機能追加などを行った後、既存の機能や関連部分に想定外の影響が生じていないかを確認するためのテストです。

理由

ソフトウェアを変更すると、変更箇所以外の機能にも影響が及ぶ可能性がある。リグレッションテストでは、従来のテストを再実施するなどして、既存の動作が保たれているかを確認する。

比較

実行性能の確認は性能テスト、ユニット単位の確認は単体テスト、シミュレータの利用は検証環境や手段に関する説明です。これらは、変更による副作用を確認するリグレッションテストの役割とは異なる。

選択肢ア

これは不正解だよ。実行タイミングや処理性能の要件を確認するのは、性能テストやリアルタイム性の検証に当たる。リグレッションテストの中心目的である、変更後の既存機能への影響確認を表していない。

選択肢イ

これは不正解だよ。ソフトウェアのユニット単位で不具合の有無を確認するのは、単体テストの役割である。リグレッションテストはテスト対象の粒度を示す名称ではなく、変更後に従来の動作が損なわれていないかを確かめる活動を指す。

選択肢ウ

これは不正解だよ。ハードウェアをシミュレータで代替して検証するのは、実機の制約に対応するシミュレーションや仮想化の利用方法である。変更による既存機能への影響を再確認するという、リグレッションテストの目的とは異なる。

選択肢エ(正解)

これは正解だよ。リグレッションテストは、プログラムの修正や機能追加などを行った後、変更箇所以外を含む既存の機能に想定外の影響が生じていないかを確認する。組込みソフトでも、従来の動作を保つために実施する。

学習のポイント

テストの対象ではなく、変更後の影響確認という役割を理解する。

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

関連する過去問一覧

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