ホーム > 情報処理安全確保支援士試験 > 2018年 秋期
情報処理安全確保支援士試験 2018年 秋期 午前2 問22
図のような階層構造で設計及び実装した組込みシステムがある。このシステムの開発プロジェクトにおいて、デバイスドライバ層の単体テスト工程が未終了で、アプリケーション層及びミドルウェア層の単体テストが先に終了した。この段階で行うソフトウェア結合テストの方式として、適切なものはどれか。

ア:サンドイッチテスト
イ:ビッグバンテスト(正解)
ウ:トップダウンテスト
エ:ボトムアップテスト
解説
組込みシステムの階層構造における結合テスト方式の選択【午前2 解説】
要点まとめ
- 結論:単体テスト未完了の下位層がある場合、全層を一括で結合するビッグバンテストが適切です。
- 根拠:ビッグバンテストは全モジュールを一度に統合し、未完成のモジュールがあっても結合テストを進められます。
- 差がつくポイント:階層構造のテスト順序と単体テストの完了状況を正確に把握し、適切な結合テスト方式を選ぶことが重要です。
正解の理由
ビッグバンテストは、すべてのモジュールを一斉に結合してテストを行う方式です。今回の問題では、デバイスドライバ層の単体テストが未終了であるため、通常のトップダウンやボトムアップの段階的結合テストは実施困難です。アプリケーション層やミドルウェア層の単体テストは完了しているものの、下位層が未完成のため、個別に段階的に結合していく方式は適用できません。したがって、未完成のモジュールを含めて一括で結合しテストを行うビッグバンテストが最も適切です。
よくある誤解
トップダウンやボトムアップテストは単体テストが完了しているモジュールを前提とするため、未完了のモジュールがある場合でも適用できると誤解されがちです。
解法ステップ
- 問題文から各層の単体テスト完了状況を確認する。
- 単体テスト未完了の層がある場合、段階的な結合テストは困難と判断する。
- トップダウンテストは上位層から下位層へ段階的に結合する方式で、下位層の単体テスト完了が必要。
- ボトムアップテストは下位層から上位層へ段階的に結合する方式で、下位層の単体テスト完了が必須。
- サンドイッチテストはトップダウンとボトムアップの組み合わせで、いずれも単体テスト完了が前提。
- 以上より、未完了のモジュールを含めて一括で結合するビッグバンテストを選択する。
選択肢別の誤答解説
- ア: サンドイッチテスト
トップダウンとボトムアップを組み合わせる方式ですが、未完了のモジュールがあると進行が難しいため不適切です。 - イ: ビッグバンテスト
全モジュールを一括結合しテストする方式で、未完成のモジュールがあっても実施可能なため正解です。 - ウ: トップダウンテスト
上位層から順に結合する方式で、下位層の単体テスト完了が必要なため今回の状況には合いません。 - エ: ボトムアップテスト
下位層から順に結合する方式で、下位層の単体テストが未完了のため適用できません。
補足コラム
ビッグバンテストは全モジュールを一度に結合するため、問題発生時の原因特定が難しいというデメリットがあります。段階的な結合テスト(トップダウン、ボトムアップ、サンドイッチ)は原因追及が容易ですが、単体テストの完了が前提条件です。開発状況に応じて適切な結合テスト方式を選択することが品質向上に繋がります。
FAQ
Q: ビッグバンテストはなぜ原因特定が難しいのですか?
A: 全モジュールを一括結合するため、どのモジュール間の結合で問題が起きているか特定しにくいからです。
A: 全モジュールを一括結合するため、どのモジュール間の結合で問題が起きているか特定しにくいからです。
Q: トップダウンテストで下位層のモジュールが未完成の場合はどうしますか?
A: スタブと呼ばれる仮モジュールを用いて代替し、段階的にテストを進める方法があります。
A: スタブと呼ばれる仮モジュールを用いて代替し、段階的にテストを進める方法があります。
Q: サンドイッチテストはどんな場合に有効ですか?
A: 上位層と下位層の両方で段階的に結合テストを進めたい場合に、トップダウンとボトムアップを組み合わせて効率化できます。
A: 上位層と下位層の両方で段階的に結合テストを進めたい場合に、トップダウンとボトムアップを組み合わせて効率化できます。
関連キーワード: 結合テスト方式, ビッグバンテスト, トップダウンテスト, ボトムアップテスト, サンドイッチテスト, 組込みシステム, 階層構造