応用情報技術者 2009年 春期 午前2 問47
問題文
結合テストで用いられるスタブの役割はどれか。
選択肢
ア:テストが完了したモジュールの代わりに結合される。
イ:テスト対象のモジュールからの呼出し命令の条件に合わせて、値を返す。(正解)
ウ:テスト対象のモジュールからの呼出し命令の条件に合わせて、テストデータを自動生成する。
エ:テスト対象のモジュールを呼出し命令で呼び出す。
結合テストで用いられるスタブの役割【午前2 解説】
要点まとめ
- 結論:スタブはテスト対象モジュールからの呼出しに応じて、決められた値を返す役割を持ちます。
- 根拠:結合テストでは未完成や未接続のモジュールの代わりに動作を模倣し、テストを進めるためにスタブを使います。
- 差がつくポイント:スタブは呼び出し元の条件に合わせて固定の戻り値を返す点で、動的にデータ生成するモックやドライバと区別されます。
正解の理由
選択肢イは「テスト対象のモジュールからの呼出し命令の条件に合わせて、値を返す」とあり、スタブの本質的な役割を正確に表現しています。スタブは結合テストで呼び出し先モジュールが未完成の場合に、呼び出し元のモジュールが正常に動作するように決められた値を返すことでテストを可能にします。
よくある誤解
スタブはテストデータを自動生成するわけではなく、固定の戻り値を返すだけです。また、完成済みモジュールの代わりに使うのは誤りで、未完成モジュールの代替として使います。
解法ステップ
- 結合テストの目的を理解する(複数モジュールの連携確認)。
- スタブの役割を「未完成モジュールの代替」と認識する。
- スタブは呼び出し元の条件に応じて決められた値を返すことを確認。
- 選択肢の内容とスタブの定義を照合し、最も適切なものを選ぶ。
選択肢別の誤答解説
- ア: 「テストが完了したモジュールの代わりに結合される」は誤り。スタブは未完成モジュールの代替であり、完成済みモジュールの代わりではありません。
- イ: 正解。呼出し命令の条件に合わせて値を返すスタブの役割を正しく示しています。
- ウ: 「テストデータを自動生成する」はスタブの役割ではなく、モックやテストデータ生成ツールの機能です。
- エ: 「テスト対象のモジュールを呼出し命令で呼び出す」はスタブの説明ではなく、単なる呼び出し動作の説明です。
補足コラム
スタブは結合テストでよく使われるテストダブルの一種です。テストダブルには他にモック(振る舞い検証に使う)、ドライバ(呼び出し元の代替)などがあります。スタブは呼び出し先の未完成部分を補うため、決まった戻り値を返すことでテストの進行を助けます。
FAQ
Q: スタブとモックの違いは何ですか?
A: スタブは固定の戻り値を返すだけですが、モックは呼び出し回数や引数など振る舞いの検証も行います。
A: スタブは固定の戻り値を返すだけですが、モックは呼び出し回数や引数など振る舞いの検証も行います。
Q: スタブはどのテスト段階で使いますか?
A: 主に結合テストで、未完成の呼び出し先モジュールの代替として使います。
A: 主に結合テストで、未完成の呼び出し先モジュールの代替として使います。
関連キーワード: スタブ、結合テスト、テストダブル、モック、テスト自動化、ソフトウェアテスト

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

