この試験の対策ガイド

基本情報技術者試験 対策ガイド

合格率・勉強法・参考書の選び方をまとめています

見る →
答えと解説を見る(先に解くのがおすすめ)

正解は ウ

解説

ソフトウェアのモジュール結合テスト(統合テスト)における「スタブ」と「ドライバ」の使い分けを問う問題です。上位モジュールから順にテストするトップダウンテスト方式の場合、上位モジュールは既存だが下位モジュールがまだ完成していない状況でテストを進める必要があります。この際、未完成の下位モジュールの代替として使うのが「スタブ(Stub)」です。スタブは最低限の応答(固定値を返すなど)だけを実装した仮のモジュールです。反対に、下位モジュールから順にテストするボトムアップテスト方式では、下位は完成しているが上位モジュールがない状態でテストします。この際、未完成の上位モジュールの代替として使うのが「ドライバ(Driver)」です。語呂合わせ:「トップダウン→スタブ(下位の代替)」「ボトムアップ→ドライバ(上位の代替)」。

なぜ他の選択肢は違うのか

選択肢 ア
エミュレータ(Emulator)は、あるハードウェアやOSの動作を別のシステム上で模倣するソフトウェアです。例えば、AndroidエミュレータはPC上でAndroid環境を再現します。モジュールの代替としてテストに使用するものではありません。
選択肢 イ
シミュレータ(Simulator)は、実際のシステムや現象の動作をモデル化して模擬するソフトウェアです(飛行機シミュレータなど)。スタブより高機能で現実に近い動作を模倣しますが、ソフトウェア結合テストにおける下位モジュールの代替という意味では使いません。
選択肢 エ
ドライバ(Driver)はボトムアップテストで使用する上位モジュールの代替です。上位から下位へテストするトップダウンテスト方式では使用しません。スタブとドライバは対になる概念として混同しやすいため注意が必要です。

解くときのポイント

「上位から→スタブ(下位の代替)」「下位から→ドライバ(上位の代替)」の対応を覚える。スタブ=下につけるもの(下位モジュールの仮実装)、ドライバ=上から動かすもの(上位モジュールの仮実装)。