組込みシステムのトップダウン結合テスト

階層構造を持つソフトウェアの結合テストにおいて、上位モジュールから下位モジュールへと順次結合してテストを進めていく手法を トップダウンテスト(Top-down Testing) と呼びます。下位モジュール(本問ではデバイスドライバ層やハードウェア)が未完成または単体テスト未完了の段階であっても、下位モジュールの動作を模擬する代行ルーチンである スタブ(Stub) を用意することで、先行して完成した上位層(アプリケーション層、ミドルウェア層)の結合テストを早期に実施できます。 ア:サンドイッチテストは、中間層を中心に上位層からはトップダウン、下位層からはボトムアップで同時に結合を進める方式です。本問では下位層が未完成のため適用できません。 イ:正解です。上位のアプリケーション層およびミドルウェア層から順にテストを進め、未完成の下位デバイスドライバ層をスタブで代行するトップダウンテストが適切です。 ウ:ビッグバンテストは、すべてのモジュールの単体テスト完了後に一斉に全モジュールを結合してテストする手法であり、未完了のモジュールがある段階では実施できません。 エ:ボトムアップテストは最下位モジュールから上位に向かって結合を進める手法であり、未完成の上位モジュールの代わりに「ドライバ」を用いますが、本問では下位層が未完成であるため実施できません。

図のような階層構造で設計及び実装した組込みシステムがある。このシステムの開発プロジェクトにおいて,デバイスドライバ層の単体テスト工程が未終了で,アプリケーション層及びミドルウェア層の単体テストが先に終了した。この段階で行うソフトウェア結合テストの方式として,適切なものはどれか。

アプリケーション層

ミドルウェア層

デバイスドライバ層

ハードウェア

出典平成30年度 秋期 情報処理安全確保支援士試験 午前Ⅱ 問22
ア
サンドイッチテスト
イ
トップダウンテスト
ウ
ビッグバンテスト
エ
ボトムアップテスト