平成28年度 春期 ITパスポート試験 問43 解説 システムテストの内容
システム開発のテストを, 単体テスト, 結合テスト, システムテスト, 運用テス トの順に行う場合, システムテストの内容として, 適切なものはどれか。
- ア 個々のプログラムに誤りがないことを検証する。
- イ 性能要件を満たしていることを開発者が検証する。 ✓ 正答
- ウ プログラム間のインタフェースに誤りがないことを検証する。
- エ 利用者が実際に運用することで, 業務の運用が要件どおり実施できることを検 証する。
解説
システムテストを特定するには、開発工程におけるテストの階層構造(V字モデル)を理解し、各テストの目的が「部品・連携・全体・運用」のどこにあるかを判断します。この問題では「システム全体が要件を満たしているか」を確認する工程を選ぶことが正解への鍵です。
テスト工程の役割分担
システム開発のテストは、完成度を高めるために段階を踏んで実施されます。それぞれの役割を整理します。
・単体テスト(ユニットテスト):最小単位であるプログラム一つひとつが、設計通りに動作するかを確認します。選択肢アの内容です。 ・結合テスト(統合テスト):プログラム同士を組み合わせた際、データの受け渡しや機能の連携に問題がないかを確認します。選択肢ウの内容です。 ・システムテスト:システム全体が、要件定義で定められた機能や性能を満たしているかを確認します。ここで処理速度や負荷耐性などの非機能要件も検証されます。選択肢イがこれに該当します。 ・運用テスト(受入テスト):開発者が確認を終えた後、実際にシステムを使う利用者が「業務を問題なく遂行できるか」を最終確認します。選択肢エの内容です。
システムテストの重要性
システムテストは、単なる機能の確認にとどまらず、実運用に近い環境でシステム全体の品質を保証する重要なフェーズです。例えば、一つのプログラムが正常に動いても、同時に多数のユーザーがアクセスしたときに処理が遅くなったり、メモリ不足で停止したりすることがあります。このような「性能要件」や「信頼性」をチェックし、開発側で責任を持って品質を担保するのがこの段階の目的です。
教育的観点では、この問題は「誰が」「何を」検証するのかを混同しないように設計されています。結合までは開発者がプログラムの整合性を確かめ、システムテストで全体としての機能・性能を担保し、最後に利用者が現場の業務に照らし合わせて合格を出すという流れは、IT開発における基本的な品質管理のプロセスです。
現場で求められる視点
実際のシステム開発現場では、システムテストが不十分なまま運用テストに移行してしまうと、利用者が業務を始めた直後に大規模な障害が発生するリスクがあります。特に、現代のITシステムでは、機能だけでなく「どれだけ速く動くか」「どれだけ安全か」という非機能要件がビジネスの成否を分けることも多いため、開発者には単に動くものを作るだけでなく、システムテストを通じて性能や限界を定量的に把握する力が求められています。