ネットワークスペシャリスト 2016年 午前2 問24
問題文
システム開発で行うテストについて、テスト要求事項を定義するアクティビティと対応するテストの組合せのうち、適切なものはどれか。

選択肢
ア:
イ:
ウ:(正解)
エ:
🔒 解説は解答すると表示されます
設計段階別テスト対応【午前2解説】
正解の理由
設計の粒度(システム/ソフトウェア方式/ソフトウェア詳細)に応じて、検証すべき対象の範囲が異なります。システムレベルの設計はサブシステム間や外部連携の統合確認を必要とするため「システム結合テスト」、ソフトウェア方式設計はモジュール間の相互結合を確認するため「ソフトウェア結合テスト」、ソフトウェア詳細設計は個々のモジュールや単体機能の検証が必要なため「ソフトウェアユニットテスト」と対応します。これらが一致している選択肢は ウ です。
解法ステップ
- 設計フェーズごとに「検証対象の粒度」を確認する
- システム方式設計:サブシステム/外部系との結合点や全体構成
- ソフトウェア方式設計:ソフトウェア内部のモジュール間インタフェース
- ソフトウェア詳細設計:個々のモジュールや関数の振る舞い
- 上記の粒度に適合するテスト種別を割り当てる
- 粒度が大きければ統合的なテスト(結合テスト・システムテスト)
- 粒度が小さければ単体のテスト(ユニットテスト)
- 選択肢と照合して、各列の対応が妥当かを判定する
選択肢別の誤答解説
- ア:誤り
- system方式設計→運用テスト:誤り。運用テストは運用手順や運用環境の確認に基づく受入や移行試験で、方式設計(システム結合の確認)から直接導出されるものではない。
- software方式設計→システム結合テスト:誤り。ソフトウェア方式設計はソフト内の結合点(モジュール間)を扱うため、対応するのはソフトウェア結合テスト。
- software詳細設計→ソフトウェア結合テスト:誤り。詳細設計は単体レベルの振る舞い確認が主で、ユニットテストが妥当。
- イ:部分的に誤り(1箇所)
- system方式設計→運用テスト:誤り。この対応が原因でイは不適当となる。
- software方式設計→ソフトウェア結合テスト:正しい。方式設計で定義されるインタフェースの結合確認が対象。
- software詳細設計→ソフトウェアユニットテスト:正しい。詳細設計の単位を個別に検証する。
- ウ:正しい
- system方式設計→システム結合テスト:妥当(サブシステム間や外部連携を検証)。
- software方式設計→ソフトウェア結合テスト:妥当(モジュール間の結合を検証)。
- software詳細設計→ソフトウェアユニットテスト:妥当(個々のモジュールの単体検証)。
- エ:誤り
- system方式設計→システム結合テスト:正しい。
- software方式設計→ソフトウェアユニットテスト:誤り。方式設計で定義されるのはインタフェースや結合仕様であり、単体テスト(ユニット)は詳細設計由来が適切。
- software詳細設計→ソフトウェア結合テスト:誤り。詳細設計はユニットの仕様であり、結合テストはより上位の設計から導出される。
よくある誤解
- 結合テスト=単に「モジュールをつなげて試す」だけと捉える誤り
- 結合テストはレベル(ソフトウェア結合/システム結合)を区別して考える必要がある。
- 運用テストをシステム方式設計から導出してよいと思う誤り
- 運用テストは運用手順・移行・監視など運用側の設計や環境準備に起因するため、運用設計や受入試験と紐づく。
- 「方式」と「詳細」を混同してテスト粒度を間違えること
- 方式設計はインタフェースや結合を、詳細設計は内部ロジックや単体振る舞いを対象とする点を常に意識する。
補足コラム
V字モデル(開発ライフサイクル)で考えると、設計フェーズごとに左側(定義・設計)の成果物が右側(テスト)のどのレベルで検証されるかが対応づきます。簡潔に示すと:
- 要件定義 → 受入/運用テスト(運用・受入条件の確認)
- システム方式設計 → システム結合テスト(サブシステム間の連携確認)
- ソフトウェア方式設計 → ソフトウェア結合テスト(モジュール間の結合確認)
- ソフトウェア詳細設計 → ユニットテスト(個々のモジュールの振る舞い確認)
この対応を押さえておくと、設計文書からどのテスト仕様を作成すべきか判断しやすくなります。
FAQ
Q. 運用テストと受入テストは同じですか?
A. 完全に同一ではありません。受入テストは顧客や利用者の観点で要件満足を確認する試験で、運用テストは実際の運用環境や運用手順に沿った検証(移行、監視設定、バックアップなど)を含みます。重なる部分はありますが、着眼点が異なります。
A. 完全に同一ではありません。受入テストは顧客や利用者の観点で要件満足を確認する試験で、運用テストは実際の運用環境や運用手順に沿った検証(移行、監視設定、バックアップなど)を含みます。重なる部分はありますが、着眼点が異なります。
Q. ソフトウェア結合テストとシステム結合テストの境界は?
A. 基本的には対象範囲で区別します。ソフトウェア結合は同一ソフトウェア内のモジュール相互作用、システム結合はサブシステム間や外部系との連携(複数のソフトウェアやハードウェアを跨ぐ統合)を対象とします。
A. 基本的には対象範囲で区別します。ソフトウェア結合は同一ソフトウェア内のモジュール相互作用、システム結合はサブシステム間や外部系との連携(複数のソフトウェアやハードウェアを跨ぐ統合)を対象とします。
Q. 方式設計で発見された不具合はどのテストで見つかる想定ですか?
A. 方式設計が適切に行われていれば、ソフトウェア結合テストやシステム結合テストの段階で検出・確認することを前提に設計文書からテストケースを用意します。
A. 方式設計が適切に行われていれば、ソフトウェア結合テストやシステム結合テストの段階で検出・確認することを前提に設計文書からテストケースを用意します。
関連キーワード: テストレベル, ユニットテスト, 結合テスト, システムテスト, 運用テスト, 方式設計, 詳細設計, V字モデル

\ せっかくなら /
ネットワークスペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

