問11 トップダウンテストのスタブ

基本情報​技術者試験 令和6年度 公開問題 科目A、全20問のうちの問11。

出典:令和6年度 基本情報技術者試験 公開問題 科目A 問11

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

  1. アエミュレータ
  2. イシミュレータ
  3. ウスタブ
  4. エドライバ
答えと解説を開く

正解はウです。

結合テストの進め方には、上位のモジュールから順につなぐトップダウンテストと、下位から順につなぐボトムアップテストがあります。トップダウンテストでは、上位のモジュールが呼び出す下位のモジュールがまだないことがあります。そこで、下位のモジュールの代わりに、呼ばれたら決まった結果を返すだけの仮のモジュールを作ります。これをスタブと言います。正解はウです。

ほかの選択肢が違う理由

  • アエミュレータは、別の機械や環境の動きを、ソフトウェアやハードウェアでまねて、そこ向けのプログラムを動かせるようにするものです。下位モジュールの代わりではありません。
  • イシミュレータは、現実の装置や現象の動きを模擬して、結果を予測したり練習したりするための道具です。
  • エドライバは、ボトムアップテストで使う、上位のモジュールの代わりになるテスト用のモジュールです。下位のモジュールを呼び出して動かします。

仕組み

スタブは「呼ばれる側」の代役、ドライバは「呼ぶ側」の代役です。上から作るならスタブ、下から作るならドライバ、と組で覚えます。

今の開発では、単体テストで外部のサービスやデータベースの代わりに置くモックやスタブも、同じ考え方です。

この問に出る言葉