結合テストとは、作った機能同士をつなげて、正しく動くかを確認するテストです。
かんたんに言うと、別々に作った部品をつなげて、全体としてうまく動くかを見る作業です。
ここでいう「結合」とは、つなげることです。「テスト」とは、正しく動くかを確認することです。
たとえば、電池、電球、スイッチを1つずつ確認しても、つないだときに明かりがつくかは別です。
ITでも同じです。ログイン画面、会員情報、注文画面などが1つずつ正しく動いても、つなげたときにうまく動かないことがあります。
そのつながりを確認するのが、結合テストです。
ここだけ読めばOK
結合テストとは、機能と機能をつなげて、正しく動くかを確認するテストです。
単体テストは「1つの機能」、結合テストは「機能同士のつながり」、システムテストは「全体」を見ます。
統合テストは結合テストと同じ意味で使われます。総合テストはシステムテストに近い意味で使われます。
ほかのIT用語も知りたい方は、初心者向けのIT用語辞典もあわせてご覧ください。
結合テストとは
かんたんに言うと、部品をつなげて動きを見るテスト
結合テストとは、作った機能や画面をつなげて、正しく動くかを確認するテストです。
機能とは、ログイン、検索、注文、メール送信などの「できること」です。
システム開発では、1つの大きな仕組みをいくつかの機能に分けて作ることがあります。
たとえば、ネットショップなら、商品を見る機能、注文する機能、支払う機能、メールを送る機能などがあります。
それぞれの機能が動いても、つなげたときに正しく動くとは限りません。
そこで、機能同士のつながりを確認するために結合テストを行います。
システム開発の全体の流れを知りたい場合は、システム開発の記事も参考になります。
結合テストの英語と略称
結合テストは、英語で「Integration Test」と呼ばれます。
Integrationは、いくつかのものをまとめる、つなげる、という意味です。
現場によっては、結合テストを「IT」と略すことがあります。
ただし、ITは「情報技術」という意味でもよく使われます。そのため、初心者向けの記事では「結合テスト」と書いた方が分かりやすいです。
結合テストを理解するためのやさしい用語整理
結合テストでは、少し聞き慣れない言葉が出てきます。
先に意味を整理しておくと、後半の具体例や違いが読みやすくなります。
| 用語 | かんたんな意味 |
|---|---|
| 結合 | 別々のものをつなげること |
| テスト | 正しく動くかを確認すること |
| 機能 | ログイン、検索、注文などの働き |
| データ | 名前、住所、金額などの情報 |
| 受け渡し | 入力した情報を次の画面や別の機能へ渡すこと |
| 観点 | 何を確認するかという見るポイント |
| 仕様書 | 確認する内容をまとめた表や文書 |
| エラー | 正しく処理できない状態 |
| バグ | 思った通りに動かない原因 |
結合テストが必要な理由
1つずつ動いても、つなげるとミスが出ることがある
システムは、いくつかの機能がつながって動きます。
1つの機能だけでは問題がなくても、別の機能とつなげると、思った通りに動かないことがあります。
たとえば、ログインはできるのに、ログイン後の会員ページが開けない場合があります。
このような「つながりの問題」を見つけるために、結合テストを行います。
データの受け渡しミスを見つけるため
データとは、名前、住所、金額、個数などの情報のことです。
システムでは、ある画面で入力した情報を、次の画面や別の機能へ渡すことがあります。
たとえば、注文画面で入力した住所を、配送の機能へ渡すような場合です。
この受け渡しがうまくいかないと、住所が空になったり、金額が正しく表示されなかったりします。
結合テストでは、入力した情報が、次の画面や別の機能へ正しく渡るかを確認します。
画面や機能のつながりを確認するため
Webサイトやアプリでは、画面から画面へ進む流れがあります。
会員登録をしたあとにログインする。商品を選んだあとに注文する。問い合わせを送ったあとに確認メールが届く。
このような流れが自然に進むかを確認することも、結合テストの大切な役割です。
結合テストの具体例
ログイン画面と会員情報をつなげる例
ログイン画面では、メールアドレスやパスワードを入力します。
入力した内容は、会員情報を管理する機能と照らし合わせます。
このとき、正しいメールアドレスとパスワードならログインできるかを確認します。
反対に、間違ったパスワードなら、分かりやすいメッセージを表示できるかも確認します。
注文画面と在庫管理をつなげる例
ネットショップでは、注文画面と在庫管理がつながっています。
在庫管理とは、商品がいくつ残っているかを管理することです。
商品を1つ注文したら、在庫が1つ減るかを確認します。
在庫がない商品を注文しようとしたときに、きちんと知らせるかも確認します。
問い合わせフォームとメール送信をつなげる例
問い合わせフォームでは、名前、メールアドレス、本文などを入力します。
送信ボタンを押したあと、入力内容が担当者に届くかを確認します。
また、利用者に確認メールが届くかも確認します。
このように、画面とメール送信のつながりを見るのも結合テストです。
結合テストと単体テストの違い
単体テストは1つの機能だけを確認する
単体テストとは、1つの機能が正しく動くかを確認するテストです。
単体とは、1つだけという意味です。
たとえば、金額を計算する機能だけを確認する場合があります。
電池、電球、スイッチでたとえると、それぞれを1つずつ確認するようなものです。
結合テストは機能同士のつながりを確認する
結合テストは、単体テストで確認した機能同士をつなげて確認します。
電池、電球、スイッチでたとえると、すべてをつないで明かりがつくかを見る作業です。
ITでは、ログイン画面と会員情報、注文画面と在庫管理などをつなげて確認します。
つまり、単体テストは「1つずつ」、結合テストは「つなげて」と覚えると分かりやすいです。
結合テストとシステムテストの違い
システムテストは全体の動きを見る
システムテストとは、システム全体が目的どおりに動くかを確認するテストです。
システムとは、いくつかの機能が集まって、1つの目的のために動く仕組みのことです。
たとえば、ネットショップなら、商品検索、注文、支払い、配送、メール送信などを含めた全体を見ます。
結合テストは機能と機能のつながりを見る
結合テストは、システム全体よりも少し小さい範囲を見ます。
たとえば、注文画面と在庫管理、支払い機能と注文情報などのつながりを確認します。
システムテストは「全体」、結合テストは「機能同士のつながり」と考えると分かりやすいです。
ITパスポートで開発やテストの流れを学ぶ場合は、ITパスポートのマネジメント系対策も合わせて読むと理解しやすくなります。
結合テストと総合テスト・統合テストの違い
結合テストを調べていると、「統合テスト」や「総合テスト」という言葉も出てきます。
この2つは漢字が似ていますが、意味は分けて考えると分かりやすいです。
統合テストは結合テストと同じ意味
統合テストは、一般に結合テストと同じ意味で使われます。
結合テストは、英語で「Integration Test」と呼ばれます。
この「Integration」を日本語にしたときに、「結合」や「統合」と表すことがあります。
つまり、初心者の方は「結合テスト=統合テスト」と覚えておくとよいです。
総合テストはシステムテストに近い意味
一方で、総合テストはシステム全体をまとめて確認するテストとして使われることがあります。
そのため、総合テストはシステムテストに近い意味で使われることが多いです。
ただし、会社や現場によって呼び方が少し変わることがあります。
迷ったときは、次のように整理すると分かりやすいです。
| テストの名前 | 主に見る範囲 | かんたんな意味 | 英語での呼ばれ方 |
|---|---|---|---|
| 単体テスト | 1つの機能 | 部品ごとの確認 | Unit Test(UT) |
| 結合テスト 統合テスト | 機能同士のつながり | 部品をつなげた確認 | Integration Test(IT) |
| システムテスト 総合テスト | システム全体 | 全体の動きの確認 | System Test(ST) |
一言でいうと
統合テストは、結合テストと同じ意味で使われます。
総合テストは、システムテストに近い意味で使われます。
「統合」と「総合」は一文字違いですが、分けて覚えると混乱しにくくなります。
結合テストの主な観点
観点とは、何を確認するかという見るポイントのことです。
結合テストでは、機能同士のつながりを中心に見ます。
画面から画面へ正しく進めるか
ボタンを押したときに、正しい画面へ進むかを確認します。
たとえば、ログイン後に会員ページへ進むか、注文後に確認画面へ進むかを見ます。
入力したデータが正しく渡るか
入力した名前、住所、金額などが、次の画面や別の機能へ正しく渡るかを確認します。
データが消えたり、別の内容に変わったりしないかを見ることが大切です。
エラーが出たときに正しく知らせるか
エラーとは、正しく処理できない状態のことです。
たとえば、パスワードが間違っている場合や、在庫がない商品を注文した場合です。
結合テストでは、このようなときに分かりやすいメッセージが出るかを確認します。
外部のサービスと正しくつながるか
外部サービスとは、自分たちのシステムの外にあるサービスのことです。
たとえば、支払いを処理するサービス、メールを送るサービス、地図を表示するサービスなどです。
結合テストでは、このような外部サービスと正しくつながるかも確認します。
結合テスト仕様書に書くこと
結合テスト仕様書とは、結合テストで確認する内容をまとめた表や文書のことです。
たとえば、「どの画面を操作するか」「何が表示されれば正しいか」などを書きます。
テストする内容
まず、何を確認するのかを書きます。
たとえば、「ログイン後に会員ページへ進めること」などです。
前提条件
前提条件とは、テストを始める前に必要な状態のことです。
たとえば、「会員情報が登録されていること」「在庫があること」などです。
操作手順
操作手順には、どの順番で画面を操作するかを書きます。
誰が見ても同じ確認ができるように、短く分かりやすく書きます。
期待する結果
期待する結果とは、「こうなれば正しい」という結果のことです。
たとえば、「会員ページが表示される」「注文完了画面が表示される」などです。
実際の結果
実際の結果には、テストを行ったあとに本当に起きたことを書きます。
期待する結果と同じなら、問題なしと判断できます。
仕様書やテスト結果をほかの人が確認する場面では、レビューという言葉も使われます。
結合テストで初心者が間違えやすい点
単体テストと同じものだと思ってしまう
単体テストと結合テストは、確認する範囲が違います。
単体テストは1つの機能を見ます。結合テストは、機能同士をつなげた動きを見ます。
システムテストとの違いが分からなくなる
結合テストとシステムテストも、確認する範囲が違います。
結合テストは、機能同士のつながりを見ます。システムテストは、全体として使えるかを見ます。
統合テストと総合テストを混同してしまう
統合テストと総合テストは、漢字が似ています。
統合テストは結合テストと同じ意味です。総合テストはシステムテストに近い意味です。
「統合」は結合、「総合」は全体、と分けて覚えると混乱しにくくなります。
正常な動きだけを見てしまう
結合テストでは、正しく動く場合だけでなく、うまくいかない場合も確認します。
たとえば、入力が空のとき、間違った内容を入れたとき、在庫がないときなどです。
異常な入力やエラー時の動きを忘れてしまう
異常な入力とは、想定していない入力のことです。
たとえば、数字を入れる場所に文字を入れる、必須項目を空にする、といった場合です。
このようなときに、利用者に分かりやすく知らせることも大切です。
結合テストのよくある質問
結合テストはいつ行う?
結合テストは、単体テストのあとに行うことが多いです。
1つずつの機能を確認したあと、機能同士をつなげて確認します。
結合テストは誰が行う?
多くの場合、開発に関わる人やテストを担当する人が行います。
ただし、会社やチームによって担当者は変わります。
結合テストと統合テストは同じですか?
はい、同じ意味で使われます。
結合テストは、英語で「Integration Test」と呼ばれます。
この言葉を日本語にしたときに、「結合テスト」や「統合テスト」と表すことがあります。
どちらも、機能同士をつなげて正しく動くかを確認するテストです。
ただし、全体を確認する「総合テスト」とは分けて考えると分かりやすいです。
結合テストと総合テストは同じですか?
同じ意味ではありません。
結合テストは、機能同士のつながりを確認するテストです。
総合テストは、システム全体をまとめて確認するテストとして使われることが多いです。
そのため、総合テストはシステムテストに近い意味で考えると分かりやすいです。
結合テストでバグが見つかったらどうする?
バグとは、思った通りに動かない原因のことです。
結合テストでバグが見つかったら、原因を確認して直します。
直したあとは、もう一度テストを行います。
まとめ:結合テストとは、機能同士のつながりを確認するテスト
結合テストとは、作った機能同士をつなげて、正しく動くかを確認するテストです。
単体テストは、1つの機能を確認します。結合テストは、機能同士のつながりを確認します。
システムテストは、システム全体が目的どおりに動くかを確認します。
統合テストは、結合テストと同じ意味で使われます。総合テストは、システムテストに近い意味で使われます。
結合テストでは、画面の流れ、データの受け渡し、エラー時の動き、外部サービスとのつながりなどを見ます。
初心者の方は、まず「結合テストは、部品をつなげて動きを見るテスト」と覚えると分かりやすいです。
