diff --git a/DevelopmentPlan.md b/DevelopmentPlan.md index cd09cdc..0782dc1 100644 --- a/DevelopmentPlan.md +++ b/DevelopmentPlan.md @@ -26,6 +26,7 @@ | V1.1 | 2026-02-03 | Claude | 审阅修订:补充 F-05-A/F-45 技术方案、验收标准、数据模型、测试策略 | | V1.2 | 2026-02-03 | Claude | Reviewer 修正:Logo检测改向量检索、Brief解析增VLM、弹性GPU、H5防锁屏、排期调整 | | V1.2.1 | 2026-02-03 | Claude | 补充多模态时间戳对齐流程图 (Gemini 建议) | +| V1.3 | 2026-02-02 | Claude | **确立 TDD 为项目核心开发规范**,关联 tdd_plan.md | --- @@ -405,6 +406,42 @@ sequenceDiagram ## 9. 测试策略 (Testing Strategy) +> ⭐ **核心原则:本项目全程遵循 TDD(测试驱动开发)** +> +> 详细实施计划参见:[featuredoc/tdd_plan.md](./featuredoc/tdd_plan.md) + +### 9.0 TDD 开发规范 (Test-Driven Development) + +**本项目强制采用 TDD 开发模式**,所有功能代码必须遵循「红-绿-重构」循环: + +``` +┌─────────────────────────────────────────────────────────────┐ +│ TDD 开发流程 │ +├─────────────────────────────────────────────────────────────┤ +│ │ +│ 1. 🔴 RED → 先写一个失败的测试 │ +│ 2. 🟢 GREEN → 写最少的代码让测试通过 │ +│ 3. 🔄 REFACTOR → 重构代码,保持测试通过 │ +│ 4. 重复循环 │ +│ │ +└─────────────────────────────────────────────────────────────┘ +``` + +**TDD 分层策略:** + +| 代码类型 | TDD 策略 | 覆盖率要求 | +| --- | --- | --- | +| **业务逻辑/工具函数** | 严格 TDD(先写测试) | ≥ 80% | +| **API 接口** | 契约优先(先定义 OpenAPI) | ≥ 80% | +| **AI 模型调用** | 标注集验证 | ≥ 70% | +| **前端组件** | 组件级 TDD | ≥ 70% | +| **E2E 流程** | BDD + Playwright | 核心路径 100% | + +**CI/CD 门禁:** +- PR 合并前必须通过所有测试 +- 覆盖率低于阈值将阻断合并 +- AI 模型指标下降将触发告警 + ### 9.1 测试类型 | 测试类型 | 覆盖范围 | 工具 | 负责人 | @@ -455,5 +492,7 @@ sequenceDiagram | PRD.md | 产品需求文档 | | FeatureSummary.md | 功能清单与优先级 | | User_Role_Interfaces.md | 界面规范 | +| tasks.md | 开发任务清单 | +| **featuredoc/tdd_plan.md** | **TDD 实施计划(核心规范)** | | 数据字典 | 待编写 | | API 接口规范 | 待编写 | diff --git a/tasks.md b/tasks.md index 66e814b..e6369d9 100644 --- a/tasks.md +++ b/tasks.md @@ -3,7 +3,7 @@ | 文档类型 | **Development Tasks (开发任务清单)** | | --- | --- | | **项目名称** | SmartAudit (AI 营销内容合规审核平台) | -| **版本号** | V1.2 | +| **版本号** | V1.3 | | **发布日期** | 2026-02-02 | | **依据文档** | PRD.md, FeatureSummary.md, DevelopmentPlan.md, UIDesign.md, User_Role_Interfaces.md | | **总周期** | 11 周 (2.75 个月) | @@ -17,6 +17,46 @@ | V1.0 | 2026-02-02 | Claude | 初稿:基于功能清单和开发计划拆解任务 | | V1.1 | 2026-02-02 | Claude | 补充:代理商/品牌方移动端任务、响应式与无障碍设计任务 | | V1.2 | 2026-02-02 | Claude | Gemini 审阅优化:新增 API Mock、CI/CD、消息中心后端接口任务 | +| V1.3 | 2026-02-02 | Claude | 确立 TDD 为核心开发规范 | + +--- + +## 0. 开发规范:TDD(测试驱动开发) + +> ⭐ **重要声明:本项目全程遵循 TDD 开发模式** + +### 0.1 TDD 核心原则 + +**所有功能代码必须遵循「红-绿-重构」循环:** + +1. 🔴 **RED** - 先写一个失败的测试 +2. 🟢 **GREEN** - 写最少的代码让测试通过 +3. 🔄 **REFACTOR** - 重构代码,保持测试通过 + +### 0.2 每个任务的 TDD 要求 + +| 任务类型 | TDD 要求 | 测试工具 | +| --- | --- | --- | +| 后端业务逻辑 | 严格 TDD(先写测试) | pytest | +| API 接口 | 契约优先 + 测试验证 | pytest + httpx | +| AI 模型封装 | 接口测试 + 标注集验证 | pytest + 标注数据 | +| 前端组件 | 组件级 TDD | Vitest + RTL | +| 前端 Hooks/Store | 先写测试 | Vitest | +| E2E 流程 | BDD 场景覆盖 | Playwright | + +### 0.3 任务完成标准(DoD) + +每个任务标记为「完成」前,必须满足: + +- [ ] 功能代码已实现 +- [ ] **单元测试已编写并通过** +- [ ] **覆盖率达到要求**(后端 ≥80%,前端 ≥70%) +- [ ] CI/CD 流水线绿灯 +- [ ] 代码已通过 Review + +### 0.4 TDD 详细实施计划 + +> 参见:[featuredoc/tdd_plan.md](./featuredoc/tdd_plan.md) ---