情報処理安全確保支援士試験 2009年 春期 午前2 問18
システム開発で行われる各テストについて,そのテスト要求事項が定義されるアクティビティとテストの組合せのうち、適切なものはどれか。

ア:
イ:
ウ:(正解)
エ:
解説
システム開発で行われる各テストの要求事項定義アクティビティとテストの組合せ【午前2 解説】
要点まとめ
- 結論:システム方式設計はシステム結合テスト、ソフトウェア方式設計はソフトウェア結合テスト、ソフトウェア詳細設計はソフトウェアユニットテストの要求事項を定義します。
- 根拠:各設計工程の粒度に応じてテストの対象範囲が異なり、上位設計ほど結合テスト、下位設計ほどユニットテストに対応するためです。
- 差がつくポイント:テスト要求事項の定義がどの設計工程で行われるかを正確に理解し、テストレベルと設計レベルの対応関係を押さえることが重要です。
正解の理由
選択肢ウは、システム方式設計でシステム結合テストの要求事項を定義し、ソフトウェア方式設計でソフトウェア結合テストの要求事項を定義、ソフトウェア詳細設計でソフトウェアユニットテストの要求事項を定義する正しい組合せです。
これは、システム方式設計がシステム全体の構成や機能を決めるため、システム結合テストの基準を設定し、ソフトウェア方式設計がソフトウェア間の結合部分を設計するためソフトウェア結合テストの要求を定義、詳細設計が個々のプログラム単位の設計であるためユニットテストの要求を定義するというテストレベルと設計レベルの整合性に基づいています。
これは、システム方式設計がシステム全体の構成や機能を決めるため、システム結合テストの基準を設定し、ソフトウェア方式設計がソフトウェア間の結合部分を設計するためソフトウェア結合テストの要求を定義、詳細設計が個々のプログラム単位の設計であるためユニットテストの要求を定義するというテストレベルと設計レベルの整合性に基づいています。
よくある誤解
テストの種類と設計工程の対応を混同し、ユニットテストの要求を上位設計で定義したり、システム結合テストを詳細設計で定義するといった誤りが多いです。
また、運用テストを設計工程の要求定義と混同するケースもありますが、運用テストは実際の運用環境で行うため設計段階の要求定義とは異なります。
また、運用テストを設計工程の要求定義と混同するケースもありますが、運用テストは実際の運用環境で行うため設計段階の要求定義とは異なります。
解法ステップ
- 各テストの対象範囲と目的を理解する(ユニットテストは個別モジュール、結合テストは複数モジュールの連携、システム結合テストはシステム全体)。
- 設計工程の粒度を把握する(システム方式設計→全体構成、ソフトウェア方式設計→ソフトウェア間連携、詳細設計→個別プログラム)。
- テスト要求事項は設計工程の粒度に対応して定義されることを確認する。
- 選択肢の組合せを比較し、設計工程とテストレベルの対応が正しいものを選ぶ。
選択肢別の誤答解説ステップ
- ア:運用テストをシステム方式設計で定義するのは誤り。運用テストは設計段階ではなく運用環境での検証。
- イ:ソフトウェア詳細設計でソフトウェアユニットテストは正しいが、ソフトウェア方式設計でソフトウェア結合テストは合っているが、システム方式設計で運用テストは誤り。
- ウ:正解。各設計工程に対応したテスト要求事項の定義が正しく対応している。
- エ:ソフトウェア方式設計でユニットテストを定義するのは誤り。ユニットテストは詳細設計に対応。
補足コラム
テスト工程は一般に「単体テスト(ユニットテスト)」「結合テスト」「システムテスト」「受入テスト(運用テスト)」に分類されます。
設計工程とテスト工程の対応を理解することは、テスト計画の策定や品質保証活動において非常に重要です。
また、テスト要求事項の定義はテスト設計の基盤となり、後工程での手戻り防止に寄与します。
設計工程とテスト工程の対応を理解することは、テスト計画の策定や品質保証活動において非常に重要です。
また、テスト要求事項の定義はテスト設計の基盤となり、後工程での手戻り防止に寄与します。
FAQ
Q: ユニットテストの要求事項はどの設計工程で定義されますか?
A: ソフトウェア詳細設計工程で定義されます。個々のプログラム単位の設計に基づくためです。
A: ソフトウェア詳細設計工程で定義されます。個々のプログラム単位の設計に基づくためです。
Q: 運用テストの要求事項は設計工程で定義されますか?
A: 運用テストは実際の運用環境での検証であり、設計工程での要求事項定義とは異なります。
A: 運用テストは実際の運用環境での検証であり、設計工程での要求事項定義とは異なります。
Q: システム結合テストとソフトウェア結合テストの違いは何ですか?
A: システム結合テストはシステム全体の結合を検証し、ソフトウェア結合テストはソフトウェアモジュール間の結合を検証します。
A: システム結合テストはシステム全体の結合を検証し、ソフトウェア結合テストはソフトウェアモジュール間の結合を検証します。
関連キーワード: システム結合テスト, ソフトウェア結合テスト, ユニットテスト, テスト要求事項, 設計工程, テストレベル