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