logo

回帰テストとは何ですか?

回帰テストはブラックボックス テスト手法です。これは、ソフトウェアのコード変更が製品の既存の機能に影響を与えないことを認証するために使用されます。回帰テストでは、製品が新機能、バグ修正、または既存の機能の変更でも正常に動作するかどうかを確認します。

回帰テストは次のようなものです。 ソフトウェアテスト 。テスト ケースが再実行され、アプリケーションの以前の機能が正常に動作しているか、新しい変更によってバグが発生していないかが確認されます。

元の機能に大幅な変更があった場合、新しいビルドで回帰テストを実行できます。これにより、変更が発生した場合でもコードが引き続き機能することが保証されます。回帰とは、アプリケーションの変更されていない部分を再テストすることを意味します。

回帰テストは検証方法とも呼ばれます。多くの場合、テスト ケースは自動化されます。テスト ケースは何度も実行する必要があり、同じテスト ケースを手動で何度も実行することは、時間がかかり退屈でもあります。

回帰テストの例

ここでは、回帰テストを効率的に定義するためのケースを取り上げます。

製品 Y について考えてみましょう。その機能の 1 つは、電子メールの確認、受諾、および発送をトリガーすることです。コードの変更がそれらに影響を与えていないことを確認するためにテストする必要もあります。回帰テストは、次のようなプログラミング言語に依存しません。 ジャワC++C# この方法は、製品の変更または更新が行われているかどうかをテストするために使用されます。これにより、製品の変更が製品の既存のモジュールに影響を与えないことが保証されます。ソフトウェアの以前の動作バージョンでバグが修正され、新しく追加された機能によって問題が発生していないことを確認します。

回帰テストはいつ実行できますか?

製品コードが変更されるたびに回帰テストを実行します。

次のシナリオで回帰テストを実行できます。

1. アプリケーションに新しい機能が追加されたとき。

例:

Web サイトには、ユーザーが電子メールのみでログインできるログイン機能があります。 Facebookを利用してログインできる新機能を提供します。

2. 変更要求がある場合。

例:

以前に適用されたログイン ページから削除されたパスワードを覚えておいてください。

3. 不具合が直ったとき

例:

ログイン ページでログイン ボタンが機能せず、テスターがログイン ボタンが壊れているというバグを報告したとします。開発者によってバグが修正されると、テスターはログイン ボタンが期待どおりに動作することを確認するためにテストします。同時に、テスターはログイン ボタンに関連する他の機能をテストします。

4. パフォーマンスの問題が修正された場合

例:

ホームページの読み込みには 5 秒かかり、読み込み時間は 2 秒に短縮されます。

5. 環境の変化があった場合

例:

データベースを MySql から Oracle に更新するとき。

回帰テストを実行するにはどうすればよいですか?

回帰テストが必要になるのは、ソフトウェアのメンテナンスに拡張、エラー修正、最適化、既存の機能の削除が含まれる場合です。これらの変更はシステムの機能に影響を与える可能性があります。この場合、回帰テストが必要になります。

回帰テストは、次の手法を使用して実行できます。

回帰試験

1. すべてを再テストします。

再テストは回帰テストを行うアプローチの 1 つです。このアプローチでは、すべてのテスト ケース スーツを再実行する必要があります。ここで、再テストを、テストが失敗し、失敗の原因がソフトウェアの障害であると判断した場合と定義できます。障害が報告されると、障害が修正されたソフトウェアの新しいバージョンが期待できます。この場合、テストを再度実行して、障害が修正されたことを確認する必要があります。これは再テストとして知られています。これを確認テストと呼ぶ人もいます。

再テストには膨大な時間とリソースが必要となるため、非常に費用がかかります。

2. 回帰テストの選択:

  • この手法では、テストケース スーツ全体ではなく、選択したテストケース スーツが実行されます。
  • 選択したテスト ケースは 2 つのケースに分けられます
    1. 再利用可能なテスト ケース。
    2. 廃止されたテスト ケース。
  • 再利用可能なテスト ケースは、後続の回帰サイクルで使用できます。
  • 廃止されたテスト ケースは、後続の回帰サイクルでは使用できません。

