HOME > PMウェブ・サービス > PM課外授業 > PM Tools A to Z-ソフトウェア・テスト(4)
PM雑記帳

■PM Tools A to Z_No.41
  ソフトウェア・テスト(4)

2006.06.21

今回は結合テストのお話しの続きです。
結合テストの計画段階では、複数のテスト対象プログラムをどのような順序で結合してテストするかについて、その方法を決める必要があります。この結合テストの方法には、ボトムアップ・テストとトップダウン・テスト、及びビッグバン・テストがあります。これら3つのテスト方法のうち、特に前の2つがよく用いられます。
今回はこれらのテスト方法について説明します。


1. ボトムアップ・テスト
  ボトムアップ・テストは、結合テストにおいて、最下位のプログラム(他のプログラムを呼び出していないプログラム)からテストを実施して、順に上位のプログラムを結合してテストを進める手法です。あるプログラムのテストを行うためには、そのプログラムのすべての下位プログラムがテスト済みになっていなければなりません。
この手法では、開発を下位プログラムから始めて、最後に全体を構成する順序で行いますので、テストも開発した下位プログラムから順に結合して実施していきます。
上位プログラムと組み合せる際に、上位プログラムがまだ無い場合には、これを代替するダミーのプログラムを用意する必要があります。このダミーのプログラムのことを、テスト・ドライバまたは単にドライバと呼びます。
ドライバの位置づけ(例)を下図に示します。

なお、プログラムA121とA122は、既にプログラムA12の代わりにそのドライバを用いてテスト実施済みとします。

ボトムアップ・テストの特徴
  ・下位プログラム同士のテストを並行して実施できる。
・下位プログラムからテストするので、開発の早い段階からテストが進められる。
・ドライバを作成する必要がある。
・ドライバと結合する場合には、そのインタフェースは仮のものとなるので、最終段階で問題が発生する
  場合がある。
・結合テストの最後の段階まで、全プログラムを結合したテストができない。

2.トップダウン・テスト
  トップダウン・テストは、ボトムアップ・テストとは逆に、最上位のプログラムからテストを実施して、順に下位のプログラムを結合してテストを進める手法です。あるプログラムのテストを行うためには、その上位プログラムの少なくとも1つがテスト済みになっている必要があります。
この手法では、開発を上位プログラムから始めて、段階的に下位プログラムに移っていきますので、テストも開発した上位プログラムから順に結合して実施していきます。
下位プログラムと組み合せる際に、下位プログラムがまだ無い場合には、それを代替するダミーのプログラムを用意する必要があります。このダミーのプログラムのことを、スタブと呼びます。
スタブの位置づけ(例)を下図に示します。

なお、プログラムC1は、既にプログラムC12の代わりにそのスタブを用いてテスト実施済みとします。

トップダウン・テストの特徴
  ・システムの実動作環境に近い環境でプログラムの検査ができる。
・上位のプログラムは、結合テストの際に何度も実行されるので、プログラム中の潜在バグを
  発見する機会が増す。
・スタブは、ドライバに比べて機能的にシンプルな場合が多く、作成しやすい。
・上位プログラムとのインタフェースに仮の設定が不要である。
・開発の早い段階では、複数の対象プログラムを同時にテストすることが難しく、テスト作業効率が
  低下する場合がある。

3.ビッグバン・テスト
  単体テストが完了した後、すべてのプログラムを同時に結合してテストを行う手法です。利点としては、ドライバやスタブを用意する必要がないこと、すべてのプログラムについて初めからテストができることが挙げられます。逆に欠点としては、テスト中に発生したエラーの原因特定が難しく、デバッグに時間を要することが挙げられます。

参考文献: ソフトウェア品質ガイドブック 森口繁一編 日本規格協会