用 LLM 生 Test Case — Prompt 範本、品質檢核、實務踩雷
把 Claude / ChatGPT 變成測試案例產生器。從 spec 到 test case 的 prompt 範本、輸出品質檢核、什麼能交給 AI、什麼不能。
💡 本文原刊於 qa.9niche.com,2026-08 併入 9niche.com 懶人包,內容照原文完整搬遷。
目錄
1. 前言
LLM 不會取代 QA,但會取代不會用 LLM 的 QA。這篇講怎麼把 Claude / ChatGPT 變成 test case 生產線,又不被它的幻覺害死。
2. 什麼能交給 AI、什麼不能
| 任務 | AI 表現 | 為什麼 |
|---|---|---|
| 等價分割、邊界值 | 🟢 好 | 規則型,LLM 能列得比人全 |
| 反例 / 異常路徑 | 🟢 好 | LLM 想到的角度比新手多 |
| 標準化 case 格式 | 🟢 好 | 純 formatting |
| 從 user story 拆 case | 🟡 中 | 會列,但要人篩 |
| 跨系統整合 case | 🔴 差 | 缺上下文,會編造 |
| Domain-specific 規則 | 🔴 差 | 例如台灣稅法、健保規則,會講錯 |
| 探索性測試靈感 | 🟡 中 | 給你方向,但無法執行 |
原則:AI 出第一版,人類審第二版。直接 copy-paste 上線是災難。
3. Prompt 範本(直接複製可用)
範本 1:從 spec 生 test case
你是資深 QA 工程師,依下列 spec 產出 test cases。
【Spec】
<貼 spec 全文,或 user story>
【需求】
1. 列出至少 8 個 test cases,涵蓋:
- Happy path(2 個)
- 邊界值(至少 2 個)
- 異常輸入(至少 2 個)
- 安全性 / 權限(至少 1 個)
- UI / UX 細節(至少 1 個)
2. 每個 case 用以下格式:
- ID: TC-<功能簡碼>-<3 位數字>
- Title: 一句話描述
- Priority: P0 / P1 / P2
- Preconditions
- Test Data(具體值,不要寫「合法 email」)
- Steps(編號)
- Expected Result(對齊每個 step)
3. 用繁體中文輸出
4. 如果 spec 有模糊處,先在開頭列「需確認問題」再產 case
【禁忌】
- 不要編造 spec 沒提到的欄位、規則、功能
- 不要假設預設值,模糊處要列「需確認」
- 不要用「正確的」「合理的」這種無法量測的字眼
範本 2:邊界值與等價分割
針對下列輸入欄位,列出完整的等價分割與邊界值測試資料。
【欄位 spec】
欄位:<欄位名稱>
型別:<int / string / date / ...>
限制:<例如 1 <= 值 <= 100、長度 5-20 字元、僅允許英數>
【輸出格式】
| 類別 | 測試值 | 預期 | 為什麼 |
|------|--------|------|--------|
| 等價 - 合法 | ... | ... | ... |
| 等價 - 不合法 | ... | ... | ... |
| 邊界 - 下界 | ... | ... | ... |
| 邊界 - 上界 | ... | ... | ... |
| 邊界 - 下界 -1 | ... | ... | ... |
| 邊界 - 上界 +1 | ... | ... | ... |
| 特殊字元 | ... | ... | ... |
| 空值 / null | ... | ... | ... |
| 超長 | ... | ... | ... |
每一行都要有具體的「測試值」,不要寫「任何小於下界的值」。
範本 3:從 bug 反推回歸測試
我們剛修了一個 bug。請幫我寫對應的回歸 test cases,避免日後再復發。
【Bug 描述】
<貼 bug 報告 / Jira ticket>
【根因】
<貼開發者寫的 root cause analysis>
【修復方式】
<貼 PR 描述 / commit message>
【需求】
1. 寫一個直接覆蓋這個 bug 場景的 case(必填)
2. 寫至少 2 個「類似但不同」的場景(變形攻擊)
3. 寫一個整合 case 確認修復沒打到其他功能
4. 用 test-case-template 格式
4. 品質檢核清單(AI 出案後必做)
收到 AI 的 test case 後,用這份 checklist 過一次:
- [ ] Spec 對得上嗎 — 有沒有編造欄位?是否漏了 spec 寫的規則?
- [ ] Test Data 是具體值嗎 — 還是寫「合法的 email」?
- [ ] Expected 可量測嗎 — 不是「畫面正常」、「行為正確」這種
- [ ] Step 順序正確嗎 — AI 偶爾會把 step 3 放在 step 2 之前
- [ ] 有沒有重複的 case — AI 會把同個 case 用不同 title 列兩次
- [ ] Priority 合理嗎 — AI 預設都 P1,要人工調
- [ ] Domain 規則對嗎 — 涉及稅、法規、健保等,一定要人工查
- [ ] 負面 case 充足嗎 — AI 偏 happy path,要主動追問「還有什麼會壞掉?」
5. 進階:多輪 prompt 提升品質
單輪 prompt 輸出常常浮淺,用對話追問結果好很多:
[Round 1] 給 spec、要 case
[Round 2] 「再列 5 個你剛漏掉的異常路徑」
[Round 3] 「以上 case 中,哪些可能 flaky?要怎麼穩定它?」
[Round 4] 「把 P0 case 改寫成 Playwright 程式碼」
每一輪都讓 LLM 挑戰自己上一輪的輸出,最後得到的清單會比一次 prompt 多 30-50% 的覆蓋。
6. 常見幻覺與踩雷
- 編造 API endpoint — LLM 會說「呼叫
/api/v2/users/verify」但根本不存在。所有 endpoint 以你的程式碼為準。 - 編造錯誤代碼 —
Error: USER_NOT_VERIFIED_42這類具體錯誤訊息,AI 會編。要對照真實程式碼。 - 假設預設值 — 「假設 timeout 預設 30 秒」其實是 60 秒。要追問或寫死。
- 舊版規則 — LLM 訓練資料舊,引用法規或 API spec 可能過期。Domain 規則一律人工驗。
- 過度樂觀的 expected — 「系統會自動回滾」可能根本沒實作。Expected 要對得上實際行為。
7. 工作流建議
1. PM 寫 spec → 你用範本 1 跑 LLM 出第一版 case
2. 你用 checklist 過一遍、刪重複、補 domain 規則
3. 跟 PM / 開發 review,確認 case 對應到實作
4. 把 P0 case 轉 Playwright(再用 LLM 寫 code 草稿)
5. 跑、修、上 CI
整個流程最花時間的是 step 2-3,AI 只是加速 step 1。但這個加速可能讓你從一天寫 20 個 case 提升到一天 60 個。
8. 最後
LLM 是「能列 100 個 case 但可能有 30 個爛」的工具,QA 是「能在 30 秒分辨爛 case」的人。兩者組合 > 任何一方單獨工作。不要外包判斷力給 AI。
相關連結
把 Spec review checklist 工具化。用 Claude / ChatGPT 兩段式 prompt 先列「需澄清」、再列「邊界與漏洞」,配合人工判讀流程。
從寫 spec 到自動化測試的 AI 整合工作流。Claude Code 撰寫測試、Playwright 執行、GitHub Actions CI 串接,附完整 prompt 範本與失敗除錯流程。
QA 工程師的完整 AI 工具地圖。Coding Copilot、LLM Chat、AI 視覺迴歸、AI debugger、自動 PR review 各自適合什麼。實戰 workflow + 限制 + 紅線。
相關懶人包
2026 QA 趨勢實戰:我看到的 5 個轉變(AI、Shift-Left、Observability)
從手動 QA 到 AI 輔助、從測試金字塔到測試獎盃。這篇分享我這 10+ 年看 QA 從「測完才知道」到「shift-left + AI」的真實觀察。
2026 QA 面試的 AI 題 — 12 題 + 答題框架(面試官想聽什麼)
2026 QA 面試新增一整類「你怎麼用 AI」的問題。這篇整理 12 個高頻 AI 面試題、每題附面試官真正想聽的點與答題框架,從「你用過哪些 AI 工具」到「AI 生的 test 怎麼信任」。
AI / LLM 功能 Spec Review — 幻覺 / 評估 / 成本 / 法遵 8 個必問
AI 功能 spec review 完整指南。LLM 不確定性處理、評估指標、Prompt versioning、成本控制、安全護欄、法遵(EU AI Act / GDPR)、Fallback、人工 review 流程。
一般聲明
本站提供之資訊僅供參考,不保證其完整性與正確性。使用者應自行判斷資訊之適用性。