回帰テストは、全体的なテストの小さな (変更または新しいモジュールの導入によって何も壊れていないことを証明するのに十分なだけの) サンプルであると教えられました。しかし、 Ron Morrison と Grady Booch によるこの記事は、私の考え方を変えさせてくれます。
望ましい戦略は、各ユニットを一度に 1 つずつ導入し、大規模な回帰テストを実行し、欠陥を修正してから次のユニットに進むことです。
同じ文書には次のようにも書かれています。
少数のユニットが追加されるとすぐに、テスト バージョンが生成され、「スモーク テスト」が行われます。このテストでは、統合された製品が期待どおりに機能するという確信を得るために少数のテストが実行されます。その意図は、新しいユニットを徹底的にテストすることでも、システム全体を完全に回帰テストすることでもありません。
スモークテストについて説明するとき、著者は次のように述べています。
スモーク テストでは、新しいコンポーネントだけでなく、システム全体のクイック チェックを実行することも重要です。
「広範な」テストと「回帰テスト」が一緒に使用されているのを見たことがなく、「システム全体を完全に回帰テストする」と説明されている回帰テストも見たことがありません。リグレッション テストは、可能な限り軽量かつ迅速に行う必要があります。そして、スモーク テストの定義は、回帰テストが何であるかを私が学んだものです。
私が教えられたことを誤解しましたか?私は間違って教えられましたか?それとも、「回帰テスト」には複数の解釈がありますか?