3. テストケースの優先順位付け:

ビジネスへの影響、重要かつ頻繁に使用される機能に応じて、テスト ケースに優先順位を付けます。テスト ケースを選択すると、回帰テスト スイートが減ります。

回帰テストツールとは何ですか?

回帰テストは QA プロセスの重要な部分です。回帰の実行中に、以下の課題に直面する可能性があります。

    時間がかかる
    回帰テストは完了するまでに多くの時間を要します。回帰テストには既存のテストが再度含まれるため、テスターはテストを再実行することに興奮しません。複雑な
    製品を更新する必要がある場合、回帰テストも複雑になります。テストのリストも増加しています。ビジネスルールの伝達
    回帰テストにより、既存の製品機能が引き続き動作することが確認されます。技術者ではないリーダーと回帰テストについてコミュニケーションをとるのは、難しい作業になる場合があります。この幹部は製品が前進することを望んでおり、既存の機能が確実に動作することを確認するための回帰テストにかなりの時間を投資しています。影響を受けるエリアを特定する テストケースはリリースごとに増加 リソースの削減 正確性なし 反復的なタスク 単調な仕事

回帰テストのプロセス

回帰テストのプロセスは、 ビルドします そしてその リリース

ビルド全体にわたる回帰テスト

バグが修正されるたびにバグを再テストし、依存するモジュールがある場合は回帰テストを実行します。

回帰試験

例えば , 異なるビルドがある場合に回帰テストを実行する方法 ビルド 1、ビルド 2、およびビルド 3 、異なるシナリオがあります。

ビルド1

  • まずクライアントはビジネスニーズを提供します。
  • その後、開発チームが機能の開発を開始します。
  • その後、テスト チームはテスト ケースの作成を開始します。たとえば、製品のリリース #1 に対して 900 のテスト ケースを作成します。
  • そして、テスト ケースの実装を開始します。
  • 製品がリリースされると、顧客は 1 ラウンドの受け入れテストを実行します。
  • そして最終的に、製品は運用サーバーに移動されます。

ビルド2

  • ここで、顧客は 3 ~ 4 つの追加 (新) 機能の追加を要求し、新機能の要件も提供します。
  • 開発チームは新機能の開発を開始します。
  • その後、テスト チームは新機能のテスト ケースの作成を開始し、約 150 の新しいテスト ケースを作成します。したがって、作成されたテスト ケースの合計数は、両方のリリースで 1050 になります。
  • 現在、テスト チームは 150 の新しいテスト ケースを使用して新機能のテストを開始しています。
  • それが完了すると、900 のテスト ケースを使用して古い機能のテストを開始し、新しい機能の追加によって古い機能が損傷するかどうかを確認します。
  • ここで、古い機能をテストすることは、 回帰試験
  • すべての機能 (新機能および旧機能) がテストされると、製品は顧客に引き渡され、その後、顧客は受け入れテストを実行します。
  • 受け入れテストが完了すると、製品は運用サーバーに移動されます。

ビルド3

  • 2 番目のリリースの後、顧客は販売などの機能の 1 つを削除したいと考えています。
  • 次に、販売モジュールに属するすべてのテスト ケース (約 120 個のテスト ケース) を削除します。
  • 次に、他の機能をテストして、販売モジュールのテスト ケースを削除した後、他のすべての機能が正常に動作するかどうかを確認します。このプロセスは回帰テストの下で行われます。

注記:

  • 安定した機能をテストして、変更によって機能が壊れているかどうかを確認します。ここでの変化は、 変更、追加、バグ修正、または削除
  • 異なるビルドまたはリリースで同じテスト ケースを再実行するのは、変更 (変更、追加、バグ修正、または削除) によって安定した機能にバグが生じていないことを確認するためです。

リリース全体にわたる回帰テスト

新しい機能は以前のリリースの古い要素に影響を与える可能性があるため、同じプロジェクトに新しいリリースが存在するたびに回帰テスト プロセスが開始されます。

回帰テストのプロセスを理解するには、次の手順に従います。

ステップ1

