ITパスポート 2011年 春期 問54
問題文
テストを次の順序で行う場合、システムテストの目的として、最も適切なものはどれか。
選択肢
ア:開発者が、システム全体の機能と性能を検証する。(正解)
イ:プログラム間のインタフェースに問題がないことを確認する。
ウ:プログラムの内部構造に着目して、プログラムが正しく動作していることを確認する。
エ:利用者が、本番環境のシステムを使って、業務が実施できることを検証する。
🔒 解説は解答すると表示されます
テストを次の順序で行う場合、システムテストの目的 +【ITパスポート 解説】
正解の理由
設問で求められる「システムテスト」は、個々のプログラムを組み合わせた後の「システム全体」を検証するテストです。したがって、システム全体の機能や性能(負荷・応答時間など)を確認することが目的になります。これが選択肢アの説明に対応します。
ここでの重要点は「システム全体を、統合された状態で評価する」ことです。つまり、単独のプログラムやモジュールの内部構造を見るのではなく、複数の部分が連携して期待通りに動くか、性能的に問題がないかを確認します。
解法ステップ
- テストの階層を思い出す(順序):
- 単体テスト(Unit test:個々のプログラム単位を検証)
- 結合テスト(Integration test:プログラム間のやり取り=インタフェースを検証)
- システムテスト(System test:システム全体の機能と性能を検証)
- 受入テスト/ユーザー受入(UAT:User Acceptance Test:利用者が業務で使えるかを検証)
- 各選択肢がどの階層に該当するかを当てはめる。
- 「システム全体」と「性能」をキーワードにする。該当する説明が正答。
選択肢別の誤答解説
- ア: 正しい。システム全体の機能・性能を検証するのがシステムテストの目的です。ここでは統合された環境でブラックボックス的に評価します。
- イ: 間違い。これは結合テスト(Integration test:複数のプログラムやモジュール間のインタフェース=接続やデータの受け渡しが正しいかを確認するテスト)に該当します。結合テストはモジュール同士の連携に注目します。
- ウ: 間違い。これは単体テスト(Unit test:個々のプログラムや関数の内部動作やロジックを確認する)やホワイトボックス(内部構造に着目する)に該当します。内部構造を見るのは単体テスト段階です。
- エ: 間違い。これは受入テスト(UAT:利用者が業務として使えるかを検証するテスト)に該当します。受入テストは利用者や顧客が実際の業務フローで確認する段階で、場合によっては本番環境に近い検証環境(ステージング)や本番で行うこともありますが、目的が「利用者が業務を実施できることの検証」である点が受入テストの特徴です。
よくある誤解
- 誤解1: 「システムテストは開発者がやる」と考える。
解説: 実際はテスト専門の担当者や品質保証(QA)チーム、テストエンジニアが主に実施します(もちろん小規模開発では開発者が行う場合もあります)。ポイントは「システムとしての振る舞い」を客観的に評価することです。 - 誤解2: 「システムテスト=本番での利用者確認」と混同する。
解説: システムテストは本番に近い検証環境で行うことが多く、性能やセキュリティも含めた総合検証です。利用者が業務で確認する受入テストとは目的と主体が異なります。 - 誤解3: 「内部コードの細かいバグはシステムテストで見つける」と思う。
解説: 内部ロジックの細かいバグは単体テストやコードレビューで見つけるのが効率的です。システムテストは機能の結合時の不整合や性能問題を見つける役割が中心です。
補足コラム
テストの流れを覚える簡単な語呂合わせ:
「単体(たんたい)→結合(けつごう)→システム→受入(じゅにゅう)」
身近な例(オンラインショップ開発):
身近な例(オンラインショップ開発):
- 単体テスト:商品を扱うクラスの関数が正しく計算するか確認する。
- 結合テスト:注文処理が在庫システムと正しくやり取りできるか確認する(インタフェース)。
- システムテスト:サイト全体で商品検索→注文→支払い→出荷依頼が性能面も含めて正常に動くかを確認する。
- 受入テスト:発注担当者が実際の業務手順で使って受け入れ判定する。
システムテストには機能テストのほか、性能テスト(負荷試験)、セキュリティテスト、信頼性テストなどが含まれます。これらはシステム全体に対する非機能要件の検証でもあります。
FAQ
Q1: システムテストはブラックボックステストですか?
A1: 基本的にはブラックボックス的に行います。外部から見える機能や性能に注目するため、内部コードを直接見ることは少ないです。
A1: 基本的にはブラックボックス的に行います。外部から見える機能や性能に注目するため、内部コードを直接見ることは少ないです。
Q2: システムテストは誰が実施しますか?
A2: 通常はテスト専門チームやQAエンジニアが実施します。規模や体制によっては開発チームや第三者が担当することもあります。
A2: 通常はテスト専門チームやQAエンジニアが実施します。規模や体制によっては開発チームや第三者が担当することもあります。
Q3: 本番環境でテストしても良いですか?
A3: 本番環境で直接テストするのはリスクがあります。システムテストは本番に近い「テスト環境(ステージング)」で行い、本番データを使う場合は注意やマスキングを行います。受入テストや特定の実稼働確認を除き、本番での大規模な試験は避けるのが一般的です。
A3: 本番環境で直接テストするのはリスクがあります。システムテストは本番に近い「テスト環境(ステージング)」で行い、本番データを使う場合は注意やマスキングを行います。受入テストや特定の実稼働確認を除き、本番での大規模な試験は避けるのが一般的です。
Q4: システムテストで見つかった不具合は誰が直しますか?
A4: 原則として開発者が修正します。修正後は再テスト(回帰テスト)を行い、修正が他に影響を与えていないか確認します。
A4: 原則として開発者が修正します。修正後は再テスト(回帰テスト)を行い、修正が他に影響を与えていないか確認します。
関連キーワード: システムテスト、単体テスト、結合テスト、受入テスト、テスト階層、性能試験、テスト環境、インタフェース、ブラックボックステスト

\ せっかくなら /
ITパスポートを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

