システムおよびE2Eテスト
メニューを表示するにはスワイプしてください
システムテスト
システムテストでは、アプリケーションのすべての側面(機能的および非機能的)が対象となります。システムのすべてのコンポーネントやモジュールが正しく相互作用し、本番環境レベルで期待通りに動作することを検証します。システムテストも主にブラックボックステストであり、コードではなくユーザー側の機能に焦点を当てます。アプリケーションがすべての要件を満たしていることを確認します。
システムテストは通常、アプリケーションの個々のユニットとそれらの相互作用がテストされた後に実施されます。言い換えれば、システムテストは通常結合テストの直後に行われ、結合テストは単体テストの後に実施されます。したがって、テストの一般的な順序は次のようになります:
システムテストは主に機能テストですが、アプリケーションの機能に主眼を置きつつ、ユーザビリティ、セキュリティ、互換性、アクセシビリティなどの非機能的側面も含まれる場合があります。これらの概念については、次のセクション(非機能テストに焦点を当てた内容)で学習します。
アプリケーションの更新
アプリケーションにいくつかの重要な更新が行われました。以下は変更点の概要です:
- 前回のタスクでテストケースを実行して発見された問題が修正されました;
- ユーザーがチャットルームを作成および参加できるようになりました;
- チャットルームにパスワードを設定できるようになりました;
- ユーザーがプロフィール画像を設定できるようになりました;
- ユーザー名、パスワード、プロフィール画像を変更できるプロフィール管理セクションが導入されました;
- APIもそれに合わせて修正され、現在は
idパラメータが必要です; - APIに新たなエンドポイント
send-messageが追加され、チャットルームのid、ユーザーのtoken、メッセージのcontentを受け取ります; - 必要なパラメータを指定してこのエンドポイントにPOSTリクエストを送信すると、
tokenに紐づくユーザーの代理で該当チャットルームにメッセージが送信されます;
次のビデオでは、アプリケーションの新しい変更点と、Postmanを使ったPOSTリクエストの方法を紹介しています:
エンドツーエンドテスト
エンドツーエンドテスト(略してE2E)は、システムテストと同じものと見なされることもありますが、両者にはいくつかの違いがあります。
システムテストでは、アプリケーション全体をテストし、非機能的な側面も含まれます。一方、エンドツーエンドテストでは、よりフロー指向のアプローチが取られます。エンドツーエンド(E2E)テストでは、テストケースを一連の流れとしてまとめ、ユーザーがアプリケーションを最初から最後まで利用する体験をシミュレートします。これにより、ユーザーが取り得るすべてのフローが網羅されます。例えば、チャットアプリケーションでは、ユーザーが最初にアカウント登録を行い、その後チャットルームに参加または作成し、さらにチャットでメッセージを送受信します。他にも、プロフィール管理モジュールやAPIなど、アプリケーションの他の部分を含むフローパスも存在します。テストは、本番環境に近い状況で実際のユーザーシナリオをシミュレートすることに重点を置いています。
エンドツーエンドテストは通常、テストサイクルの終盤、システムテストの後に実施されることが多い点に注意が必要です。エンドツーエンドテストとシステムテストは、アプリケーションに大きな変更があった際に実施されるのに対し、リグレッションテストやサニティテストは各アップデートごとに実施されます。
システムテストおよびエンドツーエンドテストは主に、ユーザー側の機能に焦点を当てたテストケースの作成が中心です。加えて、システムテストでは非機能テストも含まれるため、他の種類のテストも含まれる場合があります。これについては次のセクションで説明します。
エンドツーエンドテストには、垂直エンドツーエンドテストと水平エンドツーエンドテストの2種類が存在します。
垂直エンドツーエンドテストは、アプリケーションの特定の機能に関わるすべてのパスに焦点を当てます。一方、水平エンドツーエンドテストは、複数の異なる機能にまたがるアプリケーション全体のワークフローをテストします。
1. システムテストは通常、テストサイクルのどの段階で実施されますか?
2. エンドツーエンドテストは、システムテストと比較して通常いつ実施されますか?
フィードバックありがとうございます!
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください