首頁/名詞解釋/E2E Test 端到端測試

階段 7 · 確保品質(測試與檢查)

E2E Test 端到端測試

模擬真實使用者從頭到尾完成一條流程。

先用一句話理解

英文全名:End-to-End Test

模擬真實使用者從頭到尾完成一條流程。

打個比方

像假客人從進店、點餐、付款到拿到餐點全部走一次。

什麼時候會遇到

登入、下單、付款、表單提交、關鍵客戶流程。

再往深一點看

E2E test 用 Playwright 這類工具控制一個真實瀏覽器,模擬使用者點按鈕、填表單、等待頁面跳轉,驗證整條流程從前端到後端都正確串通。這是三種測試層次中粒度最粗、最貼近真實使用者體驗的一層:unit test 測函式、integration test 測模組串接、e2e test 則是「就像真人在用你的產品一樣」地從頭測到尾。因為 e2e test 要真的開瀏覽器、等網路、等渲染,每個測試案例可能跑 10–30 秒,所以不適合測每一個細節,而應該集中在「使用者最核心的流程」——付款成功、登入登出、表單提交——這些一旦壞掉後果最嚴重的路徑。Playwright 還可以在 CI 上跑 headless 模式(不開啟視窗的背景模式),讓 e2e test 也能進 GitHub Actions 流水線。

舉個例子

你用 Playwright 寫一個 e2e test:自動在瀏覽器開你的 Vercel preview 網址、填入測試帳號密碼登入、點選「建立新專案」按鈕、填寫表單、送出後斷言頁面出現「建立成功」訊息且資料庫確實新增了一筆。整個流程就像真人用你的產品,任何一個環節的串接有問題都會在這裡抓到。

常見誤解

  • - 用 e2e test 測所有功能點,包含每個按鈕樣式和細節欄位驗證——e2e 應該只覆蓋核心流程,細節留給 unit test,否則測試套件動輒 20 分鐘、一有 UI 小改動就整批失敗。
  • - E2E test 寫死測試環境的帳號密碼或資料,當測試資料庫被清空或帳號密碼改變時,所有 e2e test 一起失敗,難以判斷是程式壞了還是測試環境有問題。
  • - E2E test 只在本機跑,沒有接進 CI,導致開發者要手動記得在部署前跑,常常跳過,等到上線後客戶才發現付款流程壞了。

相關名詞

相關服務

GitHubVercel

相關工具