「トップダウンテスト」と「ボトムアップテスト」と「サンドイッチテスト」の違い
スポンサーリンク
予備知識
| 用語 | 意味 |
|---|---|
| 結合テスト | (別々に作った)部品同士をくっつけて、ちゃんと動くか確認するテスト |
| トップダウン | 「上司から部下へ業務のやり方を指示する」のように「上→下」の流れで何かすること |
| ボトムアップ | 「部下から上司へ仕事の改善案を提案する」のように「下→上」の流れで何かすること |
それぞれの用語の意味
| 用語 | 意味 |
|---|---|
| トップダウンテスト | 呼び出す方から少しずつ合体させてテストしていく やり方 |
| ボトムアップテスト | 呼び出される方から少しずつ合体させてテストしていく やり方 |
| サンドイッチテスト | トップダウンテストとボトムアップテストを同時並行でやる やり方 |
似ているところ
全部、結合テストのやり方を指す用語です。
また、どれも、ちょっと合体させてテストして、ちょっと合体させてテストして、と少しずつ(プログラムの)部品を合体させてテストするやり方です。
違うところ
合体させる順番が違います。
トップダウンテストは、呼び出す側の部品から少しずつ合体させていく やり方です。
「部品A-[呼び出し]→部品B-[呼び出し]→部品C-[呼び出し]→部品D」のような構成であれば、まず部品Aと部品Bをくっつけてテストし、大丈夫そうだったら部品A+Bと部品Cをくっつけてテストし、大丈夫そうだったら部品A+B+Cと部品Dをくっつけてテストします。

ボトムアップテストは、呼び出される側の部品から少しずつ合体させていく やり方です。
「部品A-[呼び出し]→部品B-[呼び出し]→部品C-[呼び出し]→部品D」のような構成であれば、まず部品Dと部品Cをくっつけてテストし、大丈夫そうだったら部品D+Cと部品Bをくっつけてテストし、大丈夫そうだったら部品D+C+Bと部品Aをくっつけてテストします。

サンドイッチテストはトップダウンテストとボトムアップテストの複合技です。
一番上(呼び出し元)からトップダウンテストをしつつ、一番下(呼び出し先)からボトムアップテストをやって、両者がぶつかったら終わりです。

備考
サンドイッチテストは「折衷テスト」とも呼ばれます。






