単体テストをするとき、「スタブ」と「ドライバ」が必要になってくる。

スタブとは、テストのために用意されるテスト対象が呼び出す予定のメソッドや関数、サブルーチンのこと。ドライバは、テストのために用意されるテスト対象を読み出すメソッドや関数、サブルーチン。ひとつのテスト対象にはひとつずつスタブとドライバが必要になってくる。ただし、一般的には単体テストをトップダウンあるいはボトムアップで行うことが多いため、スタブとドライバの片方はすでにテスト実施済みのメソッドや関数、サブルーチンがあてられる。
そこでだ。世の中で結合テストといわれているのはどこを指すのか。

あくまで僕の認識だが、上図でいうと呼び出しa、呼び出しb、呼び出しcを「単体テストの通し」と考えている。この最上位の単体テストにたどり着くとそれはほとんどモジュールAの機能テスト=結合テストの一部とみなせるんじゃないか。
なんでこんなことを書いているかというと、結合テストって単体テストやシステムテスト、非機能テストに比べて定義があいまいな気がしたので。誰かこれっていう定義を知ってたら教えてください。
ちなみに、Softeware Testing のコラムでは、
結合テストは、モジュール間のインターフェースや組み合わせを対象としたテストです。C言語などではモジュールの呼び出しや戻り、Javaなどではメッセージのやり取りになります。モジュール間のインターフェースに食い違いがあるバグや、(単一のモジュールでバグが見つからないのに)複数のモジュールを組み合わせた時にだけ見つかるバグを検出します。
となってます。
最近のコメント