発注ラウンジTOP>WEBシステム>結合テストでシステムの連携を検証!主な種類と実施方式の違い

結合テストでシステムの連携を検証!主な種類と実施方式の違い

XのアイコンFacebookのアイコンはてなブックマークのアイコンPocketのアイコンLineのアイコン

integrationtesting2-min

結合テストとは、システム開発プロセスにおいて実施されるテスト方法です。
結合テストのほかに、単体テストや機能テスト、システムテストがあり、開発の段階によって行うテストが変わります。
システム開発は、完成して終わりではありません。
開発したシステムを運用させることが目的であり、ユーザー満足度の高いシステムを納品するためには品質の高いテストが必要不可欠です。
今回は、結合テストの概要や種類、具体的なテスト方法や実施時の注意点などについてご紹介します。

 

目次

 

初めてプロジェクト担当者になった方向け
プロが教える「IT基礎知識・用語集」プレゼント

システム開発「はじめの一歩」ITのプロから学ぶ基礎知識

この資料でわかること
・システム開発の流れ
・専門用語の解説
・開発手法によるメリット・デメリット
・失敗を防ぐコツ

 

結合テストとは?

結合テストとは?のイメージ図

結合テストは、IT(Integration Test)、JT(Joint Test)とも呼ばれます。同時に複数のモジュールを稼働して、モジュール同士を結合した際に意図した通りに動作するかどうかを検証します。

事前にテスト仕様書を作成し、実際に行うテスト項目を決めてから行います。結合テストを実施する前に、単体テストの全項目を完了させましょう。

単体テストは、機能やモジュールが一つずつ問題なく動くかを確認するテストです。

結合テストでは、ただ動作するかどうかをテストするのではなく、操作と機能の対応関係に誤りがないか、また、動作が仕様通りであるかを検証します。単体テストによって、各モジュール内の機能連携や処理の流れが、仕様に沿って正しく動作するかを確認します。

 

結合テストの主な種類

結合テストの主な種類のイメージ図

システムやプロジェクトの規模によって、テストの範囲が変わります。大規模なプロジェクトであればあるほど、システムの数も機能も多いため、複数の工程に分割して順次検証を行う手法が一般的に採用されています。

 

●インタフェーステスト

インタフェーステストでは、個々の機能が正しく連携するかどうかを検証します。異なるデータ型間での受け渡しによる値の変化や不整合が発生しないか、データが正しく渡されているか、モジュール間の動作が仕様どおりかを確認します。

 

●業務シナリオテスト

業務シナリオテストとは、実際の業務フローを踏まえたテストです。目的とする業務内容や対象システムの特性によって、内容は変動しますが、実際に業務で行う工程や一日の流れをテスト仕様書として作成して検証します。ポイントは、イレギュラーケースを必ず含めることです。イレギュラーな操作は想定していないので、正常に動作しないことがあります。例えば、登録後のレコード削除ができるか、登録したレコードの変更ができるか、同じレコードを二つのアカウントで同時に更新ができないよう制御されているかなど、業務で想定される例外的なシナリオについても、漏れなく検証を実施することが求められます

 

●負荷テスト

負荷テストとは、システムの負荷を限界までかけ、動作が遅くなったり停止したりしないかを確認するテストです。予想される連続稼働時間にわたりシステムを運転し、意図しない停止が発生しないことを検証します。稼働テストの問題例としては、エラーログ保存領域の見積もりが不十分であったことにより、100時間の稼働には問題がなくても、200時間稼働した場合にエラーログの保存領域に空きがなくなり、意図しない動作をしてしまうといったことが考えられます。

 

●ブラックボックステスト

ブラックボックステストとは、外部からの入力に基づいて正しく出力が実行されているかの動作を検証するテストです。 同テストでは、性能以外にも、デザインや操作性などをユーザー視点で確認することができます。 システムの内部構造やソースコードなどを考慮しないため、システムの概要を認識していない関係者以外の第三者でも実施できるテストです。 システムの仕様の誤りについては、ブラックボックステストで判断できないため、ホワイトボックステストを実施して、内部構造の検証を行いましょう。

 

【目的別】テストタイプ

【目的別】テストタイプのイメージ図

結合テストは、検証の目的別に、6種類のテストタイプがあります。

  1. 疎通テスト
  2. 機能テスト
  3. 性能テスト
  4. 回帰テスト
  5. セキュリティテスト
  6. ユーザビリティテスト

