サンドイッチテスト【sandwich testing】折衷テスト

概要

サンドイッチテストとは、ソフトウェアの結合テストの手法の一つで、上位モジュールから下位へ向かう「トップダウンテスト」と、下位モジュールから上位へ向かう「ボトムアップテスト」を同時並行で進め、両方向から中間層に向けて挟み込むようにテストする方式である。
サンドイッチテストのイメージ画像

結合テスト(統合テスト)とは、単体テストを終えた複数のモジュールを組み合わせ、モジュール間のインターフェースや連携動作が正しく機能するかを検証する工程である。ソフトウェアテストは単体テスト、結合テスト、システムテストなどの段階に分かれており、中間段階で実施されるテストである。

「トップダウンテスト」(top-down testing)は最上位のモジュールから順に下位へ結合しながらテストを進める手法で、未完成の下位モジュールは「スタブ」(仮の代替モジュール)で置き換えて検証する。「ボトムアップテスト」(bottom-up testing)は最下位のモジュールから順に上位へ向かう手法で、未完成の上位モジュールは「ドライバ」(テスト駆動用の仮想プログラム)で補う。

サンドイッチテストでは、あらかじめ中間に目標となるモジュール(ターゲット層)を設定し、最上位と最下位の両端から同時にテストを開始する。上下それぞれのテストがターゲット層に到達した時点で全体の結合検証が完了する。スタブとドライバの双方を準備する必要があるため工数は増えるが、開発の初期段階からシステム全体の動作確認を並行して進められるため、全体のテスト期間を短縮できる。

大規模な開発では、最上位のメインルーチンと最下位の共通モジュールやライブラリといった重要な部分を早期から並行して検証できるため、構造上の深刻な不具合を早い段階で発見しやすい。一方、中間層のモジュールで不具合が見つかった場合、原因が上位側にあるのか下位側にあるのかの切り分けが難しく、特定と修正に時間を要することがある。

(2026.6.24更新)
 

他の辞典等による「サンドイッチテスト」の解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。