表計算ソフトを利用して, 次の 3 種類のワークシートを作成した。それぞれのワークシートをプログラムと考えるとき, これらのワークシートの動作を確認するテストのうち, 結合テストに相当するものはどれか。 (1) 4~9 月の各月の売上をすべて入力すると, その合計を計算するワークシート“上半期” (2) 10~3 月の各月の売上をすべて入力すると, その合計を計算するワークシート“下半期” (3) ワークシート“上半期”の売上合計とワークシート“下半期”の売上合計を加えて年間の売上合計を自動計算し, 月別のグラフを表示するワークシート“年間”
平成22年度 春期 ITパスポート試験 問40
マネジメント系システム開発技術 › システム開発技術
この問題の解説と、これまでの解答の記録です。
問40
頻出度★★★
解説
問 40
不正解ア
1 か月分を入力しなかったときに各ワークシート上で売上合計がエラーになるかを見るテストで、検証対象は“上半期”“下半期”それぞれの内部の入力チェック処理である。ワークシート間の受渡しを一切通らないため、単体テスト (異常系のテスト) に当たる。
不正解イ
各ワークシートに担当月の売上を入力し、そのワークシート内で半期の売上合計が正しく計算されるかを確認するもので、1 つのモジュール単独の機能検証、すなわち単体テストである。“年間”へのデータ受渡しは検証していない。
- ウ
正解 結合テスト (統合テスト) は、単体テストを終えた複数のモジュールを組み合わせ、モジュール間の受渡し (インタフェース) が正しく機能するかを確認する段階のテストである。本問は各ワークシートを 1 つのプログラムとみなすので、“上半期”と“下半期”はそれぞれ単独で半期合計を出すモジュール、“年間”はその 2 つの出力を受け取って年間合計を自動計算し月別グラフを表示するモジュールに相当する。ウは、“上半期”“下半期”で計算された売上合計が“年間”へ正しく反映されるか、つまりワークシートをまたぐデータ連携部分そのものを確認しており、まさに結合テストに当たる。
不正解エ
半期合計の合算も年間合計も人が手計算し、その結果どうしを突き合わせているだけで、ワークシート“年間”の自動計算やワークシート間のデータ受渡しを実際に動作させて確かめていない。プログラムのインタフェースを検証していないので結合テストではなく、結果の妥当性を人手で確かめる検算にすぎない。
ここがポイント
- テスト工程の段階の違い: 単体テストはモジュール単独の内部処理を確認、結合テストは複数モジュールを組み合わせてモジュール間のインタフェース (データの受渡し) を確認、システムテストはシステム全体が要求どおり動くかを確認する。
- 「プログラム = ワークシート」と読み替えると、1 枚のワークシート内で完結するテストは単体テスト、ワークシートをまたいで値が渡る箇所を狙うテストが結合テストである、と機械的に判定できる。
用語