結合基準・結合計画

テスト計画の中で、結合計画というポイントがあるとしたら、そこではスモークテストに注目してみるのはどうだろうか。「どんな機能、どの程度の性能をクリアしたか」という基準を設定し、「それがクリアすれば結合テストが可能」という目安を検討しておく。その目安は前工程の単体テストでも意識されることになる。

==

2007/02/25追記。
IEEE829のテスト計画の中に「Item pass/fail criteria(テストアイテム合否判定基準)」というのがあるから、これにあたるのか。でも、これはマスターテスト計画のことだしな。

| | コメント (0) | トラックバック (0)

スモークテストのありがたみがようやくわかった

今まで事務所内のプロジェクトメンバーでのシステム開発が多かったのでなかなか気づけなかったこと。

  • どこまでを単体テスト、どこからを結合テストにするか

  • 単体テスト完了モジュールの結合テストの前のスモークテスト
  • 今更ながらこの2点の重要度が身にしみてわかった。スモークテストすら合格しないモジュールを結合しても、先に進まんぜ。

    | | コメント (0) | トラックバック (0)

    単体テスト~結合テスト

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

    Photo

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

    そこでだ。世の中で結合テストといわれているのはどこを指すのか。

    Photo_1

    あくまで僕の認識だが、上図でいうと呼び出しa、呼び出しb、呼び出しcを「単体テストの通し」と考えている。この最上位の単体テストにたどり着くとそれはほとんどモジュールAの機能テスト=結合テストの一部とみなせるんじゃないか。

    なんでこんなことを書いているかというと、結合テストって単体テストやシステムテスト、非機能テストに比べて定義があいまいな気がしたので。誰かこれっていう定義を知ってたら教えてください。

    ちなみに、Softeware Testing のコラムでは、

    結合テストは、モジュール間のインターフェースや組み合わせを対象としたテストです。C言語などではモジュールの呼び出しや戻り、Javaなどではメッセージのやり取りになります。モジュール間のインターフェースに食い違いがあるバグや、(単一のモジュールでバグが見つからないのに)複数のモジュールを組み合わせた時にだけ見つかるバグを検出します。

    となってます。

    | | コメント (4) | トラックバック (0)