平成25年度 春期 ITパスポート試験 公開問題 問32 解説 システムテストの定義
実環境と同様のハードウェア, ソフトウェアを準備し, 端末からの問合せのレスポンスタイムが目標値に収まることを検証した。このテストはどれか。
- システムテスト ✓ 正答
- ソフトウェア結合テスト
- 単体テスト
- ホワイトボックステスト
解説
選択の判断基準
この問題のキーワードは「実環境と同様の環境」と「レスポンスタイム(性能)の検証」です。開発の各段階で行われるテストには明確な役割分担があり、システム全体が要件を満たしているかを最後に確認するのはシステムテストの役割です。この2つの要素が揃っていることを確認できれば、迷わずシステムテストを選べます。
ソフトウェアテストの階層構造
システム開発におけるテストは、一般的に下位から上位へと段階を踏んで実施されます。それぞれのテストが何を目的としているかを整理しましょう。
・単体テスト プログラムの最小単位(関数やクラスなど)が、設計通りに正しく動作するかを確認します。
・結合テスト 複数のモジュールを組み合わせた際に、データが正しく受け渡されるか、連携に問題がないかを確認します。
・システムテスト 完成したシステム全体に対して行われるテストです。「実環境に近い環境」で、要求された機能や性能が十分に発揮されるかを検証します。
・運用テスト 実際の利用者が、業務フローに合わせてシステムが使いやすいか、運用に耐えられるかを確認します。
今回の問題では「実環境と同様の環境」を用意している点と「レスポンスタイム」というシステム全体の性能を測っている点から、これら一連の流れにおけるシステムテストの役割であることがわかります。
テストの目的を見極める考え方
試験でテスト関連の問題が出題されたら、以下の手順で絞り込みを行います。
- 対象範囲を確認する:プログラムの一部か、連携部か、それともシステム全体か。
- 環境を確認する:シミュレーション環境か、実環境に近い環境か。
- 目的を確認する:機能が動くことか、性能や非機能要件を満たすことか。
例えば、レスポンスタイムなどの「性能」に関する検証は、個別の機能がいくら正しく動いていても、システム全体として負荷がかかった時にどうなるかを確認しなければ意味がありません。そのため、実環境に近い構成で負荷をかけるシステムテストが最適解となります。
実務における重要性
この知識は、単にテストの種類を暗記するためのものではありません。システム開発の現場において、どのタイミングでどのようなテスト計画を立てるべきかという「プロジェクト管理」の基本を理解するためのものです。
もしシステムテストの段階になって初めて「実環境ではレスポンスが遅い」ということが判明すると、システム全体の根本的な見直しが必要になり、納期やコストに甚大な影響を与えます。そのため、システムテストは「要件定義で決めた非機能要件(性能、信頼性、保守性など)が本当に実現できているか」を判断する、プロジェクトの成否を分ける非常に重要なゲート(門番)の役割を担っています。