E2E テスト(End-to-End テスト)とは、ユーザーの操作を起点にブラウザや API を通じてシステム全体を通過させ、期待どおりの結果が得られるかを検証するテスト手法である。
E2E テストはアプリケーションを「外側から」動かす。ブラウザを自動操作してフォームに入力し、ボタンをクリックし、画面遷移やデータの永続化までを一気通貫で確認する。Playwright や Cypress といったツールがヘッドレスブラウザを制御し、人間の操作をスクリプトで再現する。
単体テストや機能テストではモックに置き換えていた DB やAPIサーバーが、E2E テストでは実際に稼働する。認証フロー、権限チェック、データの書き込みと読み出しがすべて本物のインフラを経由するため、結合部分の不具合を検出できる。
実行速度は単体テストの数百倍かかることもある。ブラウザ起動、ページレンダリング、ネットワーク通信が重なるためだ。加えて、UI の軽微な変更でテストが壊れやすい(フレーク問題)。そのため E2E テストは重要なユーザーフローに絞り、数十〜数百件程度に抑えるのが現実的な運用方針となる。
テストピラミッドの考え方では、E2E テストは頂点に位置し件数を最小限にする。土台の単体テストで大部分のロジックをカバーし、中間層の機能テストで統合部分を押さえ、E2E テストはクリティカルパスだけを守る構成が安定する。


ハーネスエンジニアリングとは?AIエージェントのミスを構造で防ぐ設計手法
ATDD(Acceptance Test-Driven Development)とは、開発着手前に受け入れテストの基準をチーム全体で定義し、そのテストを自動化してから実装を進める開発手法である。