【いーつーいーてすと】

E2Eテスト とは?

💡 「ユーザーになりきって」システムを丸ごとチェック
📌 このページのポイント
テストピラミッド:E2Eテストの位置づけ E2E 結合テスト ユニットテスト 少数・高コスト ブラウザ操作で検証 中程度 コンポーネント間の連携 大量・低コスト 関数単位のテスト E2Eテストの例: ログイン 商品選択 カート追加 決済完了 ✓ OK
E2Eテストのイメージ
ひよこ ひよこ

E2Eテストって普通のテストと何が違うの?

ペンギン先生 ペンギン先生

テストにはレベルがあってね。「単体テスト」は関数ひとつひとつを確認、「統合テスト」は複数の部品のつなぎを確認、「E2Eテスト」はユーザーが実際に操作するのと同じ流れでシステム全体を確認するんだ。ログイン→商品検索→カートに入れる→購入、みたいな一連の流れを自動で再現するイメージだよ。

ひよこ ひよこ

どんなツールを使うの?

ペンギン先生 ペンギン先生

ブラウザの自動操作にはPlaywrightCypressが人気だよ。コードで「このボタンをクリック」「この入力欄にテキストを打つ」「このテキストが表示されていることを確認」みたいに書くんだ。モバイルアプリだとAppiumなどが使われるよ。

ひよこ ひよこ

E2Eテストのデメリットってあるの?

ペンギン先生 ペンギン先生

実行が遅いのと不安定になりやすいのが最大の課題だね。ネットワークの遅延や画面の描画タイミングで結果がコロコロ変わる「フレーキーテスト」が発生しやすい。だからE2Eテストは重要な業務フローに絞って、細かいロジックは単体テストでカバーするのが現場のセオリーだよ。

ひよこ ひよこ

E2Eテストを書くタイミングってどこがベスト?

ペンギン先生 ペンギン先生

機能の開発が安定してからが良いよ。UIがコロコロ変わる開発初期にE2Eテストを書くと、テストの修正作業に追われて本末転倒になる。まず単体テスト・統合テストを充実させて、E2Eは主要なユーザーフローに絞って書くのがベストプラクティスだね。

ひよこ ひよこ

テストピラミッドって聞いたことあるけど何のこと?

ペンギン先生 ペンギン先生

テストの理想的な比率を三角形で表したものだよ。底辺に大量の単体テスト、中間に統合テスト、頂点に少数のE2Eテスト。上に行くほど実行が遅くて不安定だから数を絞り、下に行くほど速くて安定だから多く書く。Googleではこの比率を70:20:10で推奨していて、実際の現場でもこの考え方が広く採用されているよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「E2Eテスト」って出てきたら「ユーザーの操作をシミュレートしてシステム全体の動作を確認するテストだな」と思えればだいたいOK!
📖 おまけ:英語の意味
「End-to-End Test」 = 端から端までのテスト
💬 システムの入口(入力)から出口(出力)まで全部通して確認するという意味だよ
← 用語集にもどる