問題本文
システム開発のテストを,単体テスト,結合テスト,システムテスト,運用テストの順に行う場合,システムテストの内容として,適切なものはどれか。
選択肢
- ア.個々のプログラムに誤りがないことを検証する。
- イ.性能要件を満たしていることを開発者が検証する。
- ウ.プログラム間のインタフェースに誤りがないことを検証する。
- エ.利用者が実際に運用することで,業務の運用が要件どおり実施できることを検証する。
正解
イ. 性能要件を満たしていることを開発者が検証する。
解説
ソフトウェア開発のテストはV字モデルで設計工程と対応し,単体テスト→結合テスト→システムテスト→運用テスト(受入れテスト)の順で実施される. 単体テストは個々のプログラムやモジュール単体の動作確認,結合テストはプログラム間のインタフェース確認,システムテストはシステム全体として機能要件・非機能要件(性能,信頼性,セキュリティなど)を開発者が検証する工程である. 運用テストは利用者が実運用相当の条件で業務運用を確認する工程となる. システムテストは開発者主体で実施し,性能要件達成を含む全体検証が中心という点を押さえる必要がある.
選択肢ごとの解説
- ア.誤り. 個々のプログラムに誤りがないことを検証するのは,単体テスト(ユニットテスト)の説明である. プログラムやモジュール単位で論理や処理を検証する工程であり,システム全体の機能・性能の妥当性を検証するシステムテストとは対象範囲が異なるため,本選択肢はシステムテストの内容とは合致しない.
- イ.正しい. システムテストは,結合済みのソフトウェアを統合したシステム全体について,機能要件と非機能要件(性能・信頼性・セキュリティなど)を開発者が検証する工程である. 性能要件を満たしていることを開発者が検証することは,システムテストの主目的の一つであり,本選択肢が問題文の趣旨に合致する.
- ウ.誤り. プログラム間のインタフェースに誤りがないことを検証するのは,結合テストの説明である. 複数モジュールやプログラム間のデータ授受や呼出しを統合的に確認する工程であり,システム全体としての要件充足を扱うシステムテストとは目的・対象が異なるため,本選択肢はシステムテストの内容ではない.
- エ.誤り. 利用者が実際に運用することで業務の運用が要件通り実施できることを検証するのは,運用テスト(受入れテスト)の説明である. 実運用と同等の条件で業務が回るかを利用者が確認する工程であり,開発者主体で行うシステムテストとは主体・目的が異なるため,本選択肢は適切ではない.
ITパスポート 2016年 (平成28年 春期) の過去問一覧へ戻る・問43