メインコンテンツへ
開発技術

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

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

解説

上から順にテストするとき、まだ作られていない下の階を「とりあえず『OK返すだけ係』で埋めておく」のがスタブ。ビルを上から建てるとき、まだない1階を仮の床板で代用するイメージです。

なぜ ウ が正解か

スタブは『呼ばれたら固定値を返すだけ』の代役モジュール。上位モジュールが『おーい下位、結果くれ』と叫んだとき、本物の代わりにスタブが『はいはい、42です』と即答します。こうすることで、下位モジュールの完成を待たずに上位の動きだけを先に確認できる、トップダウンテストの立役者です。

なぜ ア は間違いか

エミュレータは別のハードウェアや環境そのものを丸ごと模倣するもの(例:スマホのゲームをPCで動かす)。モジュールの代役ではなく「別世界の住人を招く装置」なので、今回の役回りとは全然違います。

なぜ イ は間違いか

シミュレータは現実の複雑な状況を再現するもの(フライトシミュレータ、天気予報モデルなど)。本物に似せた体験を作るのが仕事で、「呼ばれたら返事するだけ」という地味な代役仕事はお門違いです。

なぜ エ は間違いか

ドライバはボトムアップテスト(下から上へ)で使う、上位モジュールの代役。下位モジュールを「おい、動いてみろ」と呼び出す役。今回は逆向き(上から下)なので、ドライバを使うと進行方向が真逆になって迷子になります。

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