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