what is end end testing
エンドツーエンドテストとは:例を含むE2Eテストフレームワーク
エンドツーエンドテストは、アプリケーションフローを最初から最後までテストするためのソフトウェアテスト方法です。エンドツーエンドテストの目的は、実際のユーザーシナリオをシミュレートし、テスト対象のシステムとそのコンポーネントの統合とデータの整合性を検証することです。
誰も彼らの過失と彼らの過失で知られることを望んでいません、そして同じことがテスターの場合です。テスターにテストするアプリケーションが割り当てられると、その瞬間から、テスターが責任を負い、アプリケーションは、実践的および技術的なテストの知識を示すためのプラットフォームとしても機能します。
したがって、技術的に説明するには、テストが完全に行われるようにするために、「 エンドツーエンドのテスト 「」 。
このチュートリアルでは、エンドツーエンドテストとは何か、その方法、必要な理由、使用されるマトリックス、エンドツーエンドの特定のテストケースの作成方法、およびその他のいくつかの重要な側面についても学習します。また、システムテストについて学習し、エンドツーエンドテストと比較します。
リアルも => ライブプロジェクトのエンドツーエンドトレーニング–無料のオンラインQAトレーニング。
学習内容:
配列javaのコピーを作成します
- エンドツーエンドテストとは何ですか?
- エンドツーエンドのテストツール
- エンドツーエンドのテストはどのように機能しますか?
- E2Eテスト方法
- なぜE2Eテストを実行するのですか?
- E2Eテスト設計フレームワーク
- 関係するメトリクス
- 結論
エンドツーエンドテストとは何ですか?
エンドツーエンドテストは、アプリケーションフローを最初から最後までテストするためのソフトウェアテスト方法です。このテストの目的は、実際のユーザーシナリオをシミュレートし、テスト対象のシステムとそのコンポーネントの統合とデータの整合性を検証することです。
これは、アプリケーションとハードウェア、ネットワーク、データベース、およびその他のアプリケーションとの通信など、実際のシナリオで最初から最後まで実行されます。
このテストを実行する主な理由は、アプリケーションのさまざまな依存関係を判別することと、さまざまなシステムコンポーネント間で正確な情報が伝達されることを確認することです。これは通常、アプリケーションの機能テストとシステムテストの完了後に実行されます。
Gmailの例を見てみましょう。
Gmailアカウントのエンドツーエンドの確認には、次の手順が含まれます。
- URLを介してGmailログインページを起動します。
- 有効な認証情報を使用してGmailアカウントにログインします。
- 受信トレイへのアクセス。既読メールと未読メールを開く。
- 新しいメールを作成し、メールに返信または転送します。
- 送信済みアイテムを開き、メールをチェックします。
- スパムフォルダ内のメールを確認する
- (ログアウト)をクリックしてGmailアプリケーションからログアウトする
エンドツーエンドのテストツール
推奨ツール:
#1)TestCraft
TestCraftのようなエンドツーエンドのテスト自動化ツールを使用することをお勧めします。
TestCraftは、コードレスのSeleniumテスト自動化プラットフォームです。その革新的なAIテクノロジーと独自のビジュアルモデリングにより、テストのメンテナンスのオーバーヘッドを排除しながら、テストの作成と実行を高速化できます。
テスターは、コーディングなしで完全に自動化されたテストシナリオを作成します。顧客はバグをより早く見つけ、より頻繁にリリースし、CI / CDアプローチと統合し、デジタル製品の全体的な品質を向上させます。これはすべて、完全なエンドツーエンドのテストエクスペリエンスを生み出しています。
=> TestCraftWebサイトにアクセス
エンドツーエンドのテストはどのように機能しますか?
もう少し理解するために、調べてみましょう 使い方?
取る例銀行業界の。試した人はほとんどいないはずです 株式。 Dematアカウントの所有者が株式を購入すると、特定の割合の金額がブローカーに渡されます。株主がその株式を売却すると、利益を得るか損失を得るかにかかわらず、金額の特定の割合が再びブローカーに渡されます。これらのトランザクションはすべて、アカウントに反映および管理されます。プロセス全体にはリスク管理が含まれます。
エンドツーエンドのテストを念頭に置いて上記の例を見ると、プロセス全体に複数の数値とさまざまなレベルのトランザクションが含まれていることがわかります。プロセス全体には、テストが難しい多くのシステムが含まれます。
E2Eテスト方法
#1)水平テスト:
この方法は非常に一般的に使用されます。これは、複数のアプリケーションのコンテキスト全体で水平方向に発生します。この方法は、単一のERP(エンタープライズリソースプランニング)アプリケーションで簡単に実行できます。オンライン注文システムのWebベースのアプリケーションの例を見てみましょう。プロセス全体には、アカウント、製品の在庫状況、および出荷の詳細が含まれます。
#2)垂直テスト:
この方法では、アプリケーションのすべてのトランザクションが最初から最後まで検証および評価されます。アプリケーションの個々のレイヤーは、上から下に向かってテストされます。 WebサーバーにアクセスするためにHTMLコードを使用するWebベースのアプリケーションの例を見てみましょう。このような場合、データベースに対してSQLコードを生成するにはAPIが必要です。これらの複雑なコンピューティングシナリオはすべて、適切な検証と専用のテストが必要になります。したがって、この方法ははるかに困難です。
' ホワイトボックステスト ' 及び ' ブラックボックステスト ' どちらもこのテストに関連付けられています。言い換えれば、これはホワイトボックステストとブラックボックステストの両方の利点の組み合わせであると言えます。開発中のソフトウェアの種類に応じて、さまざまなレベルで、ホワイトボックステストとブラックボックステストの両方のテスト手法が必要に応じて使用されます。基本的に、エンドツーエンドテストは、システム機能を検証するためのソフトウェアまたはプログラムの機能的アプローチとアーキテクチャ的アプローチを実行します。
テスター ユーザーからテストケースを作成するため、エンドツーエンドの検証のように ' の視点と実際のシナリオでは、2つの一般的な間違いを回避できます。 ' バグがない ' そして ' 実際のシナリオを検証しないテストケースを作成する ' 。これにより、テスターに計り知れない達成感がもたらされます。
以下に、このタイプのテストを実行するためのテストケースを設計する際に留意する必要のあるいくつかのガイドラインを示します。
- テストケースは、エンドユーザーの観点から設計する必要があります。
- システムのいくつかの既存の機能のテストに焦点を当てる必要があります。
- 複数のテストケースを作成するには、複数のシナリオを検討する必要があります。
- システムの複数のシナリオに焦点を当てるために、さまざまなテストケースのセットを作成する必要があります。
テストケースを実行するときも、このテストの場合と同様です。テストケースが「合格」の場合、つまり期待どおりの出力が得られた場合、システムはエンドツーエンドテストに正常に合格したと見なされます。同様に、システムが目的の出力を生成しない場合は、障害の領域を念頭に置いて、テストケースの再テストが必要です。
なぜE2Eテストを実行するのですか?
現在のシナリオでは、上の図にも示されているように、最新のソフトウェアシステムは、複数のサブシステムとの相互接続で構成されています。これにより、最新のソフトウェアシステムは非常に複雑なものになりました。
私たちが話しているこれらのサブシステムは、同じ組織内にある場合もあれば、多くの場合、異なる組織のものである場合もあります。また、これらのサブシステムは、現在のシステムと多少類似している場合と異なる場合があります。その結果、サブシステムに障害や障害が発生した場合、ソフトウェアシステム全体に悪影響を及ぼし、システムが崩壊する可能性があります。
これらの主要なリスクは回避でき、このタイプのテストによって制御できます。
- チェックを維持し、システムフローの検証を実行します。
- ソフトウェアシステムに関連するすべてのサブシステムのテストカバレッジ領域を増やします。
- サブシステムに問題がある場合はそれを検出し、ソフトウェアシステム全体の生産性を向上させます。
以下は エンドツーエンドのプロセスに含まれるいくつかのアクティビティ:
- このテストを実行するための要件の徹底的な調査。
- 適切な テスト環境のセットアップ。
- ハードウェアとソフトウェアの要件の徹底的な調査。
- 関連するすべてのサブシステムと主要なソフトウェアシステムの説明。
- 関係するすべてのシステムとサブシステムの役割と責任を参加させます。
- このテストで使用されるテスト方法、および従う標準、その説明。
- テストケースの設計とトレース要件マトリックス。
- 各システムの入力データと出力データを記録または保存します。
E2Eテスト設計フレームワーク
3つのカテゴリすべてを1つずつ調べます。
#1)ユーザー機能: ユーザー機能の構築の一環として、次のアクションを実行する必要があります。
- ソフトウェアシステムとそれらの相互接続されたサブシステムの機能を一覧表示します。
- どの機能でも、実行されたアクションと入力および出力データを追跡します。
- 異なるユーザー関数間に関係がある場合は、それを見つけます。
- さまざまなユーザー機能の性質を調べます。それらが独立しているか、再利用可能である場合。
#2)条件: 以下のアクティビティは、ユーザー機能に基づいた構築条件の一部として実行する必要があります。
- ユーザー機能ごとに、一連の条件を準備する必要があります。
- タイミング、データ条件、およびユーザー機能に影響を与えるその他の要因は、パラメーターと見なすことができます。
#3)テストケース: テストケースを作成するには、次の要素を考慮する必要があります。
- すべてのシナリオで、ユーザー機能のすべての機能をテストするために1つ以上のテストケースを作成する必要があります。
- すべての条件は、個別のテストケースとして参加する必要があります。
関係するメトリクス
このテストに関連する次の重要なアクティビティまたはメトリックに移動する :
- テストケース準備の状況: これは、準備中の計画されたテストケースの進行状況を表すグラフの形式で追跡できます。
- テストの進捗状況の毎週の追跡: これには、テストケースの実行進捗状況の週ごとの表現が含まれます。これは、合格、不合格、実行済み、未実行、無効などの場合のパーセンテージ表現に反映されます。
- 欠陥のステータスと詳細レポート: ステータスレポートは、テストケースの実行ステータスと、重大度に応じて検出およびログに記録された欠陥を示すために、毎日作成する必要があります。毎週、開いた欠陥と閉じた欠陥の割合を計算する必要があります。また、欠陥の重大度と優先度に基づいて、欠陥のステータスを毎週追跡する必要があります。
- テスト環境: これにより、割り当てられたテスト環境の期間と、このテストの実行中に実際に使用されたテスト環境の時間が追跡されます。
このテストのほぼすべての側面を見てきました。さあ、 差別化 「」 システムテスト 「」 そして 「」 エンドツーエンドのテスト 「」 。 ただし、その前に、「システムテスト」の基本的な考え方を説明します。これにより、次の2つの形式を簡単に区別できます。 ソフトウェアテスト 。
システムテスト は、統合システムの完全なテストを実行することを目的とした一連の異なるテストを含むテストの形式です。システムテストは基本的にブラックボックステストの一種であり、実際の状況を考慮に入れて、ユーザーの観点からソフトウェアシステムの外部動作に焦点を当てています。
システムテストには以下が含まれます。
- メインシステムを含む完全に統合されたアプリケーションのテスト。
- コンポーネントが相互作用し、システム内で相互作用することを確認します。
- 提供された入力に基づいて、目的の出力を確認します。
- アプリケーションのさまざまな側面を使用しながら、ユーザーエクスペリエンスを分析します。
上記では、システムテストの基本的な説明を見て理解しました。ここで、「システムテスト」と「エンドツーエンドテスト」の違いを見ていきます。
S.No. | エンドツーエンドのテスト | システムテスト |
---|---|---|
1 | メインソフトウェアシステムと相互接続されたすべてのサブシステムの両方を検証します。 | 要件ドキュメントに記載されている仕様に従って、ソフトウェアシステムを検証するだけです。 |
二 | 主な重点は、エンドツーエンドのテストプロセスフローの検証にあります。 | 主な重点は、ソフトウェアシステムの特徴と機能の検証とチェックです。 |
3 | テストの実行中、ソフトウェアシステムのバックエンドプロセスを含むすべてのインターフェイスが考慮されます。 | テストの実行中は、機能領域と非機能領域、およびそれらの機能のみがテストの対象となります。 |
4 | エンドツーエンドテストは、ソフトウェアシステムのシステムテストの完了後に実行/実行されます。 | システムテストは、基本的にソフトウェアシステムの統合テストが完了した後に実行されます。 |
5 | 手動テストは、エンドツーエンドのテストを実行するために最も好まれます。これらの形式のテストには外部インターフェイスのテストも含まれるため、自動化が非常に難しい場合があります。そして、プロセス全体が非常に複雑になります。 | 手動テストと自動テストの両方を、システムテストの一部として実行できます。 |
結論
プロセス、メトリック、システムテストとエンドツーエンドテストの違いなど、エンドツーエンドテストのさまざまな側面を学んだことを願っています。
ソフトウェアの商用リリースでは、エンドツーエンド検証が重要な役割を果たします。これは、ネットワーク通信やデータベースの相互作用など、実際のユーザーを正確に模倣する環境でアプリケーション全体をテストするためです。
ほとんどの場合、エンドツーエンドのテストは手動で実行されます。これは、このようなテストケースを自動化するコストが高すぎて、すべての組織が負担できないためです。これは、システム検証に役立つだけでなく、外部統合のテストにも役立つと見なすことができます。
エンドツーエンドのテストについて質問がある場合はお知らせください。