本文へスキップ

平成22年度 春期 ITパスポート試験 問34

この問題の解説と、これまでの解答の記録です。

問34
頻出度★★★

ソフトウェア結合テストに関して説明したものはどれか。

出典 平成22年度 春期 ITパスポート試験 問34
解説

問 34

  • 不正解ア

    「関連する業務処理を行っているシステムと結合して、正常に稼働することを確認する」のは、開発したソフトウェア単体を超えて、周辺の既存システムまで含めた全体が業務として回るかを見る作業であり、結合テストより後段のシステムテスト (総合テスト) /運用テストに当たる。結合テストが見るのは、あくまで開発対象ソフトウェアの内部にあるプログラム同士のつなぎ目であって、外部の別システムとのつなぎ込みや業務全体の稼働確認ではない。検証の範囲が一段広すぎるため、結合テストの説明にはならない。

  • 不正解イ

    「すべての命令や分岐条件などを網羅するホワイトボックステスト」は、プログラムの内部構造・処理経路に着目し、命令網羅や分岐網羅といった網羅基準を満たすようにテストケースを作る技法で、モジュール 1 本ずつの内部を検証する単体テスト (ユニットテスト) の説明である。結合テストは個々のモジュールが正しく動くことを前提に、その組合せとインタフェースを見る工程なので、内部ロジックを網羅するこの記述は前段の工程を指しており誤り。

  • 不正解ウ

    「プログラマが検証ツールやチェックリストを利用して、プログラムがコーディング基準に従って作成されていることを確認する」のは、プログラムを実行せずにソースコードそのものを点検する静的テスト (コードレビュー、静的解析) であり、命名規則・字下げ・禁止構文などコーディング基準への適合を見る作業である。プログラムを実際に動かして挙動を確かめる動的テストである結合テストとは、確認の手段も対象も異なるため誤り。

  • エ

    正解 正解はエ。ソフトウェア結合テスト (統合テスト、インテグレーションテスト) は、単体テストに合格した個々のモジュールやプログラムを組み合わせて動かし、その「つなぎ目」が正しく噛み合うかを確認する工程である。ここで確認するのはプログラム間のインタフェース、すなわち呼び出し側と呼び出される側の間でやり取りされる引数の個数・順序・データ型・単位・値の範囲、戻り値やエラーコードの受け渡し、共有ファイルやデータベースを介した受け渡しのレイアウトなどが、設計どおり整合しているかという点である。モジュール単体では仕様どおり正しく動いていても、片方がセンチメートル単位で渡し、もう片方がメートル単位で受け取るといった食い違いは単体テストでは発見できず、結合して初めて表面化する。したがって「プログラム間のインタフェースが整合していることを確認する」と述べたエが、結合テストの説明として正しい。なお結合の進め方には、上位モジュールから順につないでいきまだ無い下位をスタブで代用するトップダウンテストと、下位から順につなぎ上位をドライバで代用するボトムアップテストがある。

ここがポイント
  • テスト工程は 単体テスト → 結合テスト → システムテスト → 運用テスト の順に検証範囲が広がる。結合テストの目的は、単体テスト済みのモジュール/プログラムをつないだときのインタフェース (引数の個数・型・単位、戻り値、受け渡すデータのレイアウト) が整合しているかを確認すること。単体では正しく動いても結合して初めて出る不整合を洗い出す工程である。
  • 紛らわしい工程・手法の区別: 命令網羅/分岐網羅などのホワイトボックステストはモジュール内部を見る単体テスト、コーディング基準への適合をツールやチェックリストで点検するのは実行を伴わない静的テスト (コードレビュー)、他の業務システムと結合して業務が回るかを見るのはシステムテスト/運用テスト。結合テストだけが「プログラム間のつなぎ目」を対象とする。
用語

解答の記録