テスト要求事項を定義するアクティビティと対応するテストの組合せ|情報処理安全確保支援士 平成28年 秋期午前Ⅱ試験 問22

出典:平成28年秋期 午前Ⅱ 問22 分野:ソフトウェア開発管理技術 / 開発プロセス・ 手法
システム開発で行われるテストについて,テスト要求事項を定義するアクティビティと対応するテストの組合せのうち,適切なものはどれか。
システム方式設計 ソフトウェア方式設計 ソフトウェア詳細設計
ア 運用テスト システム結合テスト ソフトウェア結合テスト
イ 運用テスト ソフトウェア結合テスト ソフトウェアユニットテスト
ウ システム結合テスト ソフトウェア結合テスト ソフトウェアユニットテスト
エ システム結合テスト ソフトウェアユニットテスト ソフトウェア結合テスト
解説

システム開発では、設計工程で決めた内容が正しく実現されているかを、対応するテスト工程で確認します。いわゆるV字モデルのように、上流の設計工程と後工程のテストを対応させて考えると分かりやすくなります。

V字モデルダウンロード

システム方式設計では、システム全体をどのような構成にするかを定めるため、その内容はシステム結合テストで確認します。ソフトウェア方式設計では、ソフトウェアをどのような構成要素に分け、それらをどう連携させるかを定めるため、ソフトウェア結合テストに対応します。

ソフトウェア詳細設計では、個々のプログラムやモジュールの内部処理を具体化するため、その設計内容はソフトウェアユニットテストで確認します。

したがって、ウが適切です。

❌他選択肢が誤りの理由
ア:システム方式設計=運用テスト、ソフトウェア方式設計=システム結合テスト、ソフトウェア詳細設計=ソフトウェア結合テスト
⇒システム方式設計はシステム結合テスト、ソフトウェア方式設計はソフトウェア結合テスト、ソフトウェア詳細設計はソフトウェアユニットテストに対応するため、各組合せがずれています。
イ:システム方式設計=運用テスト、ソフトウェア方式設計=ソフトウェア結合テスト、ソフトウェア詳細設計=ソフトウェアユニットテスト
⇒ソフトウェア方式設計とソフトウェア詳細設計の対応は適切ですが、システム方式設計に対応するのは運用テストではなくシステム結合テストです。
エ:システム方式設計=システム結合テスト、ソフトウェア方式設計=ソフトウェアユニットテスト、ソフトウェア詳細設計=ソフトウェア結合テスト
⇒システム方式設計とシステム結合テストの対応は適切ですが、ソフトウェア方式設計とソフトウェア詳細設計に対応するテストが逆になっています。
TSUNAGARU-ADVICE

まず押さえたいこと

システム開発では、設計工程とテスト工程を対応付けて考えると整理しやすくなります。システム方式設計はシステム全体の構成を決めるためシステム結合テスト、ソフトウェア方式設計はソフトウェア内部の構成を決めるためソフトウェア結合テスト、ソフトウェア詳細設計は個々のプログラム単位を具体化するためソフトウェアユニットテストに対応します。

迷ったときの判断軸

設計とテストは、同じ粒度どうしを対応させるのが基本です。システム全体の構造ならシステム結合、ソフトウェア内部のモジュール構成ならソフトウェア結合、個々のモジュールの詳細ならユニットテストと考えます。設計対象の大きさとテスト対象の大きさをそろえると判断しやすくなります。

科目Bにつなげるために

開発工程とテスト工程の対応そのものは、支援士試験の科目Bで中心的に問われる可能性は高くありません。科目Aで各設計工程とテスト工程の対応関係を整理したら、科目B対策では、脅威・脆弱性・リスク・管理策・ログ分析・インシデント対応など、セキュリティ分野の重要論点を優先して深掘りしましょう。