システム開発

ボトムアップテストとは

2020年7月26日

結合テストの種類

ソフトウェア開発では、各工程にあわせて様々な試験が存在します。

モジュール(機能)単体の動作を確認する「単体テスト」、そして 複数のモジュールを繋ぎ合わせて実施する「結合テスト」、最後に全体を確認する「システムテスト(総合テスト)」などがあります。

テストの流れ

 

複数のモジュールを繋ぎ合わせて検証する「結合テスト」には、主に次のようなテスト手法があります。

  • トップダウンテスト
  • ボトムアップテスト
  • サンドイッチテスト(折衷テスト)
  • ビッグバンテスト

スポンサーリンク

結合テストは、複数のモジュールを繋ぎ合わせて実施する試験です。この複数のモジュールを一気にすべて繋ぎ合わせて実施するのが「ビッグバンテスト」です。

ただし、複数のモジュールを一気に繋ぎ合わせると、問題点の特定が難しくなります。発生した問題が、どのモジュールが原因で起きた問題なのか、開発規模が大きければ大きい程、特定するのに時間がかかります。

そのため「ビッグバンテスト」は小規模な開発に向いているテスト手法といわれています。

 

複数のモジュールを一気に繋ぎ合わせる「ビッグバンテスト」に対し、モジュールを少しずつ繋ぎ合わせていくテスト手法が「トップダウンテスト」と「ボトムアップテスト」です。

 

本記事では、ボトムアップテストについて紹介していきます。

ボトムアップテスト(bottom up test)

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

ボトムアップテストの流れ

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

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

 

ボトムアップテスト

 

ドライバは何をするのですか?なぜ必要なのですか?
ドライバの役割は、下位モジュールを呼び出すだけです。

本来の上位モジュールではなく、ドライバを使う理由は、上位モジュールは結合テストでは、まだ未テストなので、仮に未テストの上位モジュールに問題がある場合、下位モジュールの検証にならないからです。

 

「ドライバ」を使い、仕様通りの呼び方で下位モジュールを呼び出し、下位モジュールの検証を行います。

そして、下位モジュールの検証が終わると、次はドライバを本物のモジュールに置き換えて検証を行います。これを繰り返すことでプログラム全体を確認していきます。

ボトムアップテスト続き

 

なるほど、モジュールを少しずつ繋げていくことで、問題が発生した場合、どのモジュールが原因であるかがすぐに特定できるわけですね。
同じようなテスト手法で、上位モジュールから確認する手法を「トップダウンテスト」と呼びます。

helpful