AI 測試驗證規範

部署完成後必跑:煙霧測試 + 瀏覽器測試 + 測試報告

用途

部署完成後,AI 必須主動執行完整測試,而不是丟下一句「已部署完成」就結束。測試分三階段:Smoke Test(指令驗證)→ Browser Test(實際操作)→ Test Report(markdown 測試報告)。

階段一:Smoke Test(煙霧測試)

用 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.cssHTTP 200、Content-Type 正確
404 行為curl -sI https://<site>.1gb.us/not-existHTTP 404(有處理好)

資源檢查

Smoke test 同時驗證資源沒爆:

階段二:Browser Test(瀏覽器測試)

用瀏覽器自動化工具(Playwright / Puppeteer / Chrome MCP)做實際使用者操作。

必測流程

  1. 首頁載入:開啟 https://<site>.1gb.us/,等到 DOMContentLoaded
  2. 視覺截圖:截圖存檔(報告用)
  3. Console 錯誤:確認沒有 JS error、沒有紅色 network error
  4. 關鍵互動
  5. Responsive 檢查:切換 mobile viewport 截一張圖
  6. 網路錄製:確認 API 請求都 200

推薦工具

工具何時用
Chrome MCP(mcp__chrome-devtools__*AI 原生支援,首選
Playwright(npx playwright通用、截圖/錄影/網路錄製完整
PuppeteerNode 專案內嵌用
curl + HTML parse極簡靜態站用

失敗處理

階段三:Test Report(測試報告)

產出 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 使用 ✅

報告原則

禁止行為

建議執行順序

  1. 部署完成(讀 /deploy.html 執行)
  2. 等 3-5 秒讓 container 啟動
  3. 跑 Smoke Test,全過才進入下一步
  4. 跑 Browser Test,收集截圖和觀察
  5. 產出 markdown 測試報告呈現給 user
  6. 若有問題,問 user 是否要修;若全過,告知 user 可以開始使用

回到 1gb.us開發規範部署指南