3.0 KiB
3.0 KiB
description
| description |
|---|
| 進行TDD開發的測試案例規劃。根據需求定義規劃完整的測試案例。 |
TDD測試案例的規劃
根據需求文件,規劃涵蓋完整的測試案例。
【功能名】:{{feature_name}}
事前準備
請先確認需求文件已存在:
docs/tdd/{feature_name}/requirements.md
測試案例分類
1. 正常系統測試案例(基本功能)
記載格式:
- 測試名稱:清楚描述測試目的
- 測試內容:要驗證什麼功能
- 輸入值:具體的測試資料
- 預期結果:應該得到什麼輸出
- 測試目的:為什麼需要這個測試
2. 異常系統測試案例(錯誤處理)
記載格式:
- 測試名稱:描述錯誤情境
- 測試內容:要驗證的錯誤處理
- 輸入值:不正確或異常的資料
- 預期結果:預期的錯誤訊息或例外
- 測試目的:確保適當的錯誤處理
3. 邊界值測試案例(極端情況)
記載格式:
- 測試名稱:描述邊界條件
- 測試內容:要驗證的邊界行為
- 輸入值:最小值、最大值、空值等
- 預期結果:邊界情況的正確處理
- 測試目的:確保極端情況的穩定性
技術選擇
請指定測試使用的技術:
- 程式語言:如 JavaScript、TypeScript、Python 等
- 測試框架:如 Jest、Vitest、pytest 等
- 測試類型:單元測試、整合測試等
測試程式碼註解要求
測試程式碼必須包含繁體中文註解:
測試開始的註解
describe('功能名稱', () => {
test('測試案例名稱', () => {
// 【測試目的】:說明此測試要驗證什麼
// 【測試內容】:具體測試的處理
// 【預期行為】:正常情況下的結果
});
});
Given-When-Then 註解
// 【測試資料準備 Given】:準備測試所需的資料
const input = testData;
// 【執行測試 When】:呼叫要測試的功能
const result = functionToTest(input);
// 【驗證結果 Then】:確認結果符合預期
expect(result).toBe(expectedValue);
驗證點的註解
expect(result.value).toBe(10); // 【確認】:數值正確為 10
expect(result.status).toBe('success'); // 【確認】:狀態為成功
expect(result.errors).toHaveLength(0); // 【確認】:沒有錯誤
輸出格式
規劃完成後,將測試案例清單儲存至:
docs/tdd/{feature_name}/testcases.md
測試案例文件應包含:
- 測試案例總覽(數量統計)
- 正常系統測試案例清單
- 異常系統測試案例清單
- 邊界值測試案例清單
- 技術選擇說明
品質檢查
規劃完成後,請確認:
- ✅ 涵蓋所有需求項目
- ✅ 測試案例分類完整
- ✅ 每個測試案例都有明確的預期結果
- ✅ 技術選擇明確
下一步
測試案例規劃完成後,請執行:
/tf-red
開始建立失敗的測試(Red 階段)。