【いーつーいーてすと】

E2Eテスト とは?

最終更新:
💡 操作から結果まで、つながった流れを確かめる

ユーザーが行う一連の流れを、対象とするシステムの入口から結果まで通して確かめるテスト。Webでは実際のブラウザを自動操作する例があるが、対象範囲や外部サービスの扱いも決める。

📌 このページのポイント
操作から、注文の結果まで確かめる通販サイト・テスト環境の例ログイン商品を選ぶ注文する履歴で確認操作だけでなく、期待した結果も確認
ユーザーの一連の流れを通すテスト例。外部決済などを代替する場合は、テストが確かめた範囲を明記します。
ひよこ ひよこ
単体テストと、どこが違うの?
ペンギン先生 ペンギン先生
単体テストは部品を絞って確認するのに対し、E2Eはユーザーの流れを通して結果を見るよ。図はテスト環境の通販で、ログイン、商品選択、注文、注文履歴の確認を行う例。部品が単独で動いても、画面やAPIのつながりが壊れることがあるんだ。
ひよこ ひよこ
何を確認すれば、テストになるの?
ペンギン先生 ペンギン先生
ボタンを押しただけではなく、期待した結果と一致したかを見るんだ。たとえば注文完了の表示と、注文履歴に商品が載ること。WebならPlaywrightなどで操作と検証を書けるよ。E2Eはブラウザだけに限る言葉ではないけれど、ここではWebの例で考えよう。
ひよこ ひよこ
外部の決済会社まで、本当に注文するの?
ペンギン先生 ペンギン先生
範囲を決めよう。決済のテスト環境を使ったり、外部APIの返答を代替したりする方法があるよ。Playwrightは、制御できない第三者への依存を避ける方法を案内している。外部部分を代替した試験では、そのサービス自体の動作を確認したとは言わないんだ。
ひよこ ひよこ
たまに失敗するテストは、仕方ない?
ペンギン先生 ペンギン先生
原因を調べよう。テスト同士でデータを共有しすぎない、表示や有効化などの条件を待つ、といった工夫があるよ。Playwrightはユーザーに分かる名前で対象を選び、期待した状態まで待つ検証を勧めている。失敗の記録を残し、再試行で本当の不具合を隠さないようにしよう。
ひよこ ひよこ
E2Eは、開発が全部終わってからでいい?
ペンギン先生 ペンギン先生
必ず最後にするという決まりはないよ。重要な操作の流れと期待する結果が決まったら、開発中の確認にも使える。すべての細かい条件をE2Eだけで調べると負担が増えるので、単体や結合の確認と役割を分けよう。テストの件数比率は、システムに合わせて考えるんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「E2Eテスト」って出てきたら「ユーザーの操作から結果まで、一連の流れを通して確かめるテスト」と思えばだいたいOK!
📖 おまけ:英語の意味
「End-to-End Test」 = 端から端までのテスト
💬 システムの入口(入力)から出口(出力)まで全部通して確認するという意味だよ

参考資料

← 用語集にもどる