テストタイプの特徴について、詳しく解説します。

 

●疎通テスト

モジュール同士をつないだ際に動作するか、データが問題なく行き来できているかを確認するテストです。 疎通テストを実施することによって、結合テストの初期に見つかるモジュール間の連携ミスを取り除けます。 疎通テストでモジュールの問題を取り除くことができれば、機能テストを行う際の工程での手戻りを減らせます。

 

●機能テスト

システムの機能が正常に動作するかを確認するテストです。 例えば、「会員登録フォームに入力をしたら、会員登録が完了する」「問い合わせフォームで問い合わせをしたら、返信メールが届く」などがあります。 それぞれの機能をテストしておくことで、手戻りを防ぐことが可能です。

 

●性能テスト

性能テストは、想定した時間内にレスポンスが返ってくるかを確認するテストです。 例えば、システム内でCTAボタンを押したときに、想定時間内にページが切り替わり、エラーにならずに画面遷移が実施されるかなどを確認します。 性能テストで、想定時間内にページが切り替わらない場合は、修正をして、想定時間内にレスポンスが返ってくるように調整しましょう。 性能テストで問題がなければ、負荷のない状態で正常に動くことを確認でき、負荷テストの整合性が取れます。

 

●回帰テスト

新機能の追加や不具合やエラーが起こった部分を修正した後に、変更を行っていない機能に不具合が起こっていないかを確認するテストです。 本来は、変更を行った部分以外もすべて不具合が起こっていないかの回帰テストを実施することが理想的ですが、現実的には実施は困難です。 そのため、新機能追加や不具合が出ていた部分を修正した場合に、不具合が発生しそうな場所に範囲を絞ってテストを実施しましょう。

 

●セキュリティテスト

悪意あるユーザーにシステムが攻撃された場合でも、システムは大丈夫かを検証するテストです。 セキュリティテストは、本番で使用するデータとは関係のないデータを使用し、システム上のセキュリティに問題がないかどうかを確認します。 悪意ある第三者による不正アクセスによって、ユーザーの個人情報を漏洩させないためにも、セキュリティテストは非常に重要なテストです。

 

●ユーザビリティテスト

ユーザー視点でシステムの操作性や使用感などの問題がないかを確認するテストです。 ユーザーが使用した場合に、使い勝手が良く、ストレスなくスムーズに操作ができるかを確認することで、システムを客観的に評価できます。 ユーザビリティテストでユーザーが直面する問題点を見つけ出し、改善することでユーザビリティの向上につながります。

 

結合テストの実施方式

結合テストの実施方式のイメージ図

結合テストには、トップダウンテストとボトムアップテストの二つの実施方式があります。具体的にどのようにテストを実施するのか、結合テストの実施方式について解説します。

 

●トップダウンテスト

トップダウンテストとは、上の階層のモジュールから順に下の階層をテストしていく方法です。上位から順にテストすることで、重要な部分を早い段階で確認できます。また、重要な上位モジュールを繰り返しテストすることになるので、重大な潜在バグを発見しやすいというメリットがあります。しかし、上位から順にテストする方式のため、下位モジュールの開発が一定水準まで完了していないとテストを実施できません。開発の初期段階では、テストをしながら開発を同時に行うことは難しいでしょう。

 

●ボトムアップテスト

ボトムアップテストは、下の階層のモジュールから順に上の階層をテストしていく方法です。開発初期の段階からテストを同時進行で行うことができるため、テストケースや仕様書の作成、結果チェックが手軽に行える点が利点です。一方、下位のモジュールからテストを行うため、最終段階で上位モジュールにバグが発見されると、修正作業が大きく膨らむ可能性があります。

 

結合テストを実施するときのポイント

結合テストを実施するときのポイントのイメージ図

結合テストは、開発するシステムの規模や対象によってテスト内容が大きく変動するため、すべてのシステムに適用可能な汎用的な結合テストは存在しません。ただし、結合テストを実施する際に押さえるべきポイントは、多くのケースで共通しています。実施時の注意点をしっかり覚えておきましょう。

 

●本番環境と同じ環境・データでテストをする

