私はこの質問の答えをオンラインで見つけようとしましたが、答えを確信できるほど十分なものを見つけることができませんでした。
基本的には同じだと思いますが、ユーザー受け入れテスト(UAT)では実際のユーザーが必要ですが、エンドツーエンド(E2E)テストでは自動化ツールを使用してユーザーをシミュレートしますか?
ユーザー受け入れテストは、一般的なソフトウェア開発プロセスではフェーズです。
反対側から見ると、End-To-Endテストはアプローチの1つであり、アプリケーションのすべての層がテスト実行中に互いに対話することを含む複雑なアプリケーションをテストします。
つまり、ユーザー受け入れテストフェーズでエンドツーエンドテストを実行でき、これら2つの用語を1つと見なすことはできません。つまり、同じ意味です。
テストスタック全体は、主にエンジニアの責任です。
受け入れテストとエンドツーエンドテストは、開発が始まる前にBA、QA、およびエンジニアリングによって設計され、エンジニアまたは場合によってはCucumberなどのツールを使用してBAによって自動化されます。
単体テストと統合テストは、開発中にエンジニアによって作成されます。
1。エンドツーエンド(アクション)
多くの場合、新しい更新後もすべての機能が確実に機能するように、チームの誰かが手動で作業します。これは TestCafe のようなUIテストツールを使用して自動化できます。
たとえば、「認証されたユーザーは、求人応募を開始し、関連するすべての詳細を入力して、応募を送信できます。」
2。受け入れ(視覚的)
受け入れテストは Jest のようなツールで自動化され、ストーリーの機能性やアクションが発生した場合にページに存在するものに集中します。
たとえば、「認証されたユーザーは、ダッシュボードページですべての求人応募を表示できます。」
3。単位
開発中にエンジニアによって作成されました。単一のメソッドまたは複数のプライベートメソッドで構成されるメソッドである可能性がある作業単位をテストします。原則として、クラスのパブリックインターフェイスのみをテストすることをお勧めします。プライベートメソッドは作業単位の一部であるため、必ずしもテストする必要はありません。ただし、プライベートメソッドに複雑なロジックがある場合は、それを個別にテストすることをお勧めします。 Jest を使用します。データベースやネットワークアクセスなどの作業ユニットの依存関係を模擬します。
4。統合
開発中にエンジニアによって作成されました。モックなしで作業単位をテストします。通常、単体テストよりも広い範囲に焦点を当てています。たとえば、ユーザーの作成には、データベースへの詳細の保存、サービスへのWebリクエストの送信、クライアントへの応答などがあります。多くの場合、テストを実行するためにインメモリWebサーバーが必要です。 Jest を使用します。
End-to-EndsをActionsと考えるのに役立ちますおよび受け入れテストasVisuals
エンドツーエンドのテストは通常、技術的なQAチームによって実行されますが、ユーザー受け入れテストは通常、ビジネスユーザーによって実行されます。見方は異なり、努力の重複が発生する可能性がありますが、特定された欠陥は異なる場合があります。