勉強前イメージ
end to endのテスト?
最初から最後まで?
なにの・・・?
調査
E2Eテスト とは
E2Eとはend to endテストの略で、ユーザが使用するのと同じようにシステムをテストすることです。
どういうことかというとユーザの操作種類問わずデータフローが適切に機能するかを確認し
具体的には現実で想定されるシナリオをシュミレートして行われます。
例えば、ログインのフォームだと以下のことが考えられます。
- IDとパスワードを正しく入力
- IDとパスワードを不正な値を入力
- IDまたはパスワードを空のまま入力
- ログインボタンを押す
- パスワードを忘れたボタンを押す
上記これらを実施することで期待通りに機能することを確認します。
E2Eテストはエンドユーザの行動に基づいてアプリケーションが正しく動作することを確認でき、バグを高い確率で検知できますが
とにかく時間がかかったり、テスト設計の考慮要素が多かったりデメリットもあります。
なので、重要なログイン機能だったり登録機能だけをE2Eテストを行うということもケースとしてあるそうです。
結合テストとの違い
上記のE2Eテストだと結合テストと似たようなことが書かれています。
そもそも結合テストはアプリケーションやコンポーネントを結合した状態でテストを行います。
しかし結合テストはすべてを結合させる必要はなく、
一部のコンポーネントだけを結合して結合テストを行うこともあります。
それに対してE2Eテストではすべてのアプリケーションやコンポーネントを結合した状態でテストを行います。
なので、より本番の環境に近い状態でテストを行うことができます。
勉強後イメージ
結合テストが最終かと思ったけど、E2Eテストの方がより本番に近い感じか・・・・