可能な限り、実際に運用する本番環境と同じ環境をテスト環境でも準備しましょう。システテストと本番環境が異なると「Chromeでは問題なく操作ができるが、本番環境のInternet Explorerでは操作ができない」といった問題が考えられるからです。同じミドルウェアやサーバ、バージョンを使えば、より良い質の高いテストができます。また、環境だけでなくデータやスケジュールも本番環境と差異のない状態であることが理想です。例えば、cron(ジョブスクリプトを自動実行するデーモンプロセス)を利用して自動的に実行されるジョブを本番環境で予定していれば、テスト環境でも同じ時刻に実行するようにcronを設定します。ジョブで利用するリソースが、同時刻にはほかの操作によって利用できずに失敗する可能性が考えられるため、スケジュールも本番環境と同じにしましょう。

 

●DBのデータを直接書き換えるのはNG

テストを簡易的に済ませようとして、DBに保存されているデータを直接追加・変更・削除してしまうことがあります。しかし、データを変更する場合には、必ずシステム上の機能を利用して変更するようにしましょう。システムの機能を駆使してデータを操作することで、これまで検証が漏れていた想定外の操作に起因する不具合を検出できる可能性があります。

 

●重要度が高い機能からテストを実施する

システム開発にかけられるコストや時間には限りがあるため、テストは重要度の高い機能からテストを実施することで効率的にシステム開発が行えます。 例えば、サービスの「資料請求」と「申し込み」のテストを行う場合、優先度が高いのは「申し込み」のテストとなります。 サービスの「申し込み」は、コンバージョンにあたるため、申し込みがスムーズに行えなければ、意味がありません。 優先すべき機能を見極め、優先順位をつけて効果的にテストを実施しましょう。

 

●テスト範囲は少しずつ広げる

テスト範囲を少しずつ広げるようにすれば、問題が発生したときに、どの部分に問題が発生しているかわかりやすく、不具合に早急に対処できます。 テスト範囲を広くした状態で不具合が発生した場合には、不具合が起こっている場所を探すことに時間がかかってしまいます。 テストは最終工程からではなく、最初の工程から順番に確認していくことで、いくつもの工程をさかのぼって不具合を探していく必要がなくなり、効率的にテストを進められます。

 

結合テストに関するよくある質問(FAQ)

ポイントを整理し、Q&A形式でまとめました。

 

Q. 結合テストとは何ですか?

A. 結合テストとは、複数のモジュールを組み合わせて連携動作を確認する、品質保証において極めて重要な工程です。単体テスト完了後に実施され、モジュール間のデータの受け渡しや機能間の整合性が仕様通りであるかを検証することで、システム全体としての不具合を早期に発見・排除することを目的としています。

 

Q. 結合テストの主な種類にはどのようなものがありますか?

A. インタフェーステスト、業務シナリオテスト、負荷テスト、およびブラックボックステストの4種類が主に用いられます。個々の機能連携から実際の業務フローを想定した検証、システムの限界性能の測定、さらには内部構造を意識しない外部仕様の確認まで、目的に応じて最適な手法を使い分けることが一般的といえます。

 

Q. 結合テストのテストタイプ(目的別)を教えてください。

A. 疎通、機能、性能、回帰、セキュリティ、およびユーザビリティテストの6つの目的別タイプがあります。データの行き来を確認する基本検証から、操作性や安全性の評価、修正後の影響範囲の確認まで多角的に実施することで、多面的なシステムの品質を担保することが求められます。

 

Q. 結合テストの実施方式(アプローチ)には何がありますか?

A. 主に「トップダウンテスト」と「ボトムアップテスト」の2つのアプローチが存在します。上位モジュールから順に検証して全体像を早く掴む方式と、下位モジュールから積み上げて開発と並行しやすい方式があり、プロジェクトの状況やリスク箇所に合わせて最適な方式を選択することが推奨されます。

 

Q. 結合テストを実施する際の重要なポイントは何ですか?

A. 本番環境の再現、システムを通じたデータ操作、重要機能の優先、および段階的な範囲拡大の4点が重要といえます。実行環境の精度を高めるとともに、不具合の特定を容易にするためスモールステップで進めること、誠にビジネスへの影響が大きい機能から着手することが、効率的かつ高品質なテストを実現する鍵となります。

綿密な結合テストが高品質のシステム納品につながる

