違いは何だろうか。簡潔な説明が必要です。ウィキペディアは私には少し冗長すぎます。
5 に答える
回帰テストは、実際には、アプリケーションの可能な限り多くの機能をテストすることになっているテストスイートです。
バグ修正や新機能の必要に応じてアプリケーションに変更を加えると、回帰テストで変更の問題(またはリグレッション)を検出できると考えられます。
以前のバグのためにテストの大部分が追加されたため、回帰と呼ばれます。したがって、問題が見つかった場合は、以前の状態(問題が再び存在する状態)に回帰します。
つまり、回帰テストはアプリケーションをテストします。
ミューテーションテストは、実際にアプリケーションに小さなエラー(ミューテーションと呼ばれる)を導入して(バグを修正したり、新しい機能を提供したりすることを想定していないエラー)、テストスイートがそれらを検出するかどうかを確認します。
アイデアは、テストスイートがミューテーションを検出しない場合、それは不十分であり、より多くのテストケースを追加する必要があるということです。
つまり、ミューテーションテストでは、アプリケーションではなくテストスイートをテストします。
さまざまな目的。バグ #123 のあるバージョン 1.0 などの製品があるとします。あなたのアプリケーションのバージョン 1.01 では、そのバグは解決されていますが、新しい機能を追加すると、新しいバグ (たとえば #124) が発生します。今、あなたはこの状況にあります:
- バージョン 1.0: バグ #123
- バージョン 1.01: バグ #123 が解決され、新しいバグ #124。
ここで、まったく新しいバージョン 2.0 をリリースしたとします。バグ #124 を修正するか、新しい機能を追加すると、バグ #123 が再びアクティブになり、リグレッションが発生します。
- バージョン 1.0: バグ #123
- バージョン 1.01: バグ #123 が解決され、新しいバグ #124。
- バージョン 2.0: バグ #123 アクティブ (リグレッション!)、バグ #124 は解決済み。
回帰テストは、この種の問題を見つけることです。
ミューテーションテストは、テストのための「テスト」です。テスト スイートがあると想像してください。テストでエラーが確実に検出されるようにするにはどうすればよいでしょうか。コードに小さな変更 (はい、バグです!) を導入して、テストでそれが見つかるかどうかを確認したい場合があります。これがミューテーションテストです。
再テストと回帰テストの主な違い 修正されたビルドでバグ修正領域のみでテストを実施する場合は、再テストと呼ばれます。アプリケーションのすべての主要な機能主義者を含む修正されたビルドでテストを実施する場合は、回帰テストです。
ウィキペディアの各ページの最初の行は、それをかなりうまくまとめています。
回帰テストは、機能強化、パッチ、構成変更などの変更がシステムに加えられた後、システムの既存の機能領域および非機能領域で、新しいソフトウェア バグまたは回帰を発見しようとするあらゆる種類のソフトウェア テストです。
突然変異テスト (または突然変異分析またはプログラム突然変異) はソフトウェア テストの方法であり、プログラムのソース コードまたはバイト コードを小さな方法で変更することを含みます。
突然変異テストはテスト目的で実際にプログラムを変更しますが、回帰テストは単に新しいコードがプログラムにどのように影響するかをテストします。