|
@@ -0,0 +1,71 @@
|
|
|
|
|
+# 测试负责人巡检报告(2026-11-05 16:59 轮)
|
|
|
|
|
+
|
|
|
|
|
+> 角色:测试负责人(cfc-tester)| 触发:自动化定时任务 | 工作区:d:/cfc(主分支 cfclub,已 rebase 对齐 origin/cfclub 至 `0e51cd2e7`)
|
|
|
|
|
+> 数据来源:离线契约测试实跑 + discover_tests.py / test_inventory.py 重扫 + git 真理证据核验 + 研发侧汇报交叉对照
|
|
|
|
|
+> 前置:`git rebase origin/cfclub`(0 behind/0 ahead,stash 回放未触碰跨角色 WIP)
|
|
|
|
|
+
|
|
|
|
|
+## 一、本轮核心证据
|
|
|
|
|
+### 1.1 契约测试实跑(本轮亲自执行,8 类 79 例)
|
|
|
|
|
+| 测试类 | 用例数 | 结果 | 结论 |
|
|
|
|
|
+|---|---|---|---|
|
|
|
|
|
+| HealthReportControllerCreateReportTest | 5 | 5/5 | ✅ 全绿(createReport YELLOW 键复验) |
|
|
|
|
|
+| DanAssessmentControllerGetActiveMaterialTest | 3 | 3/3 | ✅ 全绿(getActiveMaterial YELLOW 键复验) |
|
|
|
|
|
+| TrainingPlanControllerGetPlanDetailTest | 8 | 8/8 | ✅ 全绿 |
|
|
|
|
|
+| TaskControllerCreateTaskTest | 7 | 7/7 | ✅ 全绿 |
|
|
|
|
|
+| TaskControllerReviewTest | 17 | 17/17 | ✅ 全绿 |
|
|
|
|
|
+| TaskServiceReviewTest | 15 | 15/15 | ✅ 全绿 |
|
|
|
|
|
+| DimensionRegistryTreeTest | 9 | 9/9 | ✅ 全绿 |
|
|
|
|
|
+| DimensionRegistryMapContractTest | 7 | **4/7(3 红)** | ⚠️ P-2 口径未决(历史 #35~#42 同口径) |
|
|
|
|
|
+| unit/CfBalanceControllerTest | 8 | 8/8 | ✅ 全绿(B-10 无复发) |
|
|
|
|
|
+| **合计** | **79** | **76 绿 / 3 红** | BUILD FAILURE(3 红全为 MapContract) |
|
|
|
|
|
+
|
|
|
|
|
+- **3 红明细(全部为 P-2 map 口径未决,与 10:45 / 13:58 轮完全一致,非新回归)**:
|
|
|
|
|
+ - `map_unknownLegacy_returnsNullData:76` — 期望 null 实得 "unknown_legacy_xyz"
|
|
|
|
|
+ - `map_emptyLegacy_returnsNullData:85` — JSON path `$.data` 期望 null 实得 ""
|
|
|
|
|
+ - `map_missingLegacy_returnsBadRequest:92` — 期望 400 实得 200
|
|
|
|
|
+- **testCompile**:217 源文件编译 **0 错误**(B-10 编译回归连续第 7 轮无复发 → G4 达标)。
|
|
|
|
|
+- **2 个 YELLOW 键复验**:`health.report.createReport`(5/5)、`dan.assessment.getActiveMaterial`(3/3)**连续第 7 轮**独立复验通过 ✅。
|
|
|
|
|
+
|
|
|
|
|
+### 1.2 git 真理证据核验(本轮新发现 · 重要)
|
|
|
|
|
+- **RED 测试证据**:`81d8883f7`(createReport)、`faf3ca174`(getActiveMaterial)经 `git merge-base --is-ancestor` 核验**均在 origin/cfclub** ✓。
|
|
|
|
|
+- **YELLOW 实现证据**:`1767d4414`(createReport)、`c3e32460a`(getActiveMaterial)经 `git merge-base --is-ancestor` 核验**均 NOT 在 origin/cfclub** ✗ —— 两者提交时间为 **2026-06-09 / 2026-06-12**(TDD 闭环无关的旧提交),且 `git log origin/cfclub` 中**不存在**这两枚 sha,仅存在于 `origin/cfclub-jiapu` / `origin/recovered-*` / `origin/refund-queue` 等旁支。
|
|
|
|
|
+- **矛盾点**:研发 14:59 / 16:45 汇报均称「4 个 sha 逐条核验全部在 origin/cfclub ✓」,测试侧 13:58 报告也记为「已在 origin/cfclub」。**本轮独立复核推翻该结论** —— 按 git 真理口径,研发登记 YELLOW 所用的实现证据 sha(`1767d4414`/`c3e32460a`)**不是 origin/cfclub 祖先链上的提交**,属历史 force-push / rebase 重写导致 sha 失效,或登记时引用了旁支旧提交。
|
|
|
|
|
+- **功能现状确认**:`DanAssessmentController.getActiveMaterial`、`HealthReportController.createReport` **方法确实存在于 origin/cfclub 源头文件**(git grep 命中)→ 实现已合入主线,但**登记的证据 sha 无法通过 git 真理校验**,需研发重新给出 origin/cfclub 祖先链上的有效实现 sha。
|
|
|
|
|
+
|
|
|
|
|
+### 1.3 研发侧状态机(16:45 汇报,交叉对照)
|
|
|
|
|
+- **DONE 11 / YELLOW 2 / RED 0**(2 YELLOW:createReport / getActiveMaterial,只差测试 mark-green;SC-X-22 实现在途 lan-248)。
|
|
|
|
|
+- 池 0 pending、无新增能力键、opencode 429 黑窗延至 11-06 08:00、已跑通严格口径 0/218。
|
|
|
|
|
+- O-3 卡主工作树第三判据(工作目录干净)、O-4 待裁决(SC 236 口径 + SC-X-22 契约缺口)。
|
|
|
|
|
+
|
|
|
|
|
+## 二、状态机同步缺口(主卡点 · 连续第 16 轮未闭环)
|
|
|
|
|
+- 本地 `.tdd/state.json` 仍为 **3 伪 RED**(`health.report.createReport` / `dan.assessment.getActiveMaterial` / `guide.trainingPlan.getPlanDetail`),`updated_at` 停 **2026-11-04 10:14:04**(16 轮未动);
|
|
|
|
|
+- 研发侧状态机(16:45)为 **DONE 11 / YELLOW 2 / RED 0**,键集与阶段深度不同步,测试侧 `--mark-green health.report.createReport` 实测仍被拒:「当前阶段 RED,须先 YELLOW」。
|
|
|
|
|
+- **定性(本轮升级)**:此前 15 轮归因「纯状态机同步缺口」,本轮实测确认**同步缺口之外叠加 YELLOW 证据 sha 本身不成立**——即使状态机同步、阶段推进到 YELLOW,测试侧 `--mark-green` 仍会因 `commit_kind()` 的 git 真理校验(YELLOW 提交须为 origin/cfclub 祖先)而拒绝。**双重卡点**,责任:研发登记方(重给有效 sha)+ 编排侧/主理人(同步状态机)。
|
|
|
|
|
+
|
|
|
|
|
+## 三、测试发现问题情况
|
|
|
|
|
+- 本轮无新 blocker 登记;工作区 blockers.md 已有 B-13~B-20 待流入。
|
|
|
|
|
+- **本轮新发现(建议升级 O-1 或新建 O-5)**:研发 YELLOW 证据 sha 非 origin/cfclub 祖先链(见 1.2),建议研发重新登记有效实现 sha 后,测试侧再执行 mark-green 收口。
|
|
|
|
|
+- O-1:状态机同步缺口(责任:编排侧/主理人,**叠加 sha 失效**);O-2:SC 场景入池方案追认(已裁决方案 A 为正本);O-3:SC 跑通第三判据(待裁决);O-4:SC 236 口径 + SC-X-22 契约缺口(待裁决)。
|
|
|
|
|
+
|
|
|
|
|
+## 四、台账重扫(本轮刷新)
|
|
|
|
|
+- **discovery**:控制器 358|handler 1941(覆盖 371=19.1%)|测试文件 217(@Test 1666,部分 4)
|
|
|
|
|
+- **inventory**:结构化 784|Playwright 444|Python 47|Java@Test 1666|场景 11|合计 **2941** 用例(vs 13:58 轮 2877,+64 增量)
|
|
|
|
|
+- 侧车 `.tdd/test-progress.json` 未重写(951 条保留)。
|
|
|
|
|
+
|
|
|
|
|
+## 五、未实测清单(如实标注)
|
|
|
|
|
+- 全量后端 surefire:采信兄弟批次(15:19/16:15 轮 216 类 / 1649 执行 / 1525 通过 = **92.7%**,120 未通过中非环境红 112;B-18 A 类 54 例可测试自修)。
|
|
|
|
|
+- 前端 jest(三端):采信兄弟批次 100%(14 套件 / 296 例)。
|
|
|
|
|
+- langgraph pytest:采信 15:19 轮首次实测 **43 例 24 绿 / 19 红**(B-19 已定位:C 环境 14 + A 漂移 5)。
|
|
|
|
|
+- Playwright / 接口冒烟:联网未授权未执行(B-20 已定位 96 spec)。
|
|
|
|
|
+- JaCoCo / PIT / 性能 / 依赖漏洞:无工具,未实测。
|
|
|
|
|
+- `--mark-green` 落账:实测受阻(本地状态机过时 + YELLOW sha 失效,双卡点),非未尝试。
|
|
|
|
|
+
|
|
|
|
|
+## 六、结论:不通过(承袭,有条件)
|
|
|
|
|
+- **G4 testCompile**:✅ 0 错(本轮实跑 217 源,B-10 连续第 7 轮无复发);**G5 契约**:✅ 76 绿(3 红 P-2 口径);**G3 前端**:✅ 100%(采信);**G1 后端**:⚠️ 92.7%(采信兄弟批次,目标 ≥95%);**G2 非环境红**:❌ 112(B-18 A 类 54 例可自修);**G6 CI**:❌ 无;**G7 状态机同步**:❌ 伪 RED 第 16 轮;**G8 P-2 口径**:❌ 3 红待拍板。
|
|
|
|
|
+- **使绿顺序**:
|
|
|
|
|
+ 1. 研发重新登记有效 YELLOW 实现 sha(origin/cfclub 祖先链)→ 编排侧/主理人同步状态机 → 测试对 2 YELLOW 键 `--mark-green` 落库收口(**本轮新发现:sha 失效需先修**);
|
|
|
|
|
+ 2. P-2 map 契约口径拍板(3 红闭环);
|
|
|
|
|
+ 3. 测试侧批量修 B-18 A 类 54 例(G1 → ≈95.7%);
|
|
|
|
|
+ 4. B-19 langgraph / B-20 Playwright 纳入可复测基线。
|
|
|
|
|
+
|
|
|
|
|
+**总结**:测试技术层面(编译/契约)连续第 7 轮稳定达标,YELLOW 键契约复验连续第 7 轮通过;但本轮**独立核验发现研发登记的 YELLOW 证据 sha 非 origin/cfclub 祖先链**,叠加状态机同步缺口,构成双卡点。等待:①研发重新登记有效实现 sha ②主理人同步状态机 ③主理人裁决 P-2 / O-3 / O-4。
|