マネジメント系

ソフトウェアテストの種類 — 単体・結合・システムテスト

導入

アプリをリリースした直後に「動かない」というクレームが殺到したら、開発者にとって最悪の事態です。そうならないために、ソフトウェア開発では段階的なテストを繰り返してから本番に臨みます。

くわしく知ろう

ソフトウェアテストは、開発工程の順に単体テスト・結合テスト・システムテスト・受入テストの4段階で実施するのが一般的です。

単体テスト(ユニットテスト)は、プログラムを構成する個々のモジュール(部品)が単体で正しく動作するかを確認する工程を指します。開発者自身が実施することが多く、最も細かい粒度のテストです。

結合テスト(統合テスト)は、複数のモジュールを組み合わせて連携が正しく機能するかを確認します。モジュール間のインタフェース(接続部分)で問題が起きやすいため、重要な工程になっています。

システムテストは、システム全体として要件を満たしているかを確認する工程で、開発側が実施します。性能や負荷への耐性も検証の対象になります。

受入テスト(ユーザー受入テスト:UAT)は、発注者や利用者が実際に使ってみて、要件どおりに動作するかを最終確認する工程です。

また、テスト設計の手法として「ブラックボックステスト」と「ホワイトボックステスト」があります。前者はプログラムの内部構造を意識せず入力と出力だけを確認する方式で、後者はプログラムの内部ロジックを見ながら全ての経路が通るように設計する方式です。

具体例

たとえばECサイトを開発する場合、「カート機能のモジュール単体の動作確認」が単体テスト、「カートと決済機能を連携させた確認」が結合テスト、「サイト全体としての動作・負荷確認」がシステムテスト、そして「実際の発注者や担当者が操作してOKを出す」のが受入テストにあたります。

まとめ・試験ポイント

  • テストの順序=単体→結合→システム→受入(開発の順序と逆に検証が積み上がる)
  • 単体テスト=モジュール単体、結合テスト=モジュール間連携
  • システムテスト=システム全体の要件確認(開発側実施)
  • 受入テスト=発注者・利用者が最終確認(UAT)
  • ブラックボックステスト=内部を見ずに入出力で検証
  • 試験では「各テスト工程の目的と実施者の組み合わせ」を問う出題が多い

学習した内容を試験形式で確認しよう。ITパスポート入門試験100問に挑戦できます。

入門試験100問に挑戦する