ITパスポート 2011年 秋期 問44
問題文
システム開発において、システムテストで検証する内容として、適切なものはどれか。
選択肢
ア:個々のプログラム間のインタフェースの整合性を検証する。
イ:端末から行う照会処理の応答時間を検証する。(正解)
ウ:プログラムに記述された全ての命令を少なくとも1回実行し、仕様どおりに動くことを検証する。
エ:プログラムの分岐条件をホワイトボックステストによって検証する。
🔒 解説は解答すると表示されます
システム開発において、システムテストで検証する内容として、適切なものはどれか。【ITパスポート 解説】
正解の理由
イ: 「端末から行う照会処理の応答時間を検証する。」はシステムテストで検証する典型的な項目だからです。
システムテスト(システム全体の動作を確認するテスト)では、ユーザーが使う端末からサーバ(サービスを提供するコンピュータ)まで含めた「全体の動き」を確認します。機能が正しく動くかだけでなく、応答時間や性能(反応の速さや負荷時の挙動)といった非機能要件も検証対象になります。端末から照会して結果が返ってくるまでの時間(応答時間)は、まさにシステム全体で評価すべき性能指標です。
システムテスト(システム全体の動作を確認するテスト)では、ユーザーが使う端末からサーバ(サービスを提供するコンピュータ)まで含めた「全体の動き」を確認します。機能が正しく動くかだけでなく、応答時間や性能(反応の速さや負荷時の挙動)といった非機能要件も検証対象になります。端末から照会して結果が返ってくるまでの時間(応答時間)は、まさにシステム全体で評価すべき性能指標です。
解法ステップ
- 「システムテスト」が何を検証するかを確認する。
- 定義:システムテストはシステム全体(ユーザー端末〜サーバなど)を対象に、機能と非機能の両面を検証する段階。
- 各選択肢がどのテストレベル・手法に該当するかを分類する。
- 単体テスト(プログラム単位)、結合テスト(モジュール間の連携)、システムテスト(全体)、受入テスト(最終ユーザー視点)など。
- 各選択肢とシステムテストの対象を照らし合わせ、最も合致するものを選ぶ。
- 応答時間などの「性能」はシステム全体での評価が必要 → イ。
選択肢別の誤答解説
ア: 個々のプログラム間のインタフェースの整合性を検証する。
- 誤り。これは「結合テスト(結合試験)」の代表的な目的です。インタフェース(機能やデータの受け渡し部分)をモジュール同士で確認します。結合テストはモジュール単位の接続が正しいかを見ますが、システム全体の性能までは評価しません。
ウ: プログラムに記述された全ての命令を少なくとも1回実行し、仕様どおりに動くことを検証する。
- 誤り。これは「命令網羅(statement coverage)」の考え方で、プログラム内部の命令を網羅するテストです。主に単体テスト(個々のプログラムの正しさを確認する段階)やホワイトボックステスト(内部構造を見て設計するテスト)で扱います。システム全体の応答時間などは対象外です。
エ: プログラムの分岐条件をホワイトボックステストによって検証する。
- 誤り。分岐条件(if 文や分岐の正しさ)を調べるのはホワイトボックステスト(ソースコードの内部構造を見て行うテスト)です。これも単体テストや結合テストレベルで行われることが多く、システムテストの典型目的とは異なります。
よくある誤解
- 「システムテストは機能だけを見る」と思う誤解
- 実際は機能(正しい出力が出るか)だけでなく、性能(応答時間、同時接続時の挙動)、耐障害性、セキュリティなど非機能要件も重要な検証項目です。
- 「応答時間は運用後にしか測れない」と考える誤解
- 開発段階の環境でも本番に近い構成で性能検証(性能試験、負荷試験)を行います。本番に近い条件で測るのが望ましいですが、事前評価は必須です。
- 「ホワイトボックスはシステムテストでも使えない」との誤解
- 原則としてホワイトボックスは単体/結合向きですが、特定の不具合追跡や深い解析ではシステムレベルでも内部情報を使うことがあります。ただしシステムテストの主目的はブラックボックス的な振る舞い評価です。
補足コラム
テストの段階(簡単なイメージ)
- 単体テスト(ユニットテスト): 個々のプログラムや関数単位で正しく動くか確認。ホワイトボックス手法が多い。
- 結合テスト: モジュール間の連携やインタフェースが正しいかを確認。
- システムテスト: システム全体としての機能・性能・信頼性を確認。端末からサーバまで含むエンドツーエンド(E2E)視点。
- 受入テスト(ユーザー受入): 実際のユーザー要件を満たすか、業務視点で最終確認。
例)オンライン通販サイトの「注文→決済→確認」フロー
- 単体テスト: 商品価格計算の関数が正しいか。
- 結合テスト: 決済モジュールと在庫管理モジュールの連携が取れているか。
- システムテスト: ユーザーが注文してから注文確認画面が表示されるまでの時間や、同時に多数がアクセスした時の応答性を検証。
性能試験の代表的な手法
- 負荷試験(複数ユーザーでの動作確認)
- ストレス試験(許容を超える負荷での挙動確認)
- 応答時間測定(平均応答時間や95パーセンタイルなど)
ツール例(参考)
- Apache JMeter(性能試験ツール):複数同時アクセスを模擬し応答時間を測れる。
(ツール名は覚えるより「性能検証を自動化できる」と理解することが大切です)
FAQ
Q1: システムテストと受入テストの違いは何ですか?
A1: システムテストは開発側がシステム全体の機能・性能を検証する段階です。受入テストはユーザーや発注者が「業務要件を満たしているか」を確認する最終チェックです。受入はユーザー視点が強いです。
A1: システムテストは開発側がシステム全体の機能・性能を検証する段階です。受入テストはユーザーや発注者が「業務要件を満たしているか」を確認する最終チェックです。受入はユーザー視点が強いです。
Q2: 応答時間はどの段階で測ればよいですか?
A2: システムテスト段階で本番に近い構成・データで性能試験を行います。複数段階で測定し、問題あれば設計や環境を調整します。
A2: システムテスト段階で本番に近い構成・データで性能試験を行います。複数段階で測定し、問題あれば設計や環境を調整します。
Q3: ホワイトボックスとブラックボックスの使い分けは?
A3: ホワイトボックスは内部コードを見て設計するテスト(単体向き)。ブラックボックスは外からの振る舞いを検証するテスト(結合・システム向き)。目的に応じて使い分けます。
A3: ホワイトボックスは内部コードを見て設計するテスト(単体向き)。ブラックボックスは外からの振る舞いを検証するテスト(結合・システム向き)。目的に応じて使い分けます。
関連キーワード: システムテスト、応答時間、性能試験、負荷試験、結合テスト、単体テスト、ホワイトボックステスト、ブラックボックステスト、インタフェース、エンドツーエンドテスト

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

