ISTQB Foundation Level(CTFL)シラバスの第2章「ソフトウェア開発ライフサイクルにおけるテスト」では、テストレベル(Test Levels)として以下の4段階が定義されています。
-
コンポーネントテスト(Component Testing)
-
コンポーネント統合テスト(Component Integration Testing)
-
システムテスト(System Testing)
-
システム統合テスト(System Integration Testing)
本記事では、最後の「System Integration Testing(システム統合テスト)」について、わかりやすく解説します。
システム統合テストとは?
システム統合テストとは、複数のシステム間の連携や通信を検証するテストレベルです。
システム同士がどのようにデータをやり取りし、正しく動作しているかを確認します。
例えば:
-
Webアプリが外部の決済システムと連携して支払いを処理する
-
スマート家電がクラウドサーバーと通信して設定を同期する
-
複数のサブシステムが組み合わさって全体として動作する
といったケースです。
システム統合テストが必要な理由
現代のアプリケーションや製品は、単一のシステムで完結しないことがほとんどです。
多くの場合、複数の外部システムやサービスと連携して成り立っています。
たとえば、オンラインショッピングサイト(Amazonなど)では:
-
ショッピングシステム → 商品を選択し注文
-
決済システム(Visa, Master, PayPalなど) → 支払い処理
-
銀行システム → ネットバンキング決済
-
配送システム → 配送ステータスを更新
これらが連携して“ひとつの体験”を構成しています。
そのため、異なるシステム間で正しく通信・動作するかを確認するために、システム統合テストが欠かせません。
テストの目的と焦点
システム統合テストでは、主に以下を確認します。
-
システム間インターフェースが正しく動作しているか
-
データの送受信が正しい形式・内容で行われているか
-
エラーや例外が適切に処理されるか
-
外部サービスやAPIとの通信が安定しているか
この段階では「単体機能の正しさ」ではなく、“システム同士のつながり”が意図通り動くかが焦点です。
実施環境について
システム統合テストは、本番環境に近いテスト環境で行うのが理想です。
なぜなら、通信・インターフェース・セキュリティなど、本番同様の条件でないと正しい動作確認ができないためです。
ただし、本番環境をそのまま使うのはコストやリスクが高いため、
現実的には「本番に近いシミュレーション環境」で行われます。
システム統合テストの3つのパターン
動画では、システム統合テストの組み合わせを3つに分類しています。
① ソフトウェア × ソフトウェア(Software–Software)
最も一般的なケースです。
例:Amazon(ECサイト) × 銀行・クレジットカードの決済ゲートウェイ
Amazon自体は支払い処理のシステムを持っていません。
代わりに、VisaやMastercard、PayPalなどの外部サービスと連携しています。
このような異なるソフトウェア間の連携確認が、System Integration Testingの典型例です。
② ソフトウェア × ハードウェア(Software–Hardware)
IoTや組み込み製品で多く見られるケースです。
例:スマートウォッチ、スマート冷蔵庫、EV車など
これらは、ハードウェアと制御ソフトウェアが密接に統合されており、
通信・センサー制御・データ転送などをテストします。
「IoT(Internet of Things)」の世界では、まさにこのレベルのテストが重要です。
③ ハードウェア × ハードウェア(Hardware–Hardware)
ソフトウェアを含まない、物理的なシステム間の統合です。
例:工場の生産設備、エレベーター、遊園地のジェットコースターなど。
これらは複数の機械部品(油圧・空圧など)が連動して動作します。
ソフトウェアが関与しなくても、異なるメーカーの機器同士の統合確認が必要です。
まとめ:System Integration Testingの重要性
|
観点 |
内容 |
|---|---|
|
テスト対象 |
システム間インターフェース、通信、データ交換 |
|
実施目的 |
複数システムが連携して正しく動作するか確認 |
|
実施環境 |
本番に近い環境が望ましい(疑似環境も可) |
|
主な例 |
決済連携、IoT機器連携、複合システム統合 |
今日のソフトウェアは単体では成り立たず、複数のシステムやサービスが融合してひとつの価値を生む時代です。
そのため、System Integration Testingは品質保証の最終段階として、非常に重要な役割を担っています。



コメント