平成28年度 秋期 午前 問49
システム開発技術
トップダウンテストに関する問題
階層構造のモジュール群から成るソフトウェアの結合テストを,上位のモジュールから行う。この場合に使用する,下位のモジュールの代替となるテスト用のモジュールはどれか。
- アエミュレータ
- イシミュレータ
- ウスタブ
- エドライバ
答えと解説を見る
✓ これが正解ウスタブ
解説
上位から試すとき、下位の身代わりがスタブです。
階層のあるソフトウェアを結合していくとき、上の階層から先に確かめる進め方を取ると、その時点では下の階層がまだ出来ていません。呼び出した先が空のままでは動かせないので、呼ばれたふりをして決まった値を返すだけの代役を用意します。この代役がスタブでした。中身の処理は持たず、上位が期待する応答だけを返せばよいので、作るのも簡単です。逆に下の階層から先に確かめる進め方なら、足りないのは呼び出す側になるので、そのときは呼び出し役の代役を作ります。どちらを用意するかは、進める向きで決まると押さえておくと迷いません。設問は上位から行うと書いているので、足りないのは呼ばれる側であり、その身代わりが答えになります。残る三つは、いずれも下位のモジュールの身代わりではありませんでした。
ほかの選択肢はなぜ違うのか
- アエミュレータ:ある機器や環境の動作を、別のものの上でそのまま再現する道具として知られる語です。置き換えているのはハードウェアなどの実行環境のほうで、まだ出来ていない下の階層の代わりに呼ばれて値を返す役目とは違いました。
- イシミュレータ:対象の振る舞いを模して動かし、結果を観察するための道具として知られる語です。目的は再現と観察であって、結合を進めるために欠けている部品の代役を務めるものではありませんでした。役割の置きどころが異なります。
- エドライバ:こちらは呼び出す側の代役です。下の階層から先に確かめる進め方のときに、まだ出来ていない上位の代わりとなって対象を呼び出します。設問が指定した向きでは足りないのは呼ばれる側なので、必要になるのは逆のほうでした。
この問題の用語
- テスト決めたとおりに動くかを、実際に動かして確かめる作業のこと。何を確かめるかによって移行テスト、システムテストなどと呼び分けます。
出典:平成28年度 秋期 基本情報技術者試験 午前 問49
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)