回帰テストはありません リリース#1 Release#1 自体は新しいため、Release#1 には変更が加えられていないためです。

ステップ2

回帰テストの概念は次から始まります。 リリース#2 顧客が何かを与えるとき 新しい要件

ステップ3

最初に新しい要件 (機能の変更) を取得した後、彼ら (開発者とテスト エンジニア) は、次の作業に進む前にニーズを理解します。 影響分析

ステップ4

新しい要件を理解した後、次のラウンドを実行します。 影響分析 大きなリスクを回避するためですが、ここで誰が影響分析を行うのかという疑問が生じます。

ステップ5

影響分析は次の方法で行われます。 お客様 彼らの情報に基づいて ビジネス知識開発者 彼らの情報に基づいて コーディングの知識 、そして最も重要なことは、それが行われることです。 テストエンジニア 彼らは持っているから 製品知識

注: 1 人で行う場合、影響を受けるすべての領域をカバーできない可能性があるため、最大の影響領域をカバーできるように全員を含め、影響分析はリリースの初期段階で実行する必要があります。

ステップ6

作業が完了したら、 インパクトエリア 、その後、開発者は 衝撃エリア(文書) 、 そしてその お客様 も用意します 影響範囲に関する文書 を達成できるように 影響分析を最大限にカバー

ステップ7

影響分析が完了したら、開発者、顧客、テスト エンジニアは、 レポート# インパクトエリア文書の テストリード 。そしてその間、テスト エンジニアと開発者は新しいテスト ケースの作業で忙しいです。

ステップ8

テスト リーダーがレポート番号を取得したら、 統合する レポートに保存され、 テストケース要件リポジトリ リリース#1の場合。

注: テスト ケース リポジトリ: ここでは、リリースのすべてのテスト ケースを保存します。

ステップ9

その後、テストリードは RTM の助けを借りて、必要なテストを選択します。 回帰テストケース から テストケースリポジトリ 、それらのファイルは 回帰テストスイート

注記:

  • テスト リードは、さらなる混乱を避けるため、回帰テスト ケースを回帰テスト スイートに保存します。
  • 回帰テストスイート: ここでは、すべての衝撃領域テストのドキュメントを保存します。回帰テストケース: これらは、以下の画像にあるように、再実行する必要がある古いリリースのテキスト ドキュメントのテスト ケースです。
回帰試験

ステップ10

その後、テスト エンジニアが新しいテスト ケースの作業を完了すると、テスト リードは次のことを行います。 回帰テストケースを割り当てる テストエンジニアへ。

ステップ11

すべての回帰テスト ケースと新機能が完了すると、 安定して合格する を確認してから、 テストケースを使用したインパクトエリア 古い機能と新しい機能に耐えられるようになるまで、その後、顧客に引き渡されます。

回帰試験

回帰テストの種類

回帰テストのさまざまな種類は次のとおりです。

  1. ユニット回帰テスト [URT]
  2. 地域回帰テスト[RRT]
  3. 完全または完全な回帰テスト [FRT]
回帰試験

1) ユニット回帰テスト [URT]

ここでは、同じモジュールのコンポーネントに影響を与える可能性があるため、影響を受ける領域ではなく、変更されたユニットのみをテストします。

例1

以下のアプリケーションと最初のビルドでは、開発者は 検索 受け入れるボタン 1~15文字 。次に、テスト エンジニアは、 テストケース設計テクニック

回帰試験

ここで、クライアントは要件にいくつかの変更を加え、次のことも要求します。 検索ボタン を受け入れることができます 1~35文字 。テスト エンジニアは、[検索] ボタンのみをテストして、1 ~ 35 文字を使用できることを確認し、最初のビルドのそれ以上の機能はチェックしません。

例2

