スモークテストと回帰テストは、開発とアップデートのリリースの異なる段階で使用される重要な手動テストの種類です。
問題の歴史:
スモークテスト(“smoke test”は電子機器で使用される用語で、「装置をオンにしたときに“煙”が出ていないかをチェックする」ことに由来)は、システムの主要機能が動作しているかどうかを確認するための迅速かつ最小限のチェックです。回帰テストは、新しいコードが既存の機能を破損していないことを確認するための機能の完全または部分的な再確認です。
問題:
これらのテストはしばしば混同されたり、不適切に適用されたりして、時間を無駄にしたり、重要なチェックを見逃したりします。また、スモークと回帰のテストセットをどのように、またどのような基準で形成するかという質問が浮かびます。
解決策:
主な特徴:
スモークテストは回帰テストに含まれますか?
いいえ、スモークは特別な「重要な」テストのサブセットであり、回帰は新しいものと重要な古いチェックの両方を含みます。
リリース前にスモークテストのみを実行することはできますか?
いいえ — それでは不十分です。スモークはすべてが「生きている」ことを示すだけですが、あまり「公共の」機能に重要なバグがないことを保証するものではありません。
各リリースでスモークテストの内容を変更してもよいですか?
いいえ、スモークの内容は安定しており、製品に根本的な変更がある場合のみ変更されます。
リリース前にチームがスモークテストだけに制限し、回帰テストを実施しない。その結果、リリース後にあまり目立たないが重要な機能にバグが見つかります。
利点:
欠点:
テスト環境へのデプロイ後に最初にスモークテストを行い、その後更新されたシナリオに基づいて回帰テストを実施します。結果を文書化し、製品の変更に応じてテストを迅速に更新します。
利点:
欠点: