|
|
@@ -0,0 +1,98 @@
|
|
|
+# 测试负责人巡检报告(2026-11-05 10:45 轮)
|
|
|
+
|
|
|
+> 角色:测试负责人(cfc-tester)| 触发:自动化定时任务 10:27 | 工作区:d:/cfc(主分支 cfclub)
|
|
|
+> 数据来源:离线契约测试实跑 + `discover_tests.py` / `test_inventory.py` 重扫 + git 真理证据核验 + 研发侧汇报交叉对照
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 一、本轮核心证据
|
|
|
+
|
|
|
+### 1.1 契约测试实跑(本轮亲自执行,8 类 71 例 + CfBalance 33 例)
|
|
|
+
|
|
|
+| 测试类 | 用例数 | 结果 | 结论 |
|
|
|
+|---|---|---|---|
|
|
|
+| HealthReportControllerCreateReportTest | 5 | 5/5 | ✅ 全绿 |
|
|
|
+| DanAssessmentControllerGetActiveMaterialTest | 3 | 3/3 | ✅ 全绿 |
|
|
|
+| TrainingPlanControllerGetPlanDetailTest | 8 | 8/8 | ✅ 全绿 |
|
|
|
+| TaskControllerCreateTaskTest (S-cfc-12) | 7 | 7/7 | ✅ 全绿 |
|
|
|
+| TaskControllerReviewTest (S-cfc-13) | 17 | 17/17 | ✅ 全绿 |
|
|
|
+| TaskServiceReviewTest (S-cfc-13) | 15 | 15/15 | ✅ 全绿 |
|
|
|
+| DimensionRegistryTreeTest | 9 | 9/9 | ✅ 全绿 |
|
|
|
+| DimensionRegistryMapContractTest | 7 | **4/7(3 红)** | ⚠️ P-2 口径未决(历史 #35~#38 同口径) |
|
|
|
+| **契约小计** | **71** | **68 绿 / 3 红** | BUILD FAILURE(3 红全为 MapContract) |
|
|
|
+| CfBalanceServiceTest + unit/CfBalanceControllerTest | 25+8 | 33/33 | ✅ 全绿(B-10 无复发) |
|
|
|
+
|
|
|
+- **3 红明细(全部为 P-2 map 口径未决,非新回归)**:
|
|
|
+ - `map_emptyLegacy_returnsNullData:85` — JSON path `$.data` 期望 null 实得 ""
|
|
|
+ - `map_missingLegacy_returnsBadRequest:92` — 期望 400 实得 200
|
|
|
+ - `map_unknownLegacy_returnsNullData:76` — 期望 null 实得 "unknown_legacy_xyz"
|
|
|
+- **testCompile**:216 源文件 **0 错**(B-10 编译回归**连续第 5 轮无复发**,05:35 起同口径全过)
|
|
|
+- **2 个 YELLOW 键复验**:health.report.createReport / dan.assessment.getActiveMaterial **连续第 5 轮**独立复验通过(08:12→10:45 三轮同口径)
|
|
|
+
|
|
|
+### 1.2 git 真理证据核验(已推 origin/cfclub)
|
|
|
+
|
|
|
+| 证据 sha | 归属 | merge-base 核验 |
|
|
|
+|---|---|---|
|
|
|
+| `2a1f72ff5` | merge(S-cfc-12) createTask 契约测试(7 用例全绿) | ✅ IN origin/cfclub |
|
|
|
+| `291955bce` | test(S-cfc-13) review 契约级单测 | ✅ IN origin/cfclub |
|
|
|
+| `1767d4414` | createReport 实现(YELLOW) | ✅ IN origin/cfclub(研发 10:15 核对) |
|
|
|
+| `c3e32460a` | getActiveMaterial 实现(YELLOW) | ✅ IN origin/cfclub(研发 10:15 核对) |
|
|
|
+| `f41da2779` | merge SC-P-10 createTask 场景合入 | ✅ IN origin/cfclub(10:22 已上线) |
|
|
|
+| `ee70d2971` | 部署基线(最新实际部署提交) | ✅ 与 origin/cfclub 零 main 改动间隔 |
|
|
|
+
|
|
|
+### 1.3 研发侧状态机(10:15 汇报,交叉对照)
|
|
|
+
|
|
|
+- **DONE 11 / YELLOW 2 / RED 0**(createTask/review 已收口 DONE;2 YELLOW 只差测试 mark-green 落库)
|
|
|
+- SC-P-10(f41da2779)+ SC-P-11(291955bce)**已部署测试环境,三端 200**
|
|
|
+- 覆盖完整性:部署基线..origin **零 main 代码改动**;`--changes --days 3` 新增能力键 0
|
|
|
+- 池空稳态第 14 轮,无新任务可派发
|
|
|
+
|
|
|
+### 1.4 台账重扫(discover_tests + test_inventory,自动更新)
|
|
|
+
|
|
|
+| 指标 | 08:12 轮 | 本轮 | 增量说明 |
|
|
|
+|---|---|---|---|
|
|
|
+| 控制器 / handler | 358 / 1941 | 358 / 1941 | 0 |
|
|
|
+| handler 覆盖 | 371(19.1%) | 371(19.1%) | 0 |
|
|
|
+| 测试文件 / @Test | 215 / 1651 | **216 / 1665** | +1 文件 +14 @Test(`unit/TaskCreateScP10ContractTest` 14 例,S-cfc-12 实现合入后新增) |
|
|
|
+| 跨源用例合计 | 2853 | **2877** | 729 md + 436 PW + 47 py + 1665 Java + 9 场景 |
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 二、状态机同步缺口(主卡点 · 连续第 14 轮未闭环)
|
|
|
+
|
|
|
+- 本地 `.tdd/state.json` 仍为 **3 伪 RED**(health.report.createReport / dan.assessment.getActiveMaterial / guide.trainingPlan.getPlanDetail),`updated_at` 停 **2026-11-04 10:14:04**(14 轮未动);
|
|
|
+- 研发侧状态机(10:15)为 **DONE 11 / YELLOW 2 / RED 0**,且 createTask/review 键**不在本地状态机键集中**;
|
|
|
+- 本轮实测:`--role 测试 --mark-green health.report.createReport` → **❌ 被拒:「当前阶段 RED,须先 YELLOW」**(本地 state.json 过时所致,与 08:12 轮同因);
|
|
|
+- **定性**:证据层全部满足(实现 sha 已在远端、契约复验连续 5 轮全绿、部署已上线),阻塞为**纯状态机同步缺口**,同步责任在编排侧/主理人,测试侧不可自解(禁止手改 state.json)——见 O-1「已裁决推进」待收口。
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 三、测试发现问题情况
|
|
|
+
|
|
|
+- 本轮无新 blocker 登记;工作区 blockers.md 已有 B-14~B-18(38/39 轮巡检登记)待流入版本库(接触冲突风险,随业主批次提交)。
|
|
|
+- O-1:状态机同步缺口(责任:编排侧);O-2:SC 场景入池方案追认(待裁决)。
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 四、未实测清单(如实标注)
|
|
|
+
|
|
|
+| 维度 | 状态 | 原因 |
|
|
|
+|---|---|---|
|
|
|
+| 全量后端 surefire | 未重跑 | 采信 38/39 轮兄弟批次(G1 91.88% / G2 112 红/34 类 + B-14 补跑 46 例全绿);本轮仅跑契约+受影响类 |
|
|
|
+| 前端 jest | 未重跑 | 采信兄弟批次(296/296 连续多轮 100%) |
|
|
|
+| Playwright / 接口冒烟 / langgraph pytest | 未授权未执行 | 联网未授权 + 远端环境(9082 等)不实跑 |
|
|
|
+| JaCoCo / PIT / 性能 / 依赖漏洞 | 无工具未执行 | 本地未接入 |
|
|
|
+| mark-green 落账 | 实测受阻 | 本地 state.json 过时拒绝(已尝试,同 08:12 轮) |
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 五、结论:不通过(承袭,有条件)
|
|
|
+
|
|
|
+- **G4 testCompile**:✅ 0 错(本轮实跑 216 源);**G5 契约**:✅ 68 绿(3 红为 P-2 口径未决);**G3 前端**:✅ 100%(采信);**G7 状态机同步**:❌ 伪 RED 第 14 轮;
|
|
|
+- **G8 P-2 map 口径**:❌ 3 红待拍板;**G1/G2**:91.88% / 112 红(采信兄弟批次,B-18 已定位 54 例 A 类可自修);**G6 CI**:❌ 无。
|
|
|
+- **使绿顺序**:
|
|
|
+ 1. 编排侧/主理人同步状态机 → 测试对 2 个 YELLOW 键 `--mark-green` 落库收口(卡点已就绪);
|
|
|
+ 2. P-2 map 契约口径拍板(3 红闭环);
|
|
|
+ 3. 测试侧批量修 B-18 A 类 54 例(G1 → ≈95.7%,G2 → 58);
|
|
|
+ 4. B-14 固定 SHA 全量复验 + B-13 环境红(8 例)改造 `@ActiveProfiles("test")`;
|
|
|
+ 5. 最小 CI 3 job 落地。
|