ここでは、 ビルドB001 、欠陥が特定され、レポートが開発者に届けられます。開発者はバグを修正し、2 番目のバージョンで開発されるいくつかの新機能とともに送信します。 ビルドB002 。その後、テスト エンジニアは欠陥が修正された後にのみテストを行います。

  • テスト エンジニアは、 提出する ボタンをクリックすると空白のページに移動します。
  • そしてそれは欠陥であり、それを修正するために開発者に送られます。
  • 新しいビルドがバグ修正とともに提供されると、テスト エンジニアは [送信] ボタンのみをテストします。
  • ここでは、最初のビルドの他の機能をチェックするつもりはなく、新しい機能のテストに移り、2 番目のビルドで送信されます。
  • 問題を解決すると確信しています。 提出する ボタンは他の機能に影響を与えないため、修正されたバグのみをテストします。
回帰試験

したがって、変更された機能のみをテストすることで、 単位回帰テスト

2) 地域回帰テスト [RRT]

ここでは、影響エリアまたは領域と呼ばれる変更をテストします。 地域回帰テスト 。ここでは、信頼できるモジュールがあれば他のモジュールにも影響を与えるため、影響範囲をテストしています。

例えば:

下の画像では、次のような 4 つの異なるモジュールがあることがわかります。 モジュール A、モジュール B、モジュール C、およびモジュール D 、最初のビルド時のテストのために開発者によって提供されます。ここで、テスト エンジニアは次のバグを特定します。 モジュールD 。バグ レポートは開発者に送信され、開発チームはそれらの欠陥を修正して 2 番目のビルドを送信します。

回帰試験

2 番目のビルドでは、以前の欠陥が修正されています。テスト エンジニアは、モジュール D のバグ修正がモジュールの一部の機能に影響を与えていることを理解しました。 モジュールAとモジュールC 。したがって、テスト エンジニアは最初にバグが修正されたモジュール D をテストし、次に影響を受ける領域をチェックします。 モジュールAとモジュールC 。したがって、このテストは次のように呼ばれます。 地域回帰テスト。

地域回帰テストの実行中に、次の問題に直面する可能性があります。

問題:

最初のビルドでは、クライアントは要件にいくつかの変更を送信し、製品に新しい機能を追加したいと考えています。ニーズは両方のチーム、つまり開発とテストに送信されます。

要件を取得した後、開発チームは変更を開始し、ニーズに基づいて新しい機能も開発します。

ここで、テスト リードはクライアントにメールを送信し、必要な変更が行われた後に影響を受ける影響領域がすべてであることをクライアントに尋ねます。したがって、顧客は、すべての機能を再度テストする必要があるというアイデアを得ることができます。また、開発チームにメールを送信して、変更や新機能の追加の結果、アプリケーションのどの領域が影響を受けるかを確認します。

同様に、顧客は影響を受ける領域のリストを求めるメールをテスト チームに送信します。したがって、テスト リーダーは、クライアント、開発チーム、テスト チームからも影響リストを収集します。

これ 影響リスト このメッセージはすべてのテスト エンジニアに送信され、テスト エンジニアはリストを見て機能が変更されているかどうかを確認し、変更されている場合は変更します。 地域回帰テスト 。インパクトエリアと修正エリアはすべて各エンジニアによってテストされます。すべてのテスト エンジニアは、変更の結果影響を受ける可能性のある機能のみをテストします。

上記のアプローチの問題は、開発チームとクライアントにはメールを元に戻す時間があまりないため、テスト リードが影響を受ける領域の全体像を把握できない可能性があることです。

解決

上記の問題を解決するには、次のプロセスに従います。

新しいビルドに最新の機能とバグ修正が含まれる場合、テスト チームは会議を開催し、上記の変更が機能に影響を与えるかどうかについて話し合います。したがって、彼らは 1 ラウンドを実行します。 影響分析 そして、 影響リスト 。この特定のリストでは、テスト エンジニアは衝突の可能性が最も高い領域を囲むように努めます。これにより、欠陥が発生する可能性も低くなります。

新しいビルドが来ると、テスト チームは次の手順に従います。

  • 彼らはスモーク テストを実行して、アプリケーションの基本機能をチェックします。
  • その後、新しい機能をテストします。
  • その後、変更された機能を確認します。
  • 変更された機能のチェックが完了すると、テスト エンジニアはバグを再テストします。
  • そして、地域回帰テストを実行して影響範囲を確認します。

単体回帰テストと地域回帰テストを使用するデメリット

