|
|
@@ -0,0 +1,92 @@
|
|
|
+# 闭环自动化测试 · TDD 测试负责人汇报(2026-11-08 20:08,第 91 轮,本自动化)
|
|
|
+
|
|
|
+> 角色/档位:cfc-tester 测试负责人;review 档,本机 204 直跑 + 远程派发尝试(189 派发失效 B-56 / 251:9000+4090 CLOSED B-55);langgraph 本地 venv 兜底;未联网、未改码、不派发远程 opencode(沿用历史口径)。
|
|
|
+
|
|
|
+## 一、实跑结果(与 R90 基线 @ 16:36 对比)
|
|
|
+
|
|
|
+| 维度 | 本轮结果 | R90 基线 | 判定 |
|
|
|
+|------|----------|----------|------|
|
|
|
+| cfc-frontend (Jest) | **358 pass / 24 fail / 1 skip**(22 suites,383 总) | 354 / 355(1 skip) | **有变化**(24 新增 RED 用例) |
|
|
|
+| cfc-web (Jest) | **116 / 116**(17 suites,EXIT 0) | 116 / 116 | 零漂移 |
|
|
|
+| cfc-langgraph (pytest, --ignore=tests/qna) | **32 pass / 12 fail**(44 collected,EXIT 1,237s) | 32 / 12 | 零漂移(251 CLOSED→本地 venv 兜底) |
|
|
|
+| 浏览器 admin-desktop (`cfc.iwintrue.com/admin`) | **5 / 5**(TC-A-U01~U05,1.8m) | 5 / 5 | 零漂移 |
|
|
|
+| 浏览器 frontend-mobile (`cfc.iwintrue.com/frontend`) | **6 / 6**(TC-F-U01~U06,50s) | 6 / 6 | 零漂移 |
|
|
|
+| 浏览器 shop-api | **4 / 4**(TC-S-U01~U04,7s) | 4 / 4 | 零漂移 |
|
|
|
+| 浏览器 health-api | **13 / 13**(TC-H-U07~U10 + TC-HP-U01~U03,6s) | 10 / 13(B-61 3 红) | **有变化(B-61 闭环)** |
|
|
|
+| 浏览器合计 | **28 / 28** | 28 / 28 | 零漂移(但 B-61 由 3 红转绿) |
|
|
|
+| cfc-backend 2398 @Test / 全量 Playwright | 本节点**不可执行**(无 Maven;远程派发失效) | 不可执行 | 同历史 |
|
|
|
+
|
|
|
+### 关键变化说明
|
|
|
+1. **前端 24 失败 = 新增 S-cfc-79 RED 契约测试**(commit `fb1e335e9`,462 行,28 例),随 SRS 变更 `49b4a71ef`(推荐食材页面改版 7 项需求 REQ1~REQ7)新增;24 失败覆盖 REQ1 去标题(2)/REQ2 互斥(3)/REQ3 4Tab(7)/REQ4 分页(12)/REQ5 `self-label="我"`(1)/REQ6 生成 loading(3)。**非既有用例回归**:354 通过用例零转红,纯为新增 RED 套件(功能未实现,属 TDD RED 态,待研发 YELLOW)。
|
|
|
+2. **health-api 13/13 全绿**:TC-HP-U01/02/03(`/api/health/plan/{adjust,attribution,generate}` 匿名 POST)本轮全部返回 **401**,B-61(P0 健康方案鉴权缺口,首现 R78)连续 7 轮后正式闭环(源码 `b3a02df92`/`de16f40b0` 合入 + 部署生效)。
|
|
|
+
|
|
|
+## 二、网络探活与节点
|
|
|
+- `cfc.iwintrue.com:443` OPEN(admin 302→login、frontend 302→login,可达)
|
|
|
+- `192.168.16.189:4090` OPEN 但 API 401 鉴权门控(B-56,派发失效)→ admin/frontend 浏览器套件本机 204 串行兜底
|
|
|
+- `192.168.16.251:9000/4090` **CLOSED**(B-55)→ langgraph 无法派发 251,本地 venv 兜底
|
|
|
+- Chromium:`%LOCALAPPDATA%\ms-playwright\chromium-1228` 已就位(B-51 类本轮回退后恢复,浏览器 4 套件独立重跑 28/28 印证)
|
|
|
+
|
|
|
+## 三、SRS / 测试用例更新核对(用户要求:SRS 变更须更新测试用例)
|
|
|
+- **SRS 变更**:`49b4a71ef` docs(specs) 推荐食材页面改版(去标题/Tab化/互斥选中/个人改「我」/生成提示/前端分页/共餐人选择,REQ1~REQ7)。
|
|
|
+- **测试用例更新**:`fb1e335e9` S-cfc-79 新增 `diet.recommendation.uiRework.test.js`(28 例,覆盖全部 7 项 REQ)。
|
|
|
+- **结论**:本轮 SRS 变更→测试用例更新闭环**已满足**(需求 7 项均有对应 RED 用例);新增 24 RED 待研发实现使绿。
|
|
|
+
|
|
|
+## 四、对照用户双目标
|
|
|
+- **目标① 所有测试用例全部覆盖并通过** ❌
|
|
|
+ - 前端 24 RED(S-cfc-79 预期 RED,待实现)+ langgraph 12 红(B-54 环境 10 + B-65 产品 2)+ 后端 2398 @Test 本节点不可验证(无 Maven / 远程派发失效)。
|
|
|
+ - 可本机验证子集 = 前端 358 + web 116 + lg 32 + 浏览器 28 = **534 例,其中 510 通过 / 24 失败(预期 RED)/ 12 失败(langgraph)/ 1 skip**。
|
|
|
+- **目标② 覆盖全部 SRS + 用户场景(含异常流)** ❌
|
|
|
+ - SRS 池未启用(0 锚点);`automation-status.md` 显示 795 文档用例/场景 已执行=0;后端约 130 handler uncovered;异常流 TC-*-E/-P 仅文档标注零执行。
|
|
|
+ - 本轮正向:S-cfc-79 已为 diet rework 7 项需求补齐 RED 用例,SRS→用例覆盖可见性提升。
|
|
|
+
|
|
|
+## 五、门禁结论
|
|
|
+**不通过**(双目标均未完全达成)。但较历史显著收敛:B-61(P0 安全缺口)闭环、浏览器 28/28 稳定、前端新增 RED 为预期 TDD 态、langgraph 零漂移。
|
|
|
+
|
|
|
+## 六、覆盖缺口清单(待闭环)
|
|
|
+| 缺口 | 现状 | 风险 | 建议测试设计 | 优先级 |
|
|
|
+|------|------|------|--------------|--------|
|
|
|
+| B-73 前端 S-cfc-79 24 RED | 功能未实现,24 红 | 用户目标①未达成 | 研发实现 diet rework → 套件 28/28 转绿 | P1 |
|
|
|
+| B-54 langgraph 环境 10 红 | chromadb DLL / LLM key | 报告解读/画像 AI 不可用 | 251 重建 chromadb 原生扩展 + 注入 LLM key 后派发 251 复跑 | P1 |
|
|
|
+| B-65 langgraph `analyze` 恒 500 | 缺 `thread_id` 配置 | 报告解读线上不可用 | 无状态去掉 MemorySaver 或 ainvoke 传 thread_id | P1 |
|
|
|
+| B-55 251 端口 CLOSED | langgraph 无法派发 251 | 丧失隔离验证节点 | 运维放通 251:9000/4090 | P1 |
|
|
|
+| B-56 189 派发失效 | 浏览器无法分派 189 | 单节点串行瓶颈 | 运维对齐 189 opencode API 版本路由 | P2 |
|
|
|
+| B-69 `/api/mind/` 匿名 400 | 安全口径漂移 | 私有数据端点口径不一致 | LOGIN_REQUIRED_PATHS 增 `/api/mind/` | P1 |
|
|
|
+| B-68 `totalFamilyMemberren` 拼写 | 管理端概览恒 0 | 功能不可用 | 后端双写 + 前端 3 处改读 | P1 |
|
|
|
+| 后端 2398 @Test 本机不可跑 | 无 Maven | 后端门禁缺口 | CI 接入后端 JUnit / 授权编译 | P1 |
|
|
|
+| SRS 池未启用 + 795 文档用例零执行 | 覆盖零验证 | 目标②缺口 | 启用 SRS 池 + 闭环 795 用例执行 | P0 |
|
|
|
+
|
|
|
+## 七、五要素问题清单(本轮新增/升级)
|
|
|
+### B-73 · 前端 S-cfc-79 24 例 RED(预期)
|
|
|
+1. **问题描述**:`diet.recommendation.uiRework.test.js` 24 例失败,覆盖推荐食材改版 7 项需求。
|
|
|
+2. **测试 bug 点**:`cfc-frontend/__tests__/pages/diet/recommendation.uiRework.test.js`(28 例,24 红)。
|
|
|
+3. **最优修改方案**:研发实现 S-cfc-79(`recommendation.vue` 去标题/Tab化/互斥/分页/`self-label="我"`/生成 loading;`DietRecommendationController` 契约对齐),使 24 例转绿。
|
|
|
+4. **修改目的**:达成用户目标①(全部用例通过)+ 闭环 SRS 变更后的契约验证。
|
|
|
+5. **闭环**:研发实现→jest 复跑该套件 28/28 全绿 + 状态机 S-cfc-79 置 YELLOW→GREEN。
|
|
|
+
|
|
|
+### B-61 · 健康方案鉴权缺口(本轮闭环)
|
|
|
+1. **问题描述**:`/api/health/plan/{adjust,attribution,generate}` 匿名 200 直通(应 401)。
|
|
|
+2. **测试 bug 点**:`tests/e2e-live/health-contract.spec.js` TC-HP-U01/02/03。
|
|
|
+3. **最优修改方案**:`JwtInterceptor.LOGIN_REQUIRED_PATHS` 增 `/api/health/plan/`(已合入 `b3a02df92`/`de16f40b0`)。
|
|
|
+4. **修改目的**:私有健康方案端点默认拒绝,消除越权/AI 配额滥用风险。
|
|
|
+5. **闭环**:本轮 live 实测 TC-HP-U01~03 返回 401 → **13/13 全绿,B-61 已闭环**。
|
|
|
+
|
|
|
+## 八、阻塞与风险(研发通知载体,见 blockers.md)
|
|
|
+- **已闭环**:B-61(P0 安全缺口,live 13/13 验证)。
|
|
|
+- **新增**:B-73(前端 S-cfc-79 24 RED,研发待实现 YELLOW)。
|
|
|
+- **持续未闭环**:B-54/B-65(langgraph 12 红)、B-55(251 CLOSED)、B-56(189 派发)、B-68/B-69(前后端契约/安全)、后端 JUnit 本机不可跑、SRS 池未启用。
|
|
|
+
|
|
|
+## 九、变更触发判定(用户规则:结果有变→提交远程+通知研发)
|
|
|
+- **本轮触发**:① 前端 24 新增 RED(S-cfc-79)② B-61 健康鉴权 3 红转绿闭环 → 结果**有变化**。
|
|
|
+- **动作**:本报告 + blockers.md(B-61 闭环 / B-73 新增)已 commit 并 push origin/cfclub(merge-base 核验 PASS)。
|
|
|
+- **通知研发重点**:S-cfc-79 实现使 24 例转绿(B-73);B-61 已闭环(安全缺口解除,无需动作);B-54/B-65/B-55/B-68/B-69 持续催办。
|
|
|
+
|
|
|
+## 十、产物
|
|
|
+- 本报告:`docs/tdd/orchestration/report-test-2026-11-08-2008.md`(已 push)
|
|
|
+- 阻塞台账:`docs/tdd/test/blockers.md`(B-61 闭环 + B-73 新增,已 push)
|
|
|
+
|
|
|
+## 十一、待办(持续)
|
|
|
+1. 研发实现 S-cfc-79(B-73)使前端 24 例转绿。
|
|
|
+2. 运维/研发:251 放通端口派发 langgraph + 重建 chromadb 原生扩展/注入 LLM key(B-54/B-55);修复 B-65 `analyze` thread_id。
|
|
|
+3. 运维恢复 189 派发通道(B-56)落实每节点单任务分派。
|
|
|
+4. 启用 SRS 需求池 + 闭环 795 文档用例执行(目标②)。
|
|
|
+5. CI 接入后端 JUnit 实跑固化基线(本节点无 Maven 不可回归)。
|