Преглед изворни кода

docs(tdd): 新增 CFC 能力键台账与测试用例台账(TDD 编排器数据源)

Agnes Agent пре 1 недеља
родитељ
комит
1130e5d759
2 измењених фајлова са 60 додато и 0 уклоњено
  1. 35 0
      docs/tdd/SRS.md
  2. 25 0
      docs/tdd/test/cases.md

+ 35 - 0
docs/tdd/SRS.md

@@ -0,0 +1,35 @@
+# CFC(浠艾福 XAF)TDD 能力键台账
+
+> 本文件是 `tdd-orchestrator` skill 的**需求侧数据源**(`docs_interface`)。
+> 解析口径(skill 硬编码):区段以 `## SRS 能力键(TDD 池源)` 起始,到下一个 `## ` 标题结束;
+> 仅解析 `|` 开头、且拆出 ≥8 列的表格行;第 2 列为能力键(须 `unit.domain.action` 三段式),第 6 列为状态。
+> 状态:`⏳` = 未实现(进入 TDD 目标池的门槛);`✅` = 已实现(仅作契约化标注,不入池)。
+>
+> ⚠️ **种子声明**:本台账的 `⏳` 条目为依据 CFC 现有控制器与 cfclub 新特性清单**初步推导的种子**,
+> 并非经核实的真实缺口。上线前请用 `tools/xaf_agent_hub/tasks_backlog.json` 与 cfclub 特性清单核对替换。
+> 能力键单元(unit)取自 CFC 真实控制器域:auth / family / health / article / dimension / indicator / guide / dailyTask。
+
+## SRS 能力键(TDD 池源)
+
+| 来源页面 | 能力键 | 所属单元 | 能力域 | 动作类 | 状态 | 备注 |
+| --- | --- | --- | --- | --- | --- | --- |
+| cfc-backend AuthController | auth.user.login | auth | user | login | ✅ | 已实现,AuthControllerTest 覆盖 |
+| cfc-backend FamilyMembersController | family.member.list | family | member | list | ✅ | 已实现,FamilyMembersControllerListTest 覆盖 |
+| cfc-backend HealthReportController | health.report.upload | health | report | upload | ✅ | 已实现,HealthReportControllerProxyParseBindingTest 覆盖 |
+| cfc-backend ArticleController | article.category.list | article | category | list | ✅ | 已实现,ArticleCategoryControllerTest 覆盖 |
+| cfc-backend DimensionAdminController | dimension.admin.update | dimension | admin | update | ✅ | 已实现,DimensionAdminControllerTest 覆盖 |
+| cfc-backend IndicatorFavoriteController | indicator.favorite.add | indicator | favorite | add | ✅ | 已实现,IndicatorFavoriteControllerTest 覆盖 |
+| cfclub 新特性·家庭邀请二维码 | family.invite.qrcode | family | invite | qrcode | ⏳ | 种子·待核实实现状态 |
+| cfclub 新特性·健康报告解析 | health.report.parse | health | report | parse | ⏳ | 种子·待核实实现状态 |
+| cfclub 新特性·文章发布-审核 | article.review.submit | article | review | submit | ⏳ | 种子·待核实实现状态 |
+| cfclub 新特性·成长规划师接单 | guide.order.create | guide | order | create | ⏳ | 种子·待核实实现状态 |
+| cfclub 新特性·每日任务提醒 | dailytask.remind.push | dailytask | remind | push | ⏳ | 种子·待核实实现状态 |
+
+## 说明
+
+- 本台账与 `docs/tdd/test/cases.md`(测试用例台账)联动:目标池 = `⏳` 键 ∩ 被用例引用的键。
+- `ops_file`(`**/*Ops.java`)当前在 CFC 无匹配文件,故能力键暂无「★已契约化」标注;
+  若后续采用契约常量约定,可新建 `*Ops.java` 写入 `"unit.domain.action"` 字符串常量。
+- `module_root` 为空(CFC 为单模块 `cfc-backend`,非 Maven `-impl`/`-contract` 布局):
+  skill 的 RED/GREEN 自动提示与 git 证据判定按 `<unit>-impl/src/{test,main}` 生成,对 CFC 单模块不适用,
+  仅 `--status` 只读池视图完全可用;写链路(RED/GREEN 派发)需按 CFC 实际路径二次适配。

+ 25 - 0
docs/tdd/test/cases.md

@@ -0,0 +1,25 @@
+# CFC(浠艾福 XAF)测试用例台账
+
+> 本文件是 `tdd-orchestrator` skill 的**测试侧数据源**(`test_dir`)。
+> 解析口径(skill 硬编码):仅解析以 `| TC-` 开头的表格行、且拆出 ≥6 列;
+> 第 2 列=用例编号,第 3 列=优先级(P0/P1),第 6 列=「关联能力键 / 页面」,
+> 只取 `/` 之前部分、抽取反引号内的 `unit.domain.action` 能力键(4 段 `web.*`/`pda.*` 不计入)。
+>
+> ⚠️ 本台账与 `../SRS.md` 联动:只有被本台账引用的 `⏳` 键才会进入 TDD 目标池。
+> 下表前 5 条对应 SRS 的 `⏳` 种子键;后 2 条对应 `✅` 已实现键(仅展示覆盖,不入池)。
+
+| 用例编号 | 优先级 | 测试类型 | 测试点 | 关联能力键 / 页面 |
+| --- | --- | --- | --- | --- |
+| TC-CFC-001 | P0 | 契约级单测 | 家庭邀请二维码生成、令牌校验、落地页绑定 | `family.invite.qrcode` / web.family.invite |
+| TC-CFC-002 | P0 | 契约级单测 | 健康报告异步解析入库、异常回退 | `health.report.parse` / web.health.report |
+| TC-CFC-003 | P1 | 契约级单测 | 文章提交审核、审核通过/驳回状态机 | `article.review.submit` / web.article.review |
+| TC-CFC-004 | P1 | 契约级单测 | 成长规划师接单创建、状态流转 | `guide.order.create` / web.guide.order |
+| TC-CFC-005 | P2 | 契约级单测 | 每日任务提醒推送触发与去重 | `dailytask.remind.push` / web.dailytask.remind |
+| TC-CFC-101 | P0 | 契约级单测 | 登录鉴权、JWT 拦截(已实现回归) | `auth.user.login` / web.auth.login |
+| TC-CFC-102 | P1 | 契约级单测 | 家庭成员列表分页与权限(已实现回归) | `family.member.list` / web.family.member |
+
+## 结果回填(可选)
+
+> 已部署端点的实测结果放 `docs/tdd/test/results/*functional*.md`,
+> 按 `| FE1-* | ... | POST | <路径> | <判定> | ... |` 回填(路径 `/family/invite/qrcode` → `family.invite.qrcode`)。
+> 当前 CFC 暂无 E1 功能报告,故执行结果数据源为空(不影响 `⏳` 新功能池)。