以下に、単体回帰テストと地域回帰テストを使用する場合の欠点をいくつか示します。

  • インパクトエリアを見逃してしまう可能性があります。
  • 誤った影響エリアを特定する可能性があります。

注: 地域回帰テストに関する大規模な作業により、より多くの欠陥が得られると言えます。しかし、完全な回帰テストに同じように専念して取り組むと、発生する欠陥の数は少なくなります。したがって、ここで、テスト作業を強化しても欠陥が増えることはないと判断できます。

3) 完全な回帰テスト [FRT]

製品の 2 番目と 3 番目のリリース中に、クライアントは 3 ~ 4 つの新機能の追加を要求し、また、以前のリリースからいくつかの欠陥を修正する必要があります。次に、テスト チームは影響分析を実行し、上記の変更が製品全体のテストにつながることを特定します。

したがって、次のことをテストすると言えます。 変更された機能 そして 残りのすべての (古い) 機能 と呼ばれています 完全な回帰テスト

回帰試験

完全な回帰テストを実行するときは?

次の条件がある場合に FRT が実行されます。

  • 製品のソース ファイルに変更が加えられた場合。 例えば , JVM は JAVA アプリケーションのルート ファイルであり、JVM に変更が加えられると、JAVA プログラム全体がテストされます。
  • n 回の変更を実行する必要がある場合。

注記:

地域回帰テストは回帰テストの理想的なアプローチですが、問題は、地域回帰テストの実行中に多くの欠陥を見逃す可能性があることです。

ここでは、次のアプローチを使用してこの問題を解決します。

  • アプリケーションがテストに渡されると、テスト エンジニアは最初の 10 ~ 14 サイクルをテストし、次の作業を行います。 RRT
  • 続いて 15 サイクル目では FRT を行います。そして再び、次の 10 ~ 15 サイクルでは、 地域回帰テスト 、そして 31 番目のサイクルでは、次のようにします。 完全な回帰テスト 、このように続けていきます。
  • ただし、リリースの最後の 10 サイクルでは、次のことのみを実行します。 完全な回帰テスト

したがって、上記のアプローチに従うと、より多くの欠陥が発生する可能性があります。

回帰テストを手動で繰り返し実行する場合の欠点:

  • 生産性が低下します。
  • 大変な仕事です。
  • テスト実行に一貫性がありません。
  • また、テストの実行時間も長くなります。

したがって、これらの問題を解決するために自動化を進めます。 n回回帰テストサイクルが完了したら、次のことを行います。 自動回帰テストプロセス

自動回帰テストプロセス

一般に、複数のリリースや複数の回帰サイクルがある場合、または反復的なタスクがある場合には、自動化を検討します。

自動回帰テストのプロセスは、次の手順で実行できます。

注1:

いくつかのツールを使用してアプリケーションをテストするプロセスは、自動テストとして知られています。

サンプル例を 1 つ取り上げるとします。 ログインモジュール 、次に、回帰テストを実行する方法を説明します。

ここで、ログインは次の 2 つの方法で行うことができます。

回帰試験

手動で: ここでは、回帰を 1 回と 2 回だけ実行します。

オートメーション: ここでは、テスト スクリプトを作成して実行する必要があるため、自動化を複数回実行します。

注2: リアルタイムでは、次のような問題が発生した場合:

