今天是鐵人賽 Day29!目標是進行前後端整合測試,模擬一般用戶與管理員的完整操作流程,確認系統資料流、權限、登入驗證與購物功能皆能正常運作。
1️⃣ 整合測試準備
在前後端皆部署完成後,今天開始驗證整體流程:
前端(Vercel)
後端(Render)
資料庫(MongoDB Atlas)
三者連線是否穩定、資料同步是否正確。
🧠 測試重點:
JWT 驗證是否能跨站通過
購物車、訂單 API 是否能正常傳遞
圖片是否能正確顯示(含 /uploads 路徑)
👥 一般用戶使用流程
1️⃣ 註冊帳號
使用者在前台註冊頁輸入基本資料(名稱、Email、密碼)。
系統驗證成功後,將資料寫入 MongoDB。
註冊完成後自動導向登入頁面。
✅ 測試重點
Email 不可重複。
密碼加密儲存(bcrypt)。
註冊後能正常登入。
2️⃣ 登入系統
使用者輸入帳號密碼,後端驗證 JWT。
成功登入後導向首頁並顯示「歡迎用戶」。
Token 儲存在 localStorage,用於後續身分驗證。
✅ 測試重點
登入成功後,能自動帶入使用者資訊。
帳號密碼錯誤顯示。
3️⃣ 瀏覽商品
首頁載入後從後端 API 抓取商品列表。
商品卡片會顯示圖片、名稱、價格與「加入購物車」按鈕。
點擊商品可查看詳細資訊。
✅ 測試重點
商品列表即時反映。
圖片能正確顯示(含後端 /uploads 路徑)。
4️⃣ 新增商品
輸入商品名稱、價格與描述。
點擊「新增商品」按鈕後,將新商品資料寫入資料庫。
新商品會即時出現在前台商品列表中,供所有用戶瀏覽。
✅ 測試重點
驗證一般用戶能成功與後端 API 溝通。
確認新增商品後,前端頁面可即時更新。
檢查資料庫中是否正確儲存商品資訊(名稱、價格、描述)。
5️⃣ 加入購物車
點擊「加入購物車」按鈕 → 前端送出 API 到 /api/cart。
若商品已存在購物車,數量自動 +1。
購物車頁面會顯示所有商品、數量與小計。
✅ 測試重點
新增商品至購物車後立即更新畫面。
修改商品數量、刪除商品能即時反映後端資料。
6️⃣ 結帳流程
使用者確認購物車內容後,點擊「結帳」。
模擬付款成功後清空購物車,並在資料庫建立一筆訂單紀錄。
✅ 測試重點
結帳後購物車歸零。
訂單能正確紀錄在後端資料庫。
👨💼 管理員後台操作流程(測試與一般用戶差異處)
1️⃣ 登入
使用管理員帳號登入。
JWT 驗證通過後導向後台儀表板 /admin。
✅ 測試重點
可進入管理後台。
2️⃣ 瀏覽商品
在後台列表中顯示所有商品(含圖片、價格、描述)。
支援即時搜尋與分類篩選。
✅ 測試重點
商品能即時同步更新前台顯示。
3️⃣ 新增 / 修改 / 刪除商品
點擊「新增商品」可上傳圖片並填寫商品資訊。
「修改」可調整商品名稱、價格、描述。
「刪除」可移除商品,立即同步更新前台。
✅ 測試重點
上傳圖片後自動儲存在 /uploads 資料夾。
修改或刪除商品後,前台列表即時更新。
🚀 測試結果
整合測試完成後,網站能順利完成以下完整流程:
一般用戶:註冊 → 登入 → 瀏覽商品 → 新增商品 → 加入購物車 → 結帳
管理員:登入 → 管理後台 → 新增 / 修改 / 刪除商品
✅ 前後端 API 串接順暢
✅ JWT 驗證正常運作
✅ 圖片與資料流同步更新
✅ 管理員 / 一般用戶分流成功
💡 Day29 收穫
完成完整整合測試(前端 + 後端 + 資料庫)
驗證 JWT、購物車、訂單功能可正常運作
圖片顯示與後台操作無誤
整個購物體驗流程完整跑通