平成25年度 春期 午前Ⅱ 問23
統合・テスト
スタブに関する問題
図のような階層構造で設計及び実装した組込みシステムがある。このシステムの開発プロジェクトにおいて,ハードウェア及びデバイスドライバ層の単体テスト工程が遅延し,アプリケーション層とミドルウェア層の単体テストが先に終了した。このとき,ソフトウェア結合のテスト方法として適切なものはどれか。
階層構造の図:
アプリケーション層 ミドルウェア層 デバイスドライバ層 ハードウェア
- アサンドイッチテスト
- イトップダウンテスト
- ウビッグバンテスト
- エボトムアップテスト
答えと解説を見る
✓ これが正解イトップダウンテスト
解説
上位層が先に終わったので、下位をスタブで代えるトップダウンテストです。
結合テストの進め方は、どの層のモジュールが先に完成しているかで選びます。この設問では、アプリケーション層とミドルウェア層という上位の層の単体テストが先に終わり、デバイスドライバ層などの下位の層が遅れています。トップダウンテストは、上位のモジュールから順に結合していき、まだ完成していない下位のモジュールはスタブと呼ぶ仮のモジュールで代用する方法です。上位がそろっていれば、下位の完成を待たずに結合を進められるので、この状況に合っています。先にできた側から結合し、足りない側を仮のモジュールで補う、と考えると選び分けられます。
ほかの選択肢はなぜ違うのか
- アサンドイッチテスト:サンドイッチテストは、上位からのトップダウンと下位からのボトムアップを同時に進め、途中で合わせる方法です。下位の層もある程度できている必要があり、下位の単体テストが遅れている状況には向きません。
- ウビッグバンテスト:ビッグバンテストは、全てのモジュールがそろってから一度にまとめて結合する方法です。下位の層の単体テストが終わるまで結合を始められないうえ、不具合が出たときに原因の場所を絞り込みにくくなります。
- エボトムアップテスト:ボトムアップテストは、下位のモジュールから順に結合し、上位はドライバと呼ぶ仮のモジュールで代用する方法です。遅れているのが下位の層なので、出発点となるモジュールがそろっておらず、この状況では始められません。
この問題の用語
- プロジェクトある目的のために期間を決めて行う、一回限りの活動。決算処理のように同じ手順を繰り返す定常業務とは区別されます。
- テスト決めたとおりに動くかを、実際に動かして確かめる作業のこと。何を確かめるかによって移行テスト、システムテストなどと呼び分けます。
- 工程仕事を進める順序と段取りのまとまりを指します。図表にして管理し、重要な期日や作業の順序、進み具合を目に見える形にします。
出典:平成25年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問23
同じ用語が出る問題
- 令和7年度 秋期 午前Ⅱ 問23:“死の谷”の説明(プロジェクト)
- 令和7年度 秋期 午前Ⅱ 問18(工程)
- 令和7年度 秋期 午前Ⅱ 問8:Linuxに関する問題(プロジェクト)
- 令和6年度 秋期 午前Ⅱ 問25:PLMに関する問題(工程)
- 令和5年度 秋期 午前Ⅱ 問15:NOTICEに関する問題(テスト)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)