ITパスポート 2011年 秋期 問41
問題文
ソフトウェア開発プロセスにおける結合テストの実施内容として、適切なものはどれか。
選択肢
ア:LANケーブルで複数のPCを接続し、ファイルの共有ができることをテストする。
イ:PCと周辺装置をつなぐケーブルの差込口の形状を確認し、ケーブルが無理なく差し込めることをテストする。
ウ:インターネットサービスプロバイダと契約した後、ブラウザでWebサイトが閲覧できることをテストする。
エ:二つの単体テスト済のプログラムを組み合わせ、プログラム間のインタフェースが仕様どおりに作成され、正常に連動することをテストする。(正解)
🔒 解説は解答すると表示されます
ソフトウェア開発プロセスにおける結合テストの実施内容【ITパスポート 解説】
正解の理由
結合テスト(Integration Test:個々の部品やモジュールを組み合わせて、相互のやり取り(インタフェース)が正しく動くかを確認するテスト)を問う問題です。
エは「二つの単体テスト済のプログラムを組み合わせ、プログラム間のインタフェース(やり取りの取り決め)が仕様どおりに作成され、正常に連動することをテストする」とあり、結合テストの定義そのものを表しています。
したがってエが正解です。
エは「二つの単体テスト済のプログラムを組み合わせ、プログラム間のインタフェース(やり取りの取り決め)が仕様どおりに作成され、正常に連動することをテストする」とあり、結合テストの定義そのものを表しています。
したがってエが正解です。
(補足:単体テスト(unit test:プログラムの最小単位を個別に動作確認するテスト)と比べ、結合テストはモジュール間の接続やデータの受け渡しに注目します。)
解法ステップ
- 「結合テスト」が何を確認するかを思い出す。
- 単体(モジュール単位)→ 結合(モジュール間の連携)→ システム(全体の動作)という流れ。
- 各選択肢が「ソフトウェアのモジュール間の連携」を確認しているかを見る。
- モジュール間のインタフェースや連動を直接テストしている選択肢を選ぶ。
- ハードウェア接続やネットワーク契約、外部サービスの利用確認は結合テストではなく別のテストや環境設定であると除外する。
- 残った選択肢(エ)が結合テストに合致するため正解とする。
選択肢別の誤答解説
-
ア: LANケーブルで複数のPCを接続し、ファイルの共有ができることをテストする。
- LAN(Local Area Network:狭い範囲のネットワーク)やネットワーク接続の確認です。これはネットワークや環境構築のテストであり、ソフトウェアモジュール間の結合テストではありません。システムテストや運用前の接続確認に近い内容です。
-
イ: PCと周辺装置をつなぐケーブルの差込口の形状を確認し、ケーブルが無理なく差し込めることをテストする。
- 物理的なハードウェアの検査です。ソフトウェアの結合(モジュール間の連携)とは無関係です。
-
ウ: インターネットサービスプロバイダ(ISP:インターネット接続サービスを提供する事業者)と契約した後、ブラウザでWebサイトが閲覧できることをテストする。
- インターネット接続や外部サービス利用の確認です。環境やインフラの確認・受入テストに該当します。結合テストの定義とは異なります。
-
エ: 二つの単体テスト済のプログラムを組み合わせ、プログラム間のインタフェース(やり取りの方法)が仕様どおりに作成され、正常に連動することをテストする。
- これが結合テストの典型的な内容です。正解です。
よくある誤解
-
「結合テストはネットワークやPCのつながりを確認することだ」と考える誤解。
- ネットワーク接続は環境やインフラ確認であり、結合テストはソフトウェアモジュール同士のやり取りを検証します。
-
「二つ以上動けば結合テストになる」と考える誤解。
- 単に動作するだけでなく、仕様どおりにデータや制御が受け渡されるか(インタフェースの正確さ)を確認するのが結合テストです。
-
「結合テストとシステムテストは同じ」と混同する誤解。
- 結合テストはモジュール間の連携を中心に行い、システムテストはシステム全体(機能、性能、セキュリティなど広範囲)を確認します。
補足コラム
- 結合テストの進め方の例
- 呼び出し側と呼び出される側のモジュールを組み合わせてテストする。
- 外部コンポーネントが未完成の時は「スタブ(stub:簡易実装で応答を返すもの)」や「ドライバ(driver:呼び出しを代行する小さなプログラム)」を使うことがあります。
- テストの流れには「トップダウン(上位から下位へ)」や「ボトムアップ(下位から上位へ)」といった進め方があります。
- 現代の開発では、自動化ツールやモック(mock:外部依存を模擬する仕組み)を使って結合テストを継続的に実行することが多いです。これによりバグの早期発見が可能になります。
FAQ
Q1: 単体テストと結合テストは誰が実施しますか?
A1: 小規模チームでは開発者自身が単体・結合テストを行うことが多いです。大規模では専任のテストエンジニア(品質保証担当)が行うこともあります。
A1: 小規模チームでは開発者自身が単体・結合テストを行うことが多いです。大規模では専任のテストエンジニア(品質保証担当)が行うこともあります。
Q2: 結合テストで見つかる問題の例は?
A2: データの形式が違う(文字コードや日付形式)、エラー時の処理が揃っていない、呼び出し順序の誤り、例外(エラー)の伝播が正しくない、などが典型例です。
A2: データの形式が違う(文字コードや日付形式)、エラー時の処理が揃っていない、呼び出し順序の誤り、例外(エラー)の伝播が正しくない、などが典型例です。
Q3: 結合テストはどの段階で行う?
A3: 単体テストが済んだ後、モジュールを組み合わせ始めたタイミングで行います。開発中やリリース前の段階で段階的に実施します。
A3: 単体テストが済んだ後、モジュールを組み合わせ始めたタイミングで行います。開発中やリリース前の段階で段階的に実施します。
関連キーワード: 結合テスト、単体テスト、システムテスト、インタフェース、スタブ、モック、トップダウン、ボトムアップ、テスト自動化、ISP、LAN

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

