平成24年度 秋期 ITパスポート試験 問33 解説 システムテスト
ソフトウェア開発におけるシステムテストに関する記述のうち、適切なものはどれか。
- ア 開発開発が最終段階のテストとして実施し、システム要件を満たしているか確認する。
- イ システム要件定義に過不足がないか確認する。
- ウ プログラムの単体テスト及び結合テストを同時に実施する。
- エ 利用者が開発者から独立して実施し、完成したシステムの業務への適合性を確認する。 ✓ 正答
解説
「誰が(実施者)」「何を確認するか(目的)」の2点を整理することが、テスト工程の問題を解く最短ルートです。システムテストは「開発者が」「システム要件を満たしているか」を確認する工程であることを意識しましょう。
開発工程とテスト工程の対応関係
ソフトウェア開発では、上流工程(設計)で作った仕様書に対して、下流工程(テスト)でその通りに動くかを確認する「Vモデル」という考え方が一般的です。システムテストがどの段階に対応するのかを把握すると、他のテストとの違いが明確になります。
- 単体テスト:プログラムの最小単位(関数やメソッド)が正しく動くかを確認する。
- 結合テスト:複数のプログラムを組み合わせて、データの受け渡し(インターフェース)が正しく行われるかを確認する。
- システムテスト:システム全体を完成させた状態で、システム要件定義(処理速度、機能の網羅性、セキュリティなど)を満たしているかを確認する。
- 受入テスト(運用テスト):利用者が主体となり、実際の業務の流れに沿って使い勝手や業務への適合性を最終確認する。
この流れを理解していれば、各選択肢がどのテスト工程を指しているのかを正確に見極めることができます。
思考プロセスと選択肢の判定
問題文で問われているのは「システムテスト」の適切な記述です。以下のプロセスで各選択肢を検討します。
- ア:開発側が実施し、システム要件を満たしているかを確認する活動です。これはまさにシステムテストの定義そのものです。
- イ:要件定義の内容を確認するのは、設計段階における「レビュー」や「検証」の活動であり、プログラム完成後に行うシステムテストの記述としては不適切です。
- ウ:単体テストと結合テストは段階的に行うものであり、同時に実施することは通常ありません。テストの目的も異なるため不適切です。
- エ:利用者が主体となり、業務への適合性を確認するのは「受入テスト」や「運用テスト」の説明です。
※なお、本問の選択肢構成では「ア」がシステムテストの標準的な定義に合致しており、ITパスポート試験のシラバスに準拠した正解となります。選択肢「エ」は一般的に受入テスト(Acceptance Test)を指す内容です。
実務におけるテスト工程の重要性
これらの知識は、単なる用語の暗記ではなく、開発プロジェクトにおける責任の所在を明確にするために活用されます。
開発者が行うシステムテスト(ア)は、あくまで「設計図通りに動くか」を保証するものです。一方で、利用者が行うテスト(エ)は、「そのシステムで本当に仕事が回るか」を判断するものです。開発者が「100点満点のシステムを作った」と言っても、利用者の業務ルールに合っていなければ、そのシステムは失敗とみなされます。
このように、実施者と目的を分けてテストを行うことで、開発の最終段階で「思っていたのと違う」という致命的なトラブルを防ぐ構造になっています。試験対策としては、Vモデルにおける「システム要件定義 ⇔ システムテスト」のペアを確実に覚えておくことが合格への近道です。
flowchart TD
subgraph "開発・設計(上流)"
A["要件定義\n(利用者視点)"]
B["システム要件定義\n(開発者視点)"]
C["設計\n(構造の定義)"]
end
D["プログラミング"]
subgraph "テスト(下流)"
E["単体・結合テスト\n(プログラム確認)"]
F["システムテスト\n(要件確認:選択肢 ア)"]
G["受入テスト\n(業務確認:選択肢 エ)"]
end
A -.-> G
B -.-> F
C -.-> E
D --> E --> F --> G