鉄則288 テストをレベルに分けて作戦をたてろ


ソフトウェアテスト293の鉄則」より

テストを複雑さで分類すると、テスト戦略を検討する際に
混乱を防ぐことができる。


・レベル0 「スモークテスト」
テストチームがテストを始められることを示す簡単なテスト。
レベル0で重大なバグが見つかるような製品は
プログラマに送り返してしまおう。


・レベル1 「基本機能テスト」
製品の各機能の素性を見極めるテスト。
目標は各機能が実行できるかどうかを確認することなので
複雑なシナリオや難しいデータ、機能の組み合わせに
着目したテストは避ける。


・レベル2 「機能テスト」
製品の各機能が詳細に動作するか
および基本的な信頼性を満足しているかを確認するテスト。
データの網羅性や、複雑なテスト結果の評価などに着目する。
境界値テストや負荷テスト、異常系のテストをおこなう。
複雑なシナリオや機能の組み合わせには着目しない。


・レベル3 「組み合わせテスト」
複雑なシナリオを作成し、機能を組み合わせて
データのやり取りや制御の流れに関するバグを叩き出すテスト。
広範囲に及ぶテストをおこなう。
性能評価や互換性、リソース競合、メモリリーク
長時間運用時の信頼性などを評価する。