Smoke、Sanity、Regression、Re-testの違いとそれらを区別する方法は何ですか?





オリジナル 翻訳は、著者自身の経験からの著者の考えや追加によって希釈されます。



それは何ですか



テストエンジニアとして、おそらく煙、健全性テスト、再テスト、回帰テストなどのタイプのテストについて聞いたことがあるでしょう。 これらの種の多くは、日常的に使用されている可能性があります。



この記事では、これらのタイプのテストの違いを明確にして説明し、1つのタイプのテストが終了し、別のタイプのテストが始まる境界を(条件付きではあるが)把握しようとします。



テストの初心者(および経験豊富なテスター)にとって、これらの概念を分離することは困難です。 実際、衛生試験の開始場所と煙の終了場所を区別する方法は? 「スモーク」テストと呼ぶには、システムまたはそのコンポーネントの機能の一部の検証を制限する必要がありますか? ユーザーログインフォームにユーザー名/パスワードを入力するのは煙テストですか、それともサイトページに表示されるという事実はすでにテストに合格していますか?



厳密に言えば、違いが何であるか正確には言えない場合でも、テストすることができます。 現在行っているテストの種類を区別することについて考える必要さえありません。 しかし、それでも、専門的な意味で自分より上に成長するためには、自分が何をしているのか、なぜ、どのように正しくやっているのかを知る必要があります。



教育プログラム



以下は、今日比較しているテストの種類の簡単な定義です。





これらの両方のタイプのテストは、時間と労力の損失を回避することを目的としており、ソフトウェアの短所とその重要性を迅速に特定し、より詳細で徹底的なテストの段階への移行に値するかどうかを判断します。





理解を深めるために、これらの概念と適用分野の比較表を以下に示します。

正気 回帰(回帰) 再テスト
重要なAUT機能部品が期待どおりに機能していることを確認するために実行されました。 AUTの特定の部分が、マイナーな変更またはバグの修正後も期待どおりに機能するという事実を確立することを目的としています。 彼らは、コードまたはアプリケーション全体の最近の変更が既存の機能/機能セットに悪影響を与えなかったことを確認します 欠陥が修正された後、以前に失敗したテストケースが合格したという事実を再確認および確認します。
目標は、システム全体の「安定性」をテストして、より徹底的なテストに青信号を出すことです。 目標は、より徹底的なテストを進めるために、システムの一般的な状態を詳細に確認することです。 目標は、コードに対する最近の変更が、確立された機能的機能に副作用を及ぼさないようにすることです。 再テストにより、欠陥が修正されたことを確認します
欠陥の再確認はSmokeの目標ではありません 欠陥の再確認は健全性の目標ではありません。 欠陥の再確認は、回帰の目的ではありません。 欠陥が修正されるという事実は、再テストを確認します
回帰前に煙テストが実行されます 回帰テストのと煙テストの 衛生テストが実行されます プロジェクトの要件とリソースの利用可能性(セルフテストで終了)に基づいて実行され、「回帰」は再テストと並行して実行できます。 -健全性テストの前に再テストが実行されます

-また、再テストの優先度は回帰チェックよりも高いため、それらの前で実行する必要があります
自動または手動で実行できます。 より頻繁に手動で行われます このタイプのテストを自動化する最良の理由は、 マニュアルは非常にリソースと時間がかかる場合があります 自動化を受け入れられない
回帰テストのサブセットです 受け入れテストのサブセット これは、既存のプロジェクトの変更または変更で実行されます。 再テストは、同じ環境で同じデータを使用して固定アセンブリで実行されますが、入力データのセットは異なります。
テストケースは回帰テストケースの一部ですが、非常に重要な機能をカバーしています。 サニタリーはテストケースなしで実行できますが、テスト対象のシステムの知識が必要です 回帰テストのテストケースは、機能要件または仕様、ユーザーマニュアルから取得でき、開発者が修正した内容に関係なく実行されます。 欠陥を検出したのと同じテストケースを使用しました。


しかし本質的に?



現在のプロジェクトの概念の差別化の例を示します。



例:ユーザーインターフェイスとRESTful APIを備えたWebサービスがあります。 テスターとして、私たちは知っています:





その後、どの時点でどのタイプのテストを使用する必要があるかについて、一連のステートメントを作成できます。



同時に、このAPIがポストリクエストも受け入れる場合、これらのリクエストを別の健全性テストセットに含める必要があることは明らかです。 UIとの類推により、アプリケーションのすべてのページをチェックします。



まとめると



この記事を読んだ後、どの段階でどのタイプのテストを使用しているか、そしてこれらのタイプのテストの違いは何かを明確にすることを願っています。 冒頭で述べたように、これらの概念の境界は非常にis意的であり、プロジェクトのフレームワークで自由に選択できます。



UPD

多くの場合、「一貫性テスト」または「健全性テスト」は「衛生テスト」という用語と呼ばれます。 これは、音が「衛生的」なものに似ている英語の正気の音声特性のためだと思います。 Google翻訳は明快さをもたらします。 インターネットには両方のオプションがあります。 この記事に関して、「サニタリ」テストを「一貫性のテスト」として検討するようお願いします。



先端をありがとうastenix



All Articles