4.1 KiB
4.1 KiB
description
| description |
|---|
| 驗證TDD開發的完整性。確認所有測試案例都已實作且通過。 |
TDD 開發完整性驗證
驗證TDD開發是否完整,確保所有規劃的測試案例都已實作並通過。
【功能名】:{{feature_name}}
驗證目的
確認:
- 所有規劃的測試案例都已實作
- 所有測試都通過
- 功能開發完整
驗證檔案
需要檢查的文件:
docs/tdd/{feature_name}/requirements.md
docs/tdd/{feature_name}/testcases.md
docs/tdd/{feature_name}/memo.md
需要檢查的程式碼:
- 測試檔案(如
__tests__/*.test.js) - 實作檔案(如
src/*.js)
驗證步驟
1. 執行所有測試
npm test
確認:
- ✅ 所有測試都通過
- ✅ 沒有被跳過的測試
- ✅ 測試覆蓋率合理
2. 比對測試案例清單
從 testcases.md 讀取規劃的測試案例,檢查:
- 規劃了幾個測試案例
- 實際實作了幾個
- 哪些測試案例尚未實作
3. 檢查需求覆蓋
從 requirements.md 檢查:
- 所有輸入參數都有測試
- 所有輸出格式都有驗證
- 錯誤處理都有測試
- 邊界條件都有涵蓋
驗證報告格式
# {feature_name} TDD 開發完整性驗證報告
## 測試執行結果
- 測試總數:{數量}
- 通過:{數量}
- 失敗:{數量}
- 跳過:{數量}
- 成功率:{百分比}%
## 測試案例實作狀況
### 規劃的測試案例
- 正常系統:{數量} 個
- 異常系統:{數量} 個
- 邊界值:{數量} 個
- 總計:{數量} 個
### 已實作的測試案例
- 正常系統:{數量} 個
- 異常系統:{數量} 個
- 邊界值:{數量} 個
- 總計:{數量} 個
### 實作率
- 整體實作率:{百分比}%
## 需求覆蓋狀況
### 已覆蓋的需求
- {需求項目 1}:✅ 已測試
- {需求項目 2}:✅ 已測試
...
### 未覆蓋的需求
- {需求項目 X}:❌ 尚未測試
...
## 完整性判定
{✅ 完整 / ⚠️ 不完整}
### 判定理由
{說明為什麼判定為完整或不完整}
## 建議
{如果不完整,列出建議的改善項目}
更新 memo.md
在 memo.md 中加入驗證結果:
## 完整性驗證
### 日期
{當前日期時間}
### 驗證結果
{完整 / 不完整}
### 測試統計
- 測試總數:{數量}
- 成功率:{百分比}%
- 實作率:{百分比}%
### 需求覆蓋
- 已覆蓋:{數量} 項
- 未覆蓋:{數量} 項
### 結論
{總結開發成果}
### 後續建議
{如有需要,列出後續改善項目}
判定基準
✅ 完整(開發完成)
滿足所有條件:
- 所有測試都通過(100%)
- 實作率達 100%(或合理說明未實作的原因)
- 需求覆蓋率達 100%
- 程式碼品質良好
⚠️ 不完整(需要繼續開發)
有以下任一情況:
- 有測試失敗
- 重要測試案例未實作
- 重要需求未覆蓋
- 程式碼品質有明顯問題
驗證完成後的行動
如果驗證通過(完整)
- 在 memo.md 中標記為完成
- 整理開發記錄
- 結束此功能的 TDD 開發
如果驗證未通過(不完整)
- 在 memo.md 中記錄缺失項目
- 返回相應階段補充:
- 缺測試案例 → 返回
/tf-red - 測試未通過 → 返回
/tf-green - 程式碼品質 → 返回
/tf-refactor
- 缺測試案例 → 返回
輸出範例
完整的情況
✅ TDD 開發完整性驗證:通過
📊 測試統計
- 測試總數:15 個
- 全部通過
- 成功率:100%
- 實作率:100%
📋 需求覆蓋
- 全部需求項目都已測試
- 覆蓋率:100%
🎉 功能開發完成!
不完整的情況
⚠️ TDD 開發完整性驗證:未通過
📊 測試統計
- 測試總數:12 個
- 通過:10 個
- 失敗:2 個
- 成功率:83.3%
- 實作率:80%
❌ 未實作的測試案例
1. 邊界值測試:空陣列的處理
2. 錯誤測試:無效輸入的錯誤訊息
3. 邊界值測試:最大值超過限制
📝 建議
請返回 Red 階段,補充缺失的測試案例。
下一步
驗證完成後:
- 如果完整:功能開發結束,可以開始下一個功能
- 如果不完整:根據驗證報告返回相應階段繼續開發