跳到主要內容
wen aidev

現代軟體測試與 AI 實戰 (4):讓 AI Agent 幫你寫測試計畫,零代碼產出完整 Test Cases

6 分鐘po-wen

厭倦了寫測試規格與想 Edge Cases?本篇教你如何讓 Claude Code 或 Cursor 扮演 QA Architect,直接從需求文件與圖片中,自動萃取出結構化的測試情境清單。

目錄

系列文章地圖

點節點可以直接跳到那一篇。

歡迎進入「現代軟體測試與 AI 實戰」的另一條重要分支:AI 實作篇。

我們在前面的觀念篇提到,寫測試最累的往往是「想情境」:有沒有考慮到極端數字?有沒有考慮到系統無回應? 好消息是,這正是大語言模型(LLM)最擅長的工作!今天我們就來實戰如何透過 AI 工具(如 Cursor、Claude Code),讓它幫我們不寫一行程式碼就生成完整的測試計畫(Test Cases)。


為什麼要讓 AI 幫忙抓測項?

傳統流程中,QA 工程師需要對著 PRD(產品需求文件)逐字推敲,人工整理出一份測項 Excel 表。這不僅耗時,而且受限於人類思維的盲區,經常會漏掉異常處理。

如果你把 AI 當作你的 QA Architect(測試架構師),它能:

  • 沒有盲區:秒速列出該欄位所有可能的攻擊與無效輸入。
  • 統一格式:確保產出的測項結構一致,方便後續直接轉為自動化程式碼。
  • 跨維度解析:能同時理解「純文字的 OpenAPI Spec」與「畫面的圖檔(Mockup)」。

AI 萃取測項,是把功能說明、API 規格與畫面 Mockup 交給扮演 QA Architect 的 AI,讓它照指定格式列出四個面向的測試情境。

QA Architect · 萃取測試案例
1
放進脈絡
把功能說明、API 規格和畫面 Mockup 放進專案目錄,讓 Cursor 或 Claude Code 直接讀取。
2
指定角色
Prompt 請 AI 扮演 QA Architect,讀完兩份文件後梳理測試案例清單。
3
指定格式
要求四個面向,用 Markdown 表格列出 Test ID、情境描述、預期結果,不寫程式碼。
4
產出測項
AI 照格式列出登入功能的測試情境,連你沒想到的異常分支也列進去。
讀進的脈絡 1/3測項面向 0產出測項 0
輸入脈絡(CONTEXT)
docs/login-feature.md
功能說明文件
specs/api-login.yaml
OpenAPI(Swagger)規格
畫面截圖 / UI Mockup
多模態讀圖
AI Agent
扮演 QA Architect(測試架構師)
讀 @docs/login-feature.md、@specs/api-login.yaml
結構化測項(OUTPUT)
Happy PathNegative CasesBoundary Value AnalysisEquivalence Partitioning
TEST ID面向情境描述預期結果
TC-01Happy Path正確帳密HTTP 200 與 JWT Token
TC-02Negative帳號不存在HTTP 401,不洩漏是帳號還是密碼錯
TC-03Negative連續登入失敗 5 次HTTP 429,鎖定帳號 15 分鐘
TC-04NegativePayload 缺少密碼欄位HTTP 400 Bad Request
TC-05邊界 / 等價密碼超過 128 字元防範 Buffer Overflow 或 ReDoS
TC-06邊界 / 等價密碼包含罕見 Unicode 字元(Emoji)—
AI 不會憑空知道業務邏輯

實戰教學:三步驟自動萃取測項

第 1 步:準備輸入脈絡 (Context)

AI 再聰明也無法憑空想像公司的業務邏輯。你需要給它足夠的背景資訊。你可以把以下資料放進你的專案目錄中,讓 Cursor 或 Claude Code 直接讀取:

  • specs/api-login.yaml(如果是 API 測試,給出 Swagger 檔)
  • docs/login-feature.md(功能說明文件)
  • 畫面截圖 / UI Mockup(若是 UI 測試,可以利用多模態視覺能力餵圖片)

第 2 步:設定完美的 Prompt (提示詞)

在對話視窗(例如 Claude Code 的終端機)中,我們需要賦予它明確的角色與產出格式。請嘗試以下這組 Prompt:

🚀 QA Architect 提示詞模板

請扮演一位擁有 10 年經驗的高階 QA Architect (測試架構師)。
請閱讀我目錄下的 @docs/login-feature.md 以及 @specs/api-login.yaml。
為這個功能梳理出完整的測試案例 (Test Cases) 清單。

產出必須包含以下四個面向,並以 Markdown 表格呈現(包含 Test ID, 情境描述, 預期結果):

1. Happy Path (正常使用情境)
2. Negative Cases (各種異常與錯誤分支)
3. Boundary Value Analysis (邊界值分析,如字數、日期的極限)
4. Equivalence Partitioning (等價類劃分)

不用寫代碼,只要產出情境定義表即可。

第 3 步:檢視強大的輸出結果

按下 Enter 之後,AI 會給出正確的流程,連你根本沒想到的異常情境也會抓出來:

  • Happy Path:
    • 正確帳密 ➔ 返回 HTTP 200 與 JWT Token。
  • Negative Cases:
    • 帳號不存在 ➔ HTTP 401(不要洩漏是帳號還是密碼錯,確保安全性)。
    • 連續登入失敗 5 次 ➔ HTTP 429 Too Many Requests 並鎖定帳號 15 分鐘。
    • Payload 缺少密碼欄位 ➔ HTTP 400 Bad Request。
  • Boundary / Equivalence:
    • 密碼超過 128 字元(防範 Buffer Overflow 或 ReDoS)。
    • 密碼包含特殊罕見 Unicode 字元(Emoji)。

下一步:如何將純文字變成可執行的程式碼?

現在桌面上已經有一份熱騰騰、極度嚴謹的測試情境清單,但這還只是「純文字」。 身為追求極致的工程師,我們當然不能滿足於「看著清單手動點擊」。

下一篇文章會把這些 AI 寫好的 Test Cases 反手再丟給 AI,請它在一分鐘內幫我們生出可直接執行的整合測試程式碼。

前往分支的下一篇:AI 輔助整合測試實戰:從 Test Cases 到真實程式碼。

支持作者 ☕

台灣用戶:

透過 LINE Pay 支持

國際用戶:

透過 Ko-fi 支持

相關文章

留言討論

Facebook 留言