問題 処理方法
新機能 マニュアルテストエンジニア
回帰テスト機能 自動化テストエンジニア
残り (110 フィーチャー + リリース #1) マニュアルテストエンジニア

ステップ1

上記のプロセスで理解したように、回帰テストや回帰テスト ケースの概念がないため、新しいリリースが開始されるときは自動化は行いません。

ステップ2

新しいリリースや機能強化が始まると、手動チームと自動チームの 2 つのチームが編成されます。

ステップ3

手動チームは要件を確認し、影響を受ける領域を特定して、 要件テストスイート 自動化チームに。

ステップ4

現在、手動チームは新機能の開発を開始し、自動化チームはテスト スクリプトの開発を開始し、テスト ケースの自動化も開始します。これは、回帰テスト ケースがテスト スクリプトに変換されることを意味します。

ステップ5

彼ら (自動化チーム) は、テスト ケースの自動化を開始する前に、どのケースをすべて自動化できるかどうかも分析します。

ステップ6

分析に基づいて、自動化が開始されます。つまり、すべての回帰テスト ケースがテスト スクリプトに変換されます。

ステップ7

このプロセス中に、彼らは次のような支援を受けます。 回帰のケース なぜなら彼らは商品知識も持っていないからです。 道具 そしてその 応用

ステップ8

テスト スクリプトの準備が完了すると、新しいアプリケーション [古い機能] でこれらのスクリプトの実行が開始されます。したがって、テスト スクリプトは回帰機能または古い機能を利用して作成されています。

ステップ9

実行が完了すると、次のような別のステータスが表示されます。 合格/不合格

ステップ10

ステータスが失敗した場合、つまり手動で再確認する必要があり、バグが存在する場合は、関係する開発者に報告されます。開発者がそのバグを修正する場合、手動テスト エンジニアによって影響領域とともにバグを再テストする必要があり、自動テスト エンジニアによってスクリプトも再実行する必要があります。

ステップ11

このプロセスはすべての新機能が完成するまで続き、回帰機能が合格します。

回帰試験

自動テストによって回帰テストを実行する利点:

    正確さタスクはツールによって実行され、ツールは退屈したり疲れたりすることがないため、常に存在します。
  • テスト スクリプトは、複数のリリースにわたって再利用できます。
  • バッチ実行自動化を使用すると可能です。つまり、書かれたすべてのテスト スクリプトは、並列または同時に実行できます。
  • 回帰テスト ケースの数はリリースごとに増加しますが、一部の回帰ケースは以前のリリースからすでに自動化されているため、自動化リソースを増やす必要はありません。
  • それは 時間を節約するプロセス 手動による方法よりも実行が常に高速であるためです。

回帰テスト用のテストケースを選択するにはどうすればよいですか?

業界の検査で判明した。お客様から報告されたいくつかの欠陥は、直前のバグ修正によるものでした。これらの副作用の作成、つまり回帰テスト用のテスト ケースの選択は技術であり、簡単な作業ではありません。

回帰テストは次の方法で実行できます。

  • 頻繁に不具合が発生するテストケース
  • ユーザーにとってよりわかりやすい機能。
  • テスト ケースでは、製品のコア機能を検証します。
  • すべての統合テスト ケース
  • すべての複雑なテスト ケース
  • 境界値テストケース
  • 成功したテストケースのサンプル
  • テストケースの失敗

回帰テストツール

ソフトウェアが頻繁に変更されると、回帰テストのコストも増加します。このような場合、テスト ケースを手動で実行すると、テストの実行時間とコストが増加します。その場合、自動テストが最良の選択です。自動化の期間は、後続の回帰サイクルで再利用可能なテスト ケースの数によって異なります。

回帰テストに使用される重要なツールは次のとおりです。

セレン

Selenium はオープンソース ツールです。このツールは、Web アプリケーションの自動テストに使用されます。ブラウザベースの回帰テストには、Selenium が使用されます。 Selenium は、Web ベースのアプリケーションの UI レベルの回帰テストに使用されます。

ラノレックス スタジオ

Selenium Web Driver を内蔵した、デスクトップ、Web、モバイル アプリ向けのオールインワン回帰テスト自動化。 Ranorex Studio には、完全な IDE に加えて、コードレス自動化のためのツールが含まれています。

クイックテストプロフェッショナル (QTP)

QTP は、回帰テストと機能テストに使用される自動テスト ツールです。これはデータ駆動型のキーワードベースのツールです。自動化には VBScript 言語を使用しました。 QTP ツールを開くと、次の 3 つのボタンが表示されます。 録音、再生、停止 。これらのボタンは、コンピュータ システム上で実行されるすべてのクリックとアクションを記録するのに役立ちます。アクションを記録し、再生します。

回帰試験

合理的機能テスター (RTF)

Rational Functional Tester は、ソフトウェア アプリケーションのテスト ケースを自動化するために使用される Java ツールです。 RTF は回帰テスト ケースの自動化に使用され、合理的機能テスターとも統合されます。

回帰および自動テスト ツールの詳細については、以下のリンクを参照してください。

https://www.javatpoint.com/automation-testing-tool

回帰テストと構成管理

コードが継続的に変更されるアジャイル環境では、回帰テストにおける構成管理が不可欠になります。回帰テストが有効であることを確認するには、次の手順に従う必要があります。

  • 回帰テスト段階ではコードを変更することはできません。
  • 回帰テスト ケースは、開発者の変更の影響を受けていない必要があります。
  • 回帰テストに使用されるデータベースは分離する必要があります。データベース内での変更は許可されていません。

再テストと回帰テストの違い

再テスト テスト コードが修正されていることを確認するために、機能またはバグを再度テストすることを意味します。設定されていない場合、欠陥を再度オープンする必要はありません。修正された場合、欠陥は閉じられます。

再テストは、最終的な実行で失敗したテストケースが、欠陥が修復された後に正常に成功することを確認するために実行されるテストの一種です。

CSSのセレクターとは何ですか

回帰試験 これは、ソフトウェア アプリケーションにコード変更が加えられたときに、新しいコードがソフトウェアの他の部分に影響を与えていないことを確認するためにソフトウェア アプリケーションをテストすることを意味します。

回帰テストは、コードがアプリケーションの既存の機能を変更していないかどうかを確認するために実行されるテストの一種です。

再テストと回帰テストの違いは次のとおりです。

再検査 回帰試験
再テストは、最終的な実行で失敗したテスト ケースが、欠陥が修正された後に合格することを確認するために実行されます。 回帰テストは、コードの変更が既存の機能に影響を与えていないかどうかを確認するために行われます。
再テストは欠陥修正に取り組みます。 回帰テストの目的は、コードの変更が既存の機能に悪影響を及ぼさないことを確認することです。
欠陥の検証は再テストの一部です。 回帰テストには欠陥の検証は含まれません
再テストの優先順位は回帰テストよりも高いため、回帰テストの前に実行されます。 プロジェクトの種類とリソースの可用性に基づいて、回帰テストを再テストと並行して行うことができます。
再テストは計画されたテストです。 回帰テストは一般的なテストです。
再テストのテストケースを自動化することはできません。 回帰テストを自動化できます。手動テストは費用と時間がかかる可能性があります。
再テストは失敗したテストケースに対して行われます。 回帰テストは、合格したテストケースに対して行われます。
再テストして、元の障害が修正されていることを確認します。 回帰テストでは、予期しない副作用がないかチェックします。
再テストでは、新しいビルドで異なる入力を使用して同じデータと同じ環境で欠陥を実行します。 回帰テストは、既存のプロジェクトに変更が加えられた場合、または変更が必須になった場合に行われます。
試験開始前に再試験を行うことはできません。 回帰テストでは、機能仕様、ユーザーチュートリアルやマニュアル、修正された問題に関する欠陥レポートからテストケースを取得できます。

回帰テストの利点

回帰テストの利点は次のとおりです。

  • 回帰テストにより製品の品質が向上します。
  • これにより、バグ修正や変更が製品の既存の機能に影響を与えないことが保証されます。
  • 回帰テストには自動化ツールを使用できます。
  • 修正された問題が再び発生しないようにします。

回帰テストの欠点

回帰テストにはいくつかの利点がありますが、欠点もあります。

  • コードのわずかな変更でも既存の機能に問題が発生する可能性があるため、コードの小さな変更に対して回帰テストを実行する必要があります。
  • プロジェクトでテストに自動化が使用されていない場合、テストを何度も実行することは時間と退屈な作業になります。

結論

回帰テストは、組織の時間とコストを節約する高品質の製品の提供に役立つため、重要な側面の 1 つです。コードの変更が既存の機能に影響を与えないようにすることで、高品質の製品を提供することができます。

回帰テスト ケースを自動化するために、いくつかの自動化ツールが利用可能です。ツールには、 テストスイート 回帰テストスーツは頻繁に更新する必要があるためです。