【ITパスポート】単体テスト・結合テスト・システムテストの違いとV字モデルを解説

単体テスト・結合テスト・システムテストは、ソフトウェアを小さな部品から全体へと確認範囲を広げるテスト工程です。ITパスポートでは、何を対象に確認するかで区別します。

目次

定義と役割

単体テストは関数や画面部品を一つずつ確認します。結合テストは注文画面から在庫更新、決済連携のように、複数部品をつないだときデータや制御が正しく渡るかを調べます。システムテストは完成に近い全体が要求された機能・性能・運用条件を満たすかを確認します。

仕組みと比較

工程 確認対象 V字モデルで対応する上流工程
単体テスト 個別プログラムや部品 内部設計
結合テスト 部品間のインタフェースと流れ 外部設計
システムテスト 全体の機能・性能・運用 要件定義

V字モデルは、開発を細かく設計する流れとテストを小さい範囲から広げる流れを対応付ける考え方です。受入テストは利用者や発注者の立場で要求を満たすかを確認する点で、システムテストと区別します。

仕事での具体例

ネットショップの改修では、割引額を計算する部品を単体テストし、カート・在庫・決済金額の一致を結合テストします。最後に、多数の利用者が注文する時間帯でも注文からメール送信まで完了するかをシステムテストします。どの工程で不具合が出たかを記録すると原因を探す範囲を絞れます。

日常生活での具体例

家庭用スマート家電で、一つの照明をアプリで操作できるかの確認は単体テストに似ています。音声指示で照明とエアコンが連動するかは結合テストに近く、外出中の通知まで含め生活シーンが期待どおり動くかはシステムテストに近い見方です。

試験での見分け方と確認問題

「部品単独」「モジュール単位」なら単体テスト、「インタフェース」「連携」なら結合テスト、「全体」「要件・性能」ならシステムテストです。

  1. 最も直接関係する用語を選ぶときは、対象・目的・結果のどれを見ればよいか。
    • 用語の名前ではなく、問題文が示す対象と目的を確認します。
  2. 似た用語との違いを説明する際に最初に比較する点は何か。
    • 誰が何を対象に、どの状態を実現するかです。
  3. 仕事や日常生活の例から判断するときの注意点は何か。
    • 具体的な行動と、守りたい状態・得たい結果を対応付けます。

学習の要点

このテーマは、短い定義を暗記するだけでは選択肢の言い換えに対応しにくくなります。まず、どの対象を扱い、どんな状態を守る・実現するための考え方かを自分の言葉で説明します。次に、似た用語と比べて、対象の範囲、判断する人、結果として変わるものを整理します。具体例では、担当者がどの情報を確認し、何を選ぶのかまで追うと、試験問題でも生活の場面でも使える理解になります。

関連する用語をつないで学ぶ

結合テストで部品間のデータ受渡しを詳しく確認できます。外部設計は利用者から見える仕様をどの工程で固めるかの土台です。アジャイル開発では短い反復でテストを繰り返す狙いを学べます。

目次