エンドツーエンドテストとは何ですか? E2E の例
エンドツーエンドのテスト
エンドツーエンドのテスト ソフトウェア全体を最初から最後まで検証し、外部インターフェイスとの統合を検証するソフトウェア テスト方法です。 エンドツーエンド テストの目的は、ソフトウェア全体の依存関係、データの整合性、他のシステム、インターフェイス、データベースとの通信をテストして、本番環境のような完全なシナリオを実行することです。
ソフトウェア システムとともに、他の上流/下流システムからのバッチ/データ処理も検証します。 したがって、名前は、 "端から端まで"。 エンドツーエンドのテストは通常、機能テストの後に実行されます。 システムテスト。 データやテスト環境などの実際の本番環境を使用して、リアルタイム設定をシミュレートします。 E2Eテストとも呼ばれます チェーンテスト.
エンドツーエンドのテストを行う理由
エンドツーエンドのテスト 完全なシステム フローを検証し、問題を検出して改善することで信頼性を高めます。 テストカバレッジ サブシステム。現代のソフトウェア システムは複雑で、現在のシステムとは異なる複数のサブシステムと相互接続されています。いずれかのサブシステムに障害が発生すると、システム全体が崩壊する可能性がありますが、これはエンドツーエンドのテストによって回避できる大きなリスクです。
エンドツーエンドのテストプロセス
次の図は、エンドツーエンドのテスト プロセスの概要を示しています。
エンドツーエンド テストに関係する主なアクティビティは次のとおりです。
- エンドツーエンドのテスト要件の検討
- テスト環境のセットアップとハードウェア/ソフトウェア要件
- すべてのシステムとそのサブシステムのプロセスについて説明します。
- Descriptすべてのシステムの役割と責任の明確化
- テスト方法と基準
- エンドツーエンドの要件追跡とテストケースの設計
- 各システムの入出力データ
エンドツーエンドのテストツール
1) テスト厳格
テスト厳格 エンドツーエンドのテストに関しては、業界リーダーです。Web UI、ネイティブおよびハイブリッド モバイル アプリ、モバイル ブラウザー、API にわたって、コード不要のテストをシームレスに作成します。電子メールと SMS をテストし、ダウンロードした .XLS、.DOC、.PDF などのファイルを簡単にテストします。
機能と特徴:
- 平易な英語でノーコード テストを作成します。
- XNUMX 回のテストで Web + モバイル + API をカバーします。 クロスプラットフォームおよびクロスブラウザのサポート。
- 従来と比較して 15 倍高速にテストを作成 Selenium.
- テストのメンテナンスを最大 99.5% 削減します。
- testRigor は安全であり、SOC 2 Type 2 に準拠しています。
- CI/CD およびテスト ケース管理との統合。
- 数千のテストを実行し、1000 分以内に結果が得られます。
エンドツーエンドのテストケースを作成するにはどうすればよいですか?
エンドツーエンドのテスト設計フレームワークは XNUMX つの部分で構成されます
- ユーザー機能の構築
- ビルド条件
- テストケースの構築
それらを詳しく見てみましょう: –
ユーザー機能の構築
ビルド ユーザー機能の一部として、次のアクティビティを実行する必要があります。
- システムの機能と相互接続されているコンポーネントをリストアップします。
- 各機能または機能の入力データ、アクション、および出力データをリストします。
- 関数間の関係を特定する
- 関数が再利用可能か独立できるかを判断する
たとえば、自分の銀行口座にログインし、他の銀行から別の口座にお金を送金するシナリオを考えてみましょう (3)rdパーティーサブシステム)
- 銀行システムにログインします
- 口座の残高を確認する
- あなたの口座から他の銀行口座にいくらかの金額を送金します (3rdパーティーサブシステム)
- 最新の口座残高を確認する
- アプリケーションからのログアウト
ユーザー機能に基づいた条件の構築
ビルド条件の一部として、次のアクティビティが実行されます。
- 定義されたユーザー関数ごとに一連の条件を構築する
- 条件にはシーケンス、タイミング、データ条件が含まれます
たとえば、次のようなその他の条件をチェックします。
ログインページ
- 無効なユーザー名とパスワード
- 有効なユーザー名とパスワードを確認しています
- パスワード強度チェック
- エラーメッセージの確認
残高
- 24時間後に現在の残高を確認してください。(別の銀行に送金する場合)
- 送金金額が現在の残高より大きい場合は、エラー メッセージを確認します。
テストシナリオを構築する
の構築 テストシナリオ 定義されたユーザー関数の場合
この場合、
- システムにログインします
- 銀行残高の確認
- 銀行残高を送金する
複数のテストケースを構築する
定義されたシナリオごとに XNUMX つ以上のテスト ケースを構築します。 テスト ケースには、各条件が XNUMX つのテスト ケースとして含まれる場合があります。
エンドツーエンドテストのメトリクス
以下は、エンドツーエンドのテストの例として使用される多くのメトリックのうちのいくつかです。
- テストケースの準備状況: 計画に対するテストケースの準備の進捗状況を示します
- 毎週のテストの進捗状況 - テストの完了率の詳細 (失敗、未実行、計画された実行テストに対して実行) を週ごとに提供します。
- 不具合のステータスと詳細 - 週ごとの未解決および解決済みの欠陥の割合を示します。また、重大度と優先度に基づいた週ごとの欠陥の分布も示します。
- 環境の可用性 –合計「稼働」時間数 / 1日あたりのテスト予定時間数
エンドツーエンドのテストとシステムのテスト
エンドツーエンドのテスト | システムテスト |
---|---|
ソフトウェア システムおよび相互接続されたサブシステムを検証します | 要件仕様に従ってソフトウェア システムのみを検証します。 |
完全なエンドツーエンドのプロセス フローをチェックします。 | システムの機能と特徴をチェックします。 |
すべてのインターフェイス、バックエンド システムがテストの対象となります | 機能テストと非機能テストがテストの対象となります。 |
システムテストが完了すると実行されます。 | 後に実行されます 統合テスト. |
エンドツーエンドのテストには、自動化が複雑になる可能性がある外部インターフェースのチェックが含まれます。したがって、 手動テスト が好ましいです。 | システムテストは手動と自動の両方で実行可能 |
まとめ:
ソフトウェア エンジニアリングにおけるソフトウェア テストのエンドツーエンド テストは、ソフトウェア システムとそのサブシステムを検証するプロセスです。 このテストの最大の課題は、システム全体と相互接続されたサブシステムについての十分な知識を持つことです。