平成25年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問23
テクノロジ/開発技術図のような階層構造で設計及び実装した組込みシステムがある。このシステムの開発プロジェクトにおいて,ハードウェア及びデバイスドライバ層の単体テスト工程が遅延し,アプリケーション層とミドルウェア層の単体テストが先に終了した。このとき,ソフトウェア結合のテスト方法として適切なものはどれか。

出典:平成25年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問23
- アサンドイッチテスト
- イトップダウンテスト
- ウビッグバンテスト
- エボトムアップテスト
正解:イ
解説
図の階層構造では,上位からアプリケーション層,ミドルウェア層,デバイスドライバ層,ハードウェアという順になっています。設問が問うているのは「ソフトウェア結合」のテスト方法であり,対象はソフトウェアである上位3層(アプリケーション層,ミドルウェア層,デバイスドライバ層)です。このうち,上位2層(アプリケーション層,ミドルウェア層)の単体テストは既に終了しており,最下層のソフトウェアであるデバイスドライバ層の単体テストだけが,ハードウェアの遅延の影響で遅れています。このように,既にテストが完了した上位層から順に結合を進め,未完成の下位層をスタブで代用しながら段階的に結合していく方法がトップダウンテストであり,本状況に適しています。
選択肢ごとの解説
- ア誤り。サンドイッチテストは,上位側と下位側の両方から結合を進めて中間で合流させる方法です。本問ではソフトウェア結合の対象である3層のうち,未完成なのは最下層のデバイスドライバ層だけであり,下位側から結合を進める積極的な理由がないため,適切ではありません。
- イ正しい。既に単体テストが完了しているアプリケーション層,ミドルウェア層から結合を進め,まだ単体テストが終わっていないデバイスドライバ層をスタブで代用しながら段階的に結合していくトップダウンテストが適しています。
- ウ誤り。ビッグバンテストは,全てのモジュールが完成してから一度に結合するテスト方法であり,一部の層の単体テストが完了し他が遅延している状況を活用したテスト方法ではありません。
- エ誤り。ボトムアップテストは,最下位の層から順に上位の層へと結合を進める方法です。本問では最下層であるデバイスドライバ層の単体テストがまだ完了しておらず,下位から結合を始めることができないため適切ではありません。