2019/10/22(火)作成したプログラムは品質を担保するためにテスト工程で各種検証を行い、欠陥(バグ)の洗い出しと改修を行うことで完成に至ります。そのためシステムを作る以上、テストの知識とスキルは必要不可欠とも言えるでしょう。本記事ではそんなソフトウェアテストの中でも重要な役割を担っている結合テストについてなるべくわかりやすく解説いたします。本記事を最後まで読んでいただければ結合テストのイロハについて理解できるはずです。結合テストとは?”結合テスト”とは、モジュールを結合させた状態で正しく動作するか検証するテストです。結合テストは通常、単体テストの後に行われるテストであり、ソフトウェアテストの中でも欠かすことのできない重要な役割を担っております。結合テストは前段階である単体テストが完了していることが前提となるので、まずは単体テストのついて理解を深めておきましょう。単体テストとは?目的や観点についてわかりやすく解説単体テストとは?単体テストの目的や観点について初心者向けにわかりやすく解説。本記事を読めば単体テストのいろはについて理解できるはずです。結合テストの目的はモジュール間のインターフェース構造に問題がないか検証し、適切な動作が行われることを確認することです。結合テストの利点そんな結合テストを行う利点は、モジュールを”連携”させつつバグの洗い出しができる点。先ほど少し触れた単体テストでは、あくまで各モジュールごとにテストを行って誤りがないか検証するに過ぎません。単体テストでは各モジュールの品質しか保証することができないよ。単体テストの「結合部分の確認に弱い」という弱点を補うためのテストが”結合テスト”となるので行う意義があるのです。結合テストは単体テストの「結合部分の確認に弱い」という弱点を補うためにモジュールを連携させてバグがないか検証するためのテスト。一方で、結合テストも万能という訳ではなく欠点ももちろん存在します。欠点として挙げられるのは大きく以下2点。テストに時間を要する詳細さに欠ける結合テストの欠点1時間を要する結合テストは単体テストに比べるとより多くの動作を考慮したテストとなるので、テストにより多くの時間を要することになります。結合テストの欠点2詳細さに欠けるまた、結合テストでは「何かが壊れている」ことは分かっても厳密に「どの箇所が壊れているのか」までは分かりません。そのため、モジュールに手戻りが発生することとなり進捗に大きな遅れが生じるため、工数を多く見積もっておくべきと言えるでしょう。結合テストは詳細さに欠けるため、原因特定までは難しい。手戻りを考慮してテスト工数を多めに見積もっておくべき。本章ではこれまでの話を踏まえた上で、結合テストにおける以下の2手法について解説していきたいと思います。トップダウンテストボトムアップテストトップダウンテストトップダウンテストとは、上位モジュールから先にテストを済ませていく手法になります。基本的に下位モジュールは未テストの状態となっているので、”スタブ”と呼ばれる仮のモジュールをくっつけてインターフェースの確認を行います。要するに呼び出し側からテストを行っていく手法がトップダウンテスト♪ボトムアップテスト一方、ボトムアップテストとは下位のモジュールから先にテストを済ませていく手法です。ボトムアップテストの場合、上位モジュールが基本的に未テストの状態となっているので”ドライバ”と呼ばれる仮のモジュールをくっつけてインターフェースの確認を行います。本記事のまとめ結合テストとは、モジュールを結合させた状態で正しく動作するか検証するテスト。結合テストを行う利点は、モジュールを”連携”させつつバグの洗い出しができる点。(単体テストの「結合部分の確認に弱い」という弱点を補うことができる)しかし、結合テストは時間を多く要する・詳細さに欠けるなどの欠点も持ち合わせる。結合テストの代表的な手法としてトップダウンテストとボトムアップテストがある。本記事を読んで結合テストの概要と重要性について理解していただけたのなら幸いです。【2020年版】ソフトウェアテストの学習におすすめの入門書5選ソフトウェアテストの学習におすすめの書籍をご紹介。ソフトウェアテストについて初心者が学ぶ上で一冊良書を読んで体系的に理解を促進させることが有効な手段なので、本記事で紹介した本の中で気になるものを実際に手に取って読んでみてください。LIFE副業解禁となり「これから副業を始めてみたい!」と考えている方も多いかと思います。LIFEエンジニア初心者の方はIT勉強会に参加することでいくつかのメリットを享受できます。LIFEアフィリエイトを始める際に必要となるASP(アフィリエイトサービスプロバイダー)ですが、数が多くて選択に迷う人も中にはいるでしょう。LIFE不確実性が高い現代において、もはや安定した職業など存在しないようにも思える。LIFEチーム開発をする際に不可欠なツール”Git”。プログラミングができてもGitの使い方が分からないのでは現場で困ってしまいます。コメントをキャンセルメールアドレスが公開されることはありません。付いている欄は必須項目です次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。某外資系IT企業に勤める傍ら副業中のエンジニア。当サイトではエンジニア向けにお役立ち情報を発信しています。