システム開発において、結合テストは個々の機能が連携して正しく動作するかを確認する、品質確保のための重要なフェーズです。 どんなに優れた機能を持っていても、データ連携の不具合や予期せぬエラーが残っていては、ユーザーからの信頼を損なってしまいます。高品質なシステムを納品するためには、網羅的なテスト仕様書の作成と、それに基づく正確な検証が欠かせません。

しかし、開発当事者だけでテストを行うと、「正しく動くはず」という思い込みからバグを見落としてしまったり、検証のためのリソース確保が難しかったりするケースも少なくありません。 より確実な品質を担保するためには、第三者視点を持つ検証のプロや、テスト工程に強みを持つ開発パートナーに依頼するのも一つの賢い選択です。

下記の記事では、結合テストや、その後の工程であるシステムテストに定評のある開発会社を厳選して紹介しています。「検証の質を高めたい」「信頼できるパートナーを探している」という方は、ぜひ参考にしてみてください。

システム開発の最適な発注先をスムーズに見つける方法

システム開発会社選びでお困りではありませんか?
日本最大級のシステム開発会社ポータルサイト「発注ナビ」は、実績豊富なエキスパートが貴社に寄り添った最適な開発会社選びを徹底的にサポートいたします。
ご紹介実績:29,600件(2026年2月現在)

外注先探しはビジネスの今後を左右する重要な任務です。しかし、

「なにを基準に探せば良いのか分からない…。」
「自社にあった外注先ってどこだろう…?」
「費用感が不安…。」

などなど、疑問や悩みが尽きない事が多いです。
発注ナビは、貴社の悩みに寄り添い、最適な外注探し選びのベストパートナーです。
本記事に掲載するシステム会社以外にも、最適な開発会社がご紹介可能です!
ご相談からご紹介までは完全無料。
まずはお気軽に、ご相談ください。 詳しくはこちら

 

初めてプロジェクト担当者になった方向け
プロが教える「IT基礎知識・用語集」プレゼント

システム開発「はじめの一歩」ITのプロから学ぶ基礎知識

この資料でわかること
・システム開発の流れ
・専門用語の解説
・開発手法によるメリット・デメリット
・失敗を防ぐコツ

 

■システム開発に関連した記事

 

即戦力のシステム開発会社を探すなら「発注ナビ」

著者情報
発注ラウンジでは、システム開発・ホームページ制作やSaaS製品など、ITの発注に役立つ情報をお届けしています。 運営元はIT業界に特化したビジネスマッチングサービスを運営する「発注ナビ」。IT専門のメディアを展開する東証プライム上場ITmediaのグループ企業です。
FacebookXInstagramYouTube
希望ぴったりの外注先がラクして見つかる
soudan_banner

人気記事

関連記事

関連特集

即戦力のシステム開発会社を探すなら発注ナビロゴ
発注ナビは、システム開発に特化した
発注先選定支援サービスです。
紹介実績
28000
対応社数
8000
対応
テクノロジー
319
紹介達成数
92%
システム開発の発注先探しで
こんなお悩みありませんか?
checkbox
なかなかいい外注業者
見つからない。
checkbox
ITの知識がなくて
発注内容をまとめられない。
checkbox
忙しくて外注業者を探す
時間がない
悩んでいる人物
発注ナビの主な特徴
IT案件に特化
IT案件に特化
日本最大級8000社以上のシステム開発・WEB制作会社が登録。IT専門だから細かい要望が伝わり、理想的なパートナーが見つかる。
ITへの不安を徹底サポート
ITへの不安を徹底サポート
専門コンシェルジュがしっかりヒアリングするので、IT知識に不安があっても、まだ要件が固まっていなくても大丈夫。
完全無料・最短翌日紹介
完全無料・最短翌日紹介
コンシェルジュに発注内容を話すだけで最短翌日に開発会社をご紹介。しかも完全無料・成約手数料も無し。
さらに
東証プライム上場
「アイティメディア株式会社」
グループが運営
ご相談内容は一般公開しないため、クローズド案件でも安心。
ご紹介企業は第三者調査機関にて信用情報・事業継続性を確認済です。

発注先探しの
ご相談フォーム

発注ナビは貴社の発注先探しを
徹底的にサポートします。
お気軽にご相談下さい。
必須
必須
必須
■必要な機能・課題■ご予算■スケジュールなど
■企画書やRFPの添付が可能です(10MBまで)

会員登録には、
発注ナビ 利用規約  及び 個人情報の取扱い 
「当社からのメール受信」への同意が必要です。