PR

基本情報技術者試験 令和6年度 科目A 公開問題(過去問) 問11 解説

基本情報技術者試験 令和6年度 科目A 公開問題(過去問) 問11 について解説します。

問題

問11 階層構造のモジュール群から成るソフトウェアの結合テストを,上位のモジュールから行う。この場合に使用する,下位のモジュールの代替となるテスト用のモジュールはどれか。

ア エミュレータ
イ シミュレータ
ウ スタブ
エ ドライバ

解説・解答

結合テストとは
単体テストを終えた複数のモジュールを組み合わせて、インタフェースやデータの受け渡しが正しく機能するかを検証する工程です。

テスト戦略の種類
(1)トップダウン結合テスト
上位モジュールから順に結合・テストしていく方式です。
上位ロジック(制御モジュール)から確認できるので、早期に動作全体を把握できます。
下位モジュールがまだ完成していないことが多いので、下位の代替として「スタブ(Stub)」を使用します。
(2)ボトムアップ結合テスト
下位モジュールから結合・テストしていく方式です。
下位のロジックやアルゴリズムの検証が早くできます。
上位が未完成のため直接呼び出せないことも多いので、上位の代替として「ドライバ(Driver)」を使用します。

それぞれの選択肢について確認します。

ア: エミュレータ
エミュレータはハードウェアや環境の模倣装置/ソフトウェアです。対象機器のCPU命令セットや周辺回路の動作を再現し、開発中のシステムを実機なしで動かすために使用します。
 (例)
  ・スマホアプリをPC上でテストする「Androidエミュレータ」
  ・組込み開発でターゲットマイコンを模倣する「ICEエミュレータ」
開発環境の代替であり、結合テストにおけるモジュール代替ではありません。

イ: シミュレータ
シミュレータは現実の現象・環境・挙動を数値的に模倣するソフトウェアです。対象のハードウェアや環境がなくても「どう動くか」を仮想的に再現できます。
 (例)
  ・航空機の操縦訓練シミュレータ
  ・通信トラフィックの負荷を模擬するネットワークシミュレータ
環境模擬が目的であり、結合テストにおけるモジュール代替ではありません。

ウ: スタブ
スタブは上位モジュールが呼び出す下位モジュールの代替です。呼び出しインタフェースだけを持ち、引数を受け取って固定の戻り値や簡易動作を返すテスト用ダミー関数などのことです。トップダウン結合テストで使用し、下位モジュールが未完成でも上位の動作を検証できます。これが正解です。

エ: ドライバ
ドライバは下位モジュールを呼び出すための上位モジュールの代替です。下位モジュールをテストするため、上位からの呼び出し動作を模擬します。ボトムアップ結合テストで使用し、上位モジュールが未完成でも完成している下位モジュールの動作を検証できます。

以上により、この問題の解答は「ウ」になります。