令和7年度 秋期 情報処理安全確保支援士試験 午前II 問22

図のような階層構造で設計された組込みシステムがある。このシステムの開発プロジェクトにおいて,デバイスドライバ層の単体テスト工程が未終了で,アプリケーション層及びミドルウェア層の単体テストが先に終了した。この段階で行えるソフトウェア結合テストの方式として,適切なものはどれか。

システムの階層構造を示す図
図の説明テキスト

システムの階層構造を示す図。全体が四角い枠で囲まれ、横線で4つの階層に区切られている。上から順に以下のテキストが記載されている。

  • アプリケーション層
  • ミドルウェア層
  • デバイスドライバ層
  • ハードウェア
解答・解説

正解: イ. トップダウンテスト

組込みシステムなどの階層構造を持つソフトウェアにおいて、上位の層(アプリケーション層やミドルウェア層)のテストが完了し、下位の層(デバイスドライバ層)が未完了である状況での結合テスト方式が問われています。

このように、完成している上位モジュールから下位モジュールへと順に結合してテストを行う方式を トップダウンテスト と呼びます。未完成の下位モジュールの代わりには、スタブ と呼ばれるダミーのモジュールを用意してテストを実施します。

各選択肢の解説

  • ア: サンドイッチテスト
    トップダウンテストとボトムアップテストを組み合わせ、上位と下位の両方から同時に結合を進める方式です。本問のように下位モジュールが未完成の状況から開始するアプローチとしては該当しません。

  • イ: トップダウンテスト
    正解です。 上位のモジュールから順にテストを行う方式です。下位のデバイスドライバ層が未完成であっても、スタブを用いることで上位層の結合テストを先行して実施できます。

  • ウ: ビッグバンテスト
    全てのモジュールの単体テストが終了した後に、一斉に結合してテストを行う方式です。未完成のモジュールが存在する段階では行えません。

  • エ: ボトムアップテスト
    下位のモジュールから順にテストを行う方式です。未完成の上位モジュールの代わりに ドライバ を用います。本問の「下位が未完成」という状況とは逆のアプローチです。

Spineチーム