部署完成後必跑:煙霧測試 + 瀏覽器測試 + 測試報告
部署完成後,AI 必須主動執行完整測試,而不是丟下一句「已部署完成」就結束。測試分三階段:Smoke Test(指令驗證)→ Browser Test(實際操作)→ Test Report(markdown 測試報告)。
用 curl 驗證基本連通性與關鍵端點。
| 測試 | 指令 | 通過條件 |
|---|---|---|
| HTTPS 連通 | curl -sI https://<site>.1gb.us/ | HTTP 200/301/302 |
| 首頁內容 | curl -s https://<site>.1gb.us/ | head | 回傳預期 HTML(含 title 或關鍵字) |
| API 健康檢查 | curl -s https://<site>.1gb.us/health | 回 200 + {"ok":true} 類似內容 |
| 主要 API 端點 | curl -s https://<site>.1gb.us/api/... | 回傳符合 schema 的 JSON |
| 靜態資源 | curl -sI https://<site>.1gb.us/assets/style.css | HTTP 200、Content-Type 正確 |
| 404 行為 | curl -sI https://<site>.1gb.us/not-exist | HTTP 404(有處理好) |
Smoke test 同時驗證資源沒爆:
用瀏覽器自動化工具(Playwright / Puppeteer / Chrome MCP)做實際使用者操作。
https://<site>.1gb.us/,等到 DOMContentLoaded| 工具 | 何時用 |
|---|---|
Chrome MCP(mcp__chrome-devtools__*) | AI 原生支援,首選 |
Playwright(npx playwright) | 通用、截圖/錄影/網路錄製完整 |
| Puppeteer | Node 專案內嵌用 |
| curl + HTML parse | 極簡靜態站用 |
docker logs <site>)port 跟 Dockerfile EXPOSE 是否一致/data/產出 markdown 格式測試報告,直接呈現在 chat 中給 user。
# 部署測試報告 — <site>.1gb.us
**測試時間**:<ISO datetime>
**網址**:https://<site>.1gb.us
**技術棧**:<e.g. Hono + Drizzle + SQLite>
**Container**:<image name> / 200 MB limit
**總結**:✅ 全部通過 / ⚠️ 部分通過 / ❌ 失敗
---
## 1. Smoke Test
| 測試 | 結果 | 說明 |
|---|---|---|
| HTTPS 連通 | ✅ 200 | 0.4s |
| 首頁內容 | ✅ | 含預期 <title> |
| /health | ✅ | {"ok":true} |
| GET /api/posts | ✅ | 回 JSON array |
| 靜態資源 | ✅ | /assets/style.css 200 |
| 404 處理 | ✅ | 正確回 404 |
## 2. Browser Test
| 測試 | 結果 | 截圖 |
|---|---|---|
| 首頁載入 | ✅ | [desktop.png] |
| Console 無錯誤 | ✅ | — |
| 表單送出 | ✅ | [form-submit.png] |
| 新增資料後顯示 | ✅ | [after-create.png] |
| Mobile 畫面 | ✅ | [mobile.png] |
| API 網路請求 | ✅ | 所有 request 200 |
## 3. 發現的問題
(若有)
- ⚠️ 首頁 favicon 404(非阻塞)
- ⚠️ 首次載入 2.8s,冷啟動慢
## 4. 已驗證功能
- [x] 首頁渲染
- [x] 文章列表 API
- [x] 新增文章
- [x] 刪除文章
- [x] 資料持久化(/data/app.db)
## 5. 建議下一步
- 考慮加 favicon
- 首頁可加 loading state
- 資料庫建議跑一次 PRAGMA optimize
---
**結論**:可以交付給 user 使用 ✅