システムテストで実施する作業の説明として, 適切なものはどれか。
平成25年度 秋期 ITパスポート試験 問35
この問題の解説と、これまでの解答の記録です。
問 35
不正解ア
誤り。バグを修正すると、その修正が他の箇所に悪影響 (デグレード) を及ぼすことがあります。そのため修正後は、バグを検出したテストケースだけでなく、影響が及ぶ範囲の既存テストケースも実行し直して、以前は正常だった機能が壊れていないかを確認します。これを回帰テスト (リグレッションテスト) といいます。「検出したテストケースだけをやり直す」のは、この回帰テストを怠る不適切なやり方です。
不正解イ
誤り。正常な値を入力した場合の確認 (正常系) だけでなく、範囲外の値の入力や必須項目の未入力といった想定外・異常な操作 (異常系) に対して、システムが適切にエラーを返し安全に動作するかを確認することは、システムテストの重要な目的の一つです。異常系のテストを省略すると、本番運用で誤入力や不正入力が起きたときに誤動作や停止、セキュリティ上の問題を招くおそれがあります。省略してよいものではありません。
不正解ウ
誤り。二重に不適切です。第一に、システムテストは仕様・要件を満たしているかを外部から確認するブラックボックステストが中心であり、プログラムの内部コードの構造を見て網羅性を確認するホワイトボックステストは、主に単体テストの考え方です。第二に、テストを行いながらその場で不具合を修正するのは適切ではありません。テストの実施と欠陥の修正は工程・担当を分け、修正後は改めて所定の手順でテストをやり直して結果を記録する必要があります。テストしながら直すと、何をどの状態で確認したのかが曖昧になり、品質を客観的に保証できなくなります。
- エ
正解 正解はエ。システムテストは、単体テスト・結合テストを経て組み上がったシステム全体を、開発側が要件定義どおりにできているかを確認する最終段階のテストです。ここでの確認対象は「必要な機能が仕様どおり動くか」という機能要件だけではありません。応答時間やスループットといった性能、障害時の可用性・信頼性、セキュリティ、操作性など、システムが満たすべき品質面の条件である非機能要件も、システムテストで検証すべき対象です。したがって「ソフトウェアの機能的なテストだけでなく、性能などの非機能要件もテストする」というエが、システムテストで実施する作業の説明として適切です。実際、性能不足やセキュリティの不備は個々のプログラム単体では顕在化せず、システム全体を本番相当の構成・データ量で動かして初めて分かるため、システム全体を対象とするこの工程でこそ確認する必要があります。
- システムテストは、結合されたシステム全体を要件定義に照らして検証する最終段階のテストであり、検証対象は機能要件だけでなく、性能・信頼性・可用性・セキュリティなどの非機能要件も含む。
- バグ修正後は、修正が他へ悪影響を与えていないかを確かめる回帰テスト (リグレッションテスト) が必要であり、また異常系 (範囲外の値・必須項目未入力など) のテストも省略してはならない。