ソフトウェア結合テストの方式|情報処理安全確保支援士 平成30年 秋期午前Ⅱ試験 問22
出典:平成30年秋期 午前Ⅱ 問22
分野:システム開発技術 / 統合・テスト
図のような階層構造で設計及び実装した組込みシステムがある。このシステムの開発プロジェクトにおいて,デバイスドライバ層の単体テスト工程が未終了で,アプリケーション層及びミドルウェア層の単体テストが先に終了した。この段階で行うソフトウェア結合テストの方式として,適切なものはどれか。
| アプリケーション層 |
| ミドルウェア層 |
| デバイスドライバ層 |
| ハードウェア |
- ア:サンドイッチテスト
- イ:トップダウンテスト
- ウ:ビッグバンテスト
- エ:ボトムアップテスト
TSUNAGARU-ADVICE
まず押さえたいこと
この問題では、結合テストの定義を暗記しているかではなく、どの層の単体テストが終わっていて、どの層がまだ使えないかを見て、実施可能な結合方法を判断することがポイントです。
迷ったときの判断軸
今回は、アプリケーション層とミドルウェア層の単体テストは終わっていますが、デバイスドライバ層は未終了です。そのため、下位層が未完成でも進めやすいトップダウンテストが適しています。下位層から積み上げる方式や、全てそろってからまとめて結合する方式は、この段階では取りにくいと整理すると判断しやすくなります。
科目Bにつなげるために
トップダウンテストやボトムアップテストなどの結合テスト方式そのものは、支援士試験の科目Bで中心的に問われる可能性は高くありません。科目Aでは、上位層から結合するときは下位層をスタブで代替し、下位層から結合するときは上位層をドライバで代替するという基本を押さえておきましょう。科目B対策では、セキュア開発・脆弱性診断・テスト環境・入力値検証・リリース前の確認など、セキュリティ品質を確保するためのテストや開発工程を優先して整理しましょう。
デバイスドライバ層の単体テストが未終了で、下位層がまだ十分に使えない状況です。
この段階でも、上位のアプリケーション層・ミドルウェア層を先に結合して確認するには、下位層(デバイスドライバ層)をスタブで代替して進められるトップダウンテストが適切です。
したがって、イが適切です。
❌他選択肢が誤りの理由ア:サンドイッチテスト
⇒サンドイッチテストは、上位・下位を並行して結合する方式であり、下位層側の準備が進んでいない状況では適しません。
ウ:ビッグバンテスト
⇒ビッグバンテストは、全モジュールをそろえて一括結合する方式であり、未終了の層がある段階では実施できません。
エ:ボトムアップテスト
⇒ボトムアップテストは、下位層から結合していく方式であり、デバイスドライバ層の単体テストが未終了の状況では進めにくいです。