トップダウンテスト
結合テストの手法のうち,トップダウンテストの説明はどれか。
- ア最下位のモジュールから順に上位のモジュールを結合し,未完成の上位モジュールの代わりにドライバを用いてテストする。
- イすべてのモジュールの単体テストを終えた後,全モジュールを一度に結合してテストする。
- ウ上位と下位の両方から並行してモジュールの結合を進め,中間の階層で合流させてテストする。
- エ最上位のモジュールから順に下位のモジュールを結合し,未完成の下位モジュールの代わりにスタブを用いてテストする。
正解と解説を見る
正解 エ
この問題の基礎知識
- 結合テストの進め方には,トップダウンテスト,ボトムアップテスト,ビッグバンテスト,サンドイッチテストがある。
- スタブは未完成の下位モジュール(呼び出される側)の代わり,ドライバは未完成の上位モジュール(呼び出す側)の代わりに用いるテスト用のモジュールである。
- 上位から結合する場合はまだ結合しない下位の代わりにスタブが,下位から結合する場合は上位の代わりにドライバが必要になる。全モジュールを一度に結合するビッグバンテストでは,不具合の原因箇所を特定しにくい。
ア最下位のモジュールから順に上位のモジュールを結合し,未完成の上位モジュールの代わりにドライバを用いてテストする。
下位から順に結合し,未完成の上位モジュールの代わりに下位モジュールを呼び出すドライバを用いるのはボトムアップテストの説明である。トップダウンテストとは結合の方向が逆である。
イすべてのモジュールの単体テストを終えた後,全モジュールを一度に結合してテストする。
全モジュールを一度に結合するのはビッグバンテストの説明である。スタブやドライバが不要な反面,不具合が発生したときに原因となったモジュールの特定が難しい。
ウ上位と下位の両方から並行してモジュールの結合を進め,中間の階層で合流させてテストする。
上位からと下位からの結合を並行して進めるのはサンドイッチテストの説明である。トップダウンとボトムアップを組み合わせた手法であり,スタブとドライバの両方を用いる。
エ最上位のモジュールから順に下位のモジュールを結合し,未完成の下位モジュールの代わりにスタブを用いてテストする。正解
トップダウンテストは上位から下位へ順に結合し,まだ結合しない下位モジュールの代わりに,呼び出されて決まった値を返すスタブを用いる。上位の重要な制御部分を早期に検証できる。
検証用の出典一部照合
IPA 応用情報技術者試験(レベル 4)シラバス / NBS Special Publication 500-93 Software Validation, Verification, and Testing Technique and Tool Reference Guide照合の根拠(3 件)
- 出題範囲の確認のみ。結合の方向とスタブ・ドライバの対応の記述はない
トップダウンテスト,ボトムアップテスト,ドライバ,スタブ
IPA 応用情報技術者試験シラバス Ver.7.2 · 中分類12 システム開発技術 3. 実装・構築 (4) ソフトウェア統合テスト(用語例)(新しいタブで開きます) - エ(正解): スタブはテスト対象から呼び出されるモジュール(未完成の下位モジュール)の動作を模擬するダミーである
A stub is a dummy routine that simulates the operation of a module that is invoked within a test.
NBS SP 500-93 · 4.30.5 Test Bed(Outline of method)(新しいタブで開きます) - ア(誤り): ドライバはテスト対象のモジュールを呼び出す側(上位)の代わりとなるコードであり,下位から結合するボトムアップテストで用いる
DRIVER: code which sets up an environment and calls a module for test,
NBS SP 500-93 · 用語集 DRIVER(新しいタブで開きます)
スタブ(呼び出される側の代替)とドライバ(呼び出す側の代替)の役割は NBS SP 500-93 で裏付けたが,トップダウン/ボトムアップ/ビッグバン/サンドイッチテストという結合順序の定義そのものを記した読める一次資料は見つからなかった。