システム開発

トップダウンテストとは

2020年7月25日

トップダウンテスト(top down test)

スポンサーリンク

トップダウンテストってなに?

トップダウンテストとは、ソフトウェア開発のテスト手法の一つで、上位のモジュール(機能単体)から順に検証する手法です。

結合テストの工程でモジュール間のインタフェースを確認をするために実施します。

複数のモジュールで構成されているソフトウェアの場合、複数のモジュールを一気に繋ぎ合わせて検証すると、問題の発生箇所が特定しにくくなる可能性があります。そこで、すべてを一気に繋ぎ合わせるのではなく、少しずつ繋ぎ合わせて検証していきます。

トップダウンテストの具体例

トップダウンテストでは、上位のモジュールからテストを開始し、順次 下位のモジュールへとテストを進めていきます。

トップダウンテスト

上位から結合試験を実施するので、下位モジュールはまだ未テストです。そのため、下位モジュールには「スタブ」と呼ばれる、仮のモジュールでインタフェースの確認を行います。

トップダウンテスト2

そして、最上位のモジュール検証が終わると、次は最上位のモジュールから呼び出されるモジュール(スタブを本物のモジュールに置き換える)の検証を行います。これを繰り返すことでプログラム全体を確認していきます。

スタブを用いることで、検証中に問題が発生した場合、検証中のモジュールに問題があることがすぐわかります。

その他のテスト

結合テストの工程では、トップダウンテスト以外にも様々な手法があります。

ボトムアップテスト

上位のモジュール(呼び出す側)からテストを実施するトップダウンテストとは逆で、ボトムアップテストは、下位のモジュール(呼び出される側)からテストを実施します。

下位モジュールに「スタブ」を使用するトップダウンテストと同様に、ボトムアップテストでは上位モジュールに「ドライバ」と呼ばれる仮のモジュールを使用します。

 

サンドイッチテスト(折衷テスト)

サンドイッチテスト(折衷テスト)とは、上位側と下位側から同時に結合していく手法であり、トップダウンテストとボトムアップテストを組み合わせて行うテストです。

 

ビッグバンテスト

ビッグバンテストとは、すべてのモジュールを一気に繋げてテストを実施する手法です。

トップダウンテストやボトムアップテストに比べて「スタブ」や「ドライバ」を使用しないため、一気に試験を実施することができ、作業量が少なく済みます。

しかし、大規模な開発の場合、問題点の特定が難しくなるというデメリットがあります。そのため、小規模な開発に向いているテスト手法といえます。

helpful