この概念が出た関連問題

この試験の対策ガイド

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

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

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

正解は エ

解説

モジュールの単体テストで使用するスタブとドライバに関する問題です。モジュールは上位(呼び出す側)と下位(呼び出される側)の階層構造をもちますが、テスト対象のモジュールだけが完成していて、上位や下位のモジュールが未完成の場合に代役を立てる必要があります。スタブはテスト対象モジュールから「呼び出される」下位モジュールの代役で、呼ばれたら適当な値を返す簡易的なものです。ドライバはテスト対象モジュールを「呼び出す」上位モジュールの代役で、テスト対象に引数を渡して呼び出し、結果を受け取ります。エの「ドライバは、引数を渡してテスト対象モジュールを呼び出す」はドライバの役割の正しい説明であり、正解です。覚え方としては、トップダウンテスト(上位から作る)では下位の代役スタブが必要、ボトムアップテスト(下位から作る)では上位の代役ドライバが必要、という対応もセットで頻出です。「ドライバ=運転手=呼び出す側」「スタブ=切り株=呼ばれて値を返すだけ」というイメージで関係を固定しましょう。

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

選択肢 ア
テスト対象モジュールからの戻り値の表示・印刷を行うのは、テスト対象を呼び出して結果を受け取る側、すなわちドライバが担うことのある機能です。スタブはテスト対象から呼び出される下位モジュールの代役であり、役割は「呼ばれたら決められた値を返す」ことです。スタブとドライバの位置関係(上位か下位か)を逆に捉えた記述になっています。
選択肢 イ
テスト対象モジュールを呼び出すモジュールはドライバの説明です。スタブはその逆で、テスト対象モジュールから呼び出される側(下位モジュール)の代役です。「呼び出す」のか「呼び出される」のか、という方向の一語だけで正誤が入れ替わるため、スタブ・ドライバの問題では主語と動詞の向きを丁寧に読むことが欠かせません。
選択肢 ウ
テスト対象モジュールから呼び出されるモジュールはスタブの説明です。ドライバはその逆で、テスト対象モジュールを呼び出す上位モジュールの代役を務めます。本選択肢は「ドライバ」という主語に「スタブ」の定義文を組み合わせた典型的な入れ替えパターンであり、「呼び出す側=ドライバ・呼び出される側=スタブ」という対の関係を正確に覚えていれば確実に見抜けます。

解くときのポイント

「ドライバ=上位の代役・テスト対象を呼び出す」「スタブ=下位の代役・呼び出されて値を返す」。トップダウンテスト→スタブ、ボトムアップテスト→ドライバ、の対応も併せて暗記する。