Test case writer
Skill skinnerlee1225/enterprise-prd-toolkit/skills/test-case-writer
把金融級 PRD 方法論工程化成四個 Claude Skills:找洞 → 寫規格 → 產測試。含交易所提現、自營交易挑戰賽的完整 PRD 範例。
npx -y skills add skinnerlee1225/enterprise-prd-toolkit --skill test-case-writerAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 14 days oldThe repository was created 14 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
What its author says it does
Copied from the file, not written here
測試案例產生器 — 把 PRD 的驗收標準(Acceptance Criteria)與規則,轉成 QA 可直接執行的 測試案例:正常路徑、邊界值、異常路徑、併發/冪等、權限與安全。 當使用者說「幫我寫測試案例」、「這份 PRD 的 test case」、「QA 測試計畫」、「幫我補測試」、 「這功能怎麼測」、「寫測試」、「test cases」、「test plan」、「QA checklist」時, 一定要使用這個 skill。即使使用者只是丟一份 PRD、一段 AC、一個功能描述說 「幫我想想怎麼驗收」、「工程做完了要測什麼」,也應觸發此 skill。 這個 skill 輸入 PRD / AC,輸出結構化測試案例;不寫 PRD、不寫程式碼,只負責「怎麼驗證」。 接力關係:enterprise-prd-writer / prd-writer 產出 AC → 本 skill 把 AC 展開成測試案例 → QA 據以執行。PRD 的每條 Given/When/Then 是輸入,測試案例是輸出。
SKILL.md
6.0 KB, as published. Nobody here has run it
測試案例產生器(Test Case Writer)
在流程的位置
prd-writer / enterprise-prd-writer ──→ AC(Given/When/Then + Edge Case)
↓
【test-case-writer】← 展開成可執行測試案例
↓
QA 執行 / 自動化
分工界線:
| Skill | 負責 | 不負責 |
|---|---|---|
| enterprise-prd-writer | 定義需求與 AC | 不展開逐條測試步驟 |
| test-case-writer | 把 AC 展開成可執行測試案例 | 不改需求、不寫測試程式碼 |
如果輸入的 PRD 沒有 AC,先提醒使用者「這份缺 AC,測試案例會不完整」, 再就現有資訊盡量產出,並標出哪些是因缺 AC 而假設的。
核心原則
1. 每條 AC 至少展開成一組正常 + 邊界 + 異常
一條 Given/When/Then 不等於一個測試案例。它至少要拆成:
- 正常路徑(Happy Path):條件成立,預期結果發生
- 邊界值(Boundary):剛好在門檻上、門檻 ±1、最小/最大值
- 異常路徑(Negative):條件不成立、輸入非法、前置失敗
PRD 的 AC 若已附 Edge Case,每個 Edge Case 至少對應一個測試案例。
2. 每個測試案例都可獨立執行、可判定通過與否
一個合格的測試案例,QA 拿到不必再問任何人就能跑。所以每條必須有:
- 前置條件(Precondition):具體到可以建立的資料狀態
- 測試步驟(Steps):一步一動作
- 預期結果(Expected):明確、可觀察、可判定 pass/fail
禁止「驗證功能正常」這種無法判定的預期結果。
3. 用 PRD 的具體數值,不要自己發明
AC 的 Given 有數值(如「起點權益 10,000、上限 5%」),測試案例就用那些數值,
並補上邊界值(=門檻、門檻 ±1)。PRD 沒給的數值標 TBD,不要憑空填。
4. 覆蓋這幾類,缺一要說明
正常、邊界、異常之外,金融/後台類需求還要覆蓋:
- 併發 / 冪等:同請求送兩次、兩人搶同資源
- 權限:不同角色、未授權存取
- 安全:越權、繞過前置檢查
- 狀態機:非法狀態轉換、同時觸發多規則的優先級
某類不適用要寫「本功能無此類(因為…)」,不要默默略過。
執行流程
Step 0:讀 PRD,盤點 AC 與規則
讀完輸入的 PRD / AC,列出所有 R-xx 規則與 AC-xx。若沒有編號,自己編。
確認每條 AC 的 Given 有沒有具體數值——沒有的先標記,測試案例會受影響。
Step 1:為每條 AC 展開測試案例
依「正常 → 邊界 → 異常」逐條展開。每個測試案例給一個 ID(TC-<AC>-<序號>)。
Step 2:補跨 AC 的整合與非功能測試
- 整合流程:跨多條規則的完整 user flow 走一遍
- 併發/冪等/權限/安全:依核心原則 4 補上
Step 3:標優先級與類型
- 優先級:P0(阻斷發布)/ P1(重要)/ P2(次要)
- 類型:正常 / 邊界 / 異常 / 併發 / 權限 / 安全 / 整合
Step 4:輸出(見下方格式)+ 覆蓋率自檢
輸出格式
測試案例表(每個功能區塊一張)
### 提現 — 新地址鎖定(對應 AC-01 / R-03)
| TC ID | 類型 | 前置條件 | 步驟 | 預期結果 | Pri |
|---|---|---|---|---|---|
| TC-01-1 | 正常 | 用戶 10:00 新增地址 X | 20:00 對 X 發起提現 | 拒絕,提示隔日 10:00 解鎖;記錄稽核 | P0 |
| TC-01-2 | 邊界 | 地址 X 新增剛滿 24h | 對 X 發起提現 | 放行 | P0 |
| TC-01-3 | 邊界 | 地址 X 新增差 1 分鐘滿 24h | 對 X 發起提現 | 拒絕 | P0 |
| TC-01-4 | 異常 | 刪除 X 後再重新加入 | 對 X 發起提現 | 依 Open Q 定義(標 TBD) | P1 |
欄位規範:
- 前置條件:具體到 QA 能照著建資料
- 步驟:一步一動作,用祈使句
- 預期結果:可觀察、可判定 pass/fail
- 類型 / Pri:見上方定義
覆蓋率摘要(表格之後)
## 測試覆蓋率摘要
| 規則 / AC | 正常 | 邊界 | 異常 | 併發 | 權限 | 備註 |
|---|---|---|---|---|---|---|
| R-03 新地址鎖定 | ✅ | ✅ | ✅ | N/A | N/A | 冪等不適用 |
未覆蓋 / 待補:
- [因缺 AC 而無法展開的項目]
- [標 TBD 的數值,待 PRD 定案後補測試]
缺口提示(必要)
明確列出:① PRD 缺 AC 的功能 ② Given 沒有具體數值的 AC ③ 標 Open Question 尚未定案、因而測試案例只能標 TBD 的項目。
語言與格式偏好
- 一律繁體中文,專有名詞保留英文
- 表格優先;老花友善:段落短、重點粗體
- P0 用粗體標示
輸出載體
- 預設輸出在對話中(QA 拿去即用的工作稿)
- 測試案例超過 30 條,或使用者要求「整理成文件 / 看板」時,
改用
interactive-html-report輸出成可篩選(依類型/優先級/狀態)、可勾選追蹤的互動報告