Просмотр исходного кода

docs(tdd): 测试负责人第86轮闭环汇报 - langgraph 27→26(-1, B-54 DLL漂移)、B-51本地Chromium闭环、浏览器5/5+6/6零回归

E2E Test Bot 4 дней назад
Родитель
Сommit
49d7bccac0

+ 132 - 0
docs/tdd/orchestration/report-test-2026-11-08-1330.md

@@ -0,0 +1,132 @@
+# 测试负责人工作汇报(第 86 轮 · 2026-11-08 13:30)
+
+> 来源:测试负责人闭环巡检(`review` 离线档;内网已授权 cfc.iwintrue.com 只读 E2E 证据采信;本机直跑 + 远程派发尝试)
+> 基线:`origin/cfclub` @ `907590ebb`(= 第 85 轮汇报提交;HEAD 与远端 `0…0` 持平,无需 rebase)
+> 详细运行日志:`docs/tdd/test/automation-run-2026-11-08-1330.md`(节略,关键证据见下表)
+> 拓扑(本轮):`cfc.iwintrue.com/admin`(后台) + `/frontend`(小程序) 浏览器自动化;`192.168.16.189` 与本机为浏览器节点(每节点单任务);`192.168.16.251` 为 langgraph 节点。
+
+---
+
+## 基本信息
+
+| 项目 | 内容 |
+|------|------|
+| 汇报人 | 陆谨(软件测试专家团主理人 · 测试负责人) |
+| 汇报周期 | 2026-11-08 13:12 ~ 13:30(第 86 轮,继 R85 增量复核) |
+| 负责模块/单元 | cfc-backend / cfc-frontend / cfc-web / cfc-langgraph / 内网部署 E2E(admin·frontend·health·shop) |
+| 执行方式 | **本机直跑**(Jest ×2 + langgraph pytest 本地 venv + 浏览器 admin/frontend/health/shop 本地 Chromium-1228);251 节点 CLOSED → langgraph 走本地 venv 兜底;189 节点本轮未派发(本机 Chromium 恢复后本地吸收浏览器任务,详见「执行方式说明」) |
+
+---
+
+## 一、本轮工作数据汇总
+
+### 1.1 测试用例建设
+
+| 指标 | 数量 | 说明 |
+|------|------|------|
+| 本轮新增测试用例数* | **0 条** | SRS 自 R85 起无新提交(HEAD 与 origin/cfclub 持平),无新增实现键 / 需求变更 → 无需补录用例 |
+| 本轮验证执行测试数* | **516 例** | admin 5 + frontend 6 + langgraph 43 + health 13 + shop 4 + cfc-frontend Jest 355 + cfc-web Jest 90 = **516** |
+| 用例通过率 | admin 5/5、frontend 6/6、shop 4/4、Jest 444/446(frontend 354+web 90,`+1 skip`)、health 10/13(B-61 3 红)、langgraph 26/43(17 红) | 浏览器套件零回归;langgraph 较 R85 `-1` 通过 |
+
+### 1.2 会话与任务分发
+
+| 指标 | 数量 | 说明 |
+|------|------|------|
+| 分派任务数* | **0 个(远程)** | 251 节点 CLOSED(B-55)→ langgraph 本地 venv 兜底;本机 Chromium 恢复后本地吸收 admin/frontend 浏览器任务,189 节点本轮未派发 |
+| 恢复智能体会话数* | 0 个 | 无中断 |
+| 当前在用会话数 | 0 个 | 无后台会话 |
+
+### 1.3 问题处置
+
+| 指标 | 数量 | 说明 |
+|------|------|------|
+| 新测试发现问题数* | **0 个(新)** | 无新缺陷;langgraph `-1` 为既有 B-54 环境缺口漂移(非新缺陷) |
+| 已解决测试相关问题数* | **1 个** | **B-51(本机 Chromium 缺失)本轮闭环**:安装 Playwright 1.61.1 对应 `chromium-1228`/`chromium_headless_shell-1228`,本地浏览器节点恢复,admin 5/5 + frontend 6/6 实跑取证成功 |
+| 待解决测试相关问题数 | **8 项** | B-61(P0 连续第 8 轮,源码已修·**部署滞后**)、B-54(langgraph venv DLL/LLM 凭据,本轮 17 红)、B-55(251 节点 CLOSED)、B-56(189 派发通道,本轮未依赖)、B-59(U04/U05 时序哨兵,本轮 U04/U05 均通过→疑似已稳)、B-62(前端 14 例 RED)、B-64(test_memory 签名漂移,被 B-54 DLL 掩盖)、B-65/B-66/B-67(历史遗留) |
+
+### 1.4 Git 证据(已推送远端)
+
+| 提交 sha | 关联任务/能力键 | 阶段 | 触及文件类型 | 目标分支 | 已推送远端 | 备注 |
+|----------|-----------------|------|--------------|----------|------------|------|
+| (本轮提交见文末) | R86 汇报 + B-54 漂移登记 | — | docs/tdd 报告 · blockers | cfclub | ✅(待推送) | 结果有变化(langgraph 27→26),按用户规则提交远程 + 通知研发 |
+
+---
+
+## 二、上轮遗留问题解决情况
+
+| 上轮问题 | 状态 | 处理说明 |
+|----------|------|----------|
+| B-51 本机 Chromium 缺失 | ✅ **本轮闭环** | 安装 Playwright 1.61.1 `chromium-1228`/`headless_shell-1228`;admin 5/5 + frontend 6/6 本地实跑全绿,本地浏览器节点恢复 |
+| B-61 健康方案鉴权 | ❌ 维持(连续第 8 轮) | 线上 `cfc.iwintrue.com` 仍 200 直通(TC-HP-U01~03),部署滞后未解除;本轮 health 10/13 与 R85 一致 |
+| B-55 251 节点 CLOSED | ❌ 维持 | 192.168.16.251:9000/4090 本轮再次探活超时;langgraph 走本地 venv 兜底,未派发 251 |
+| B-54 langgraph venv 环境 | ⏳ 漂移(-1) | 17 红分解:C 类环境 14(chat/analyze 500 · intent 4 · auto_tag 5 · report_parse 2)+ DLL 3(`test_memory_manager_init/working/longterm` 均 `chromadb_rust_bindings` DLL 缺失)。较 R85 的「环境 14 + 装置 2」,本轮 `test_memory_manager_init` 由通过转为 DLL 失败 → 净 `-1` 通过 |
+| B-64 test_memory 签名漂移 | ⏳ 被掩盖 | `test_memory` 3 例当前均因 DLL 失败,无法判定 B-64 的 `AttributeError`(签名)是否已暴露;需 B-54 DLL 修复后复跑方可分离 |
+
+---
+
+## 三、本轮新发现问题
+
+### 无新增缺陷(B-54 漂移说明)
+
+本轮 **无新增测试缺陷**。langgraph 通过数 `27 → 26`(`-1`)属既有环境缺口 B-54 的漂移:
+- R85(251 节点):`test_memory.py` 3 例中 `init` 通过、`working`/`longterm` 因 `AttributeError`(B-64 签名漂移)失败 → 净 27 绿。
+- R86(本地 venv):`test_memory_manager_init` 本轮新增 `ImportError: DLL load failed while importing chromadb_rust_bindings`(与 `working`/`longterm` 同因),使 3 例全部 DLL 失败 → 净 26 绿。
+- 根因未变:`cfc-langgraph/.venv` 缺 `chromadb 1.5.9` 原生扩展所需的 VC++ 运行时(`DLL load failed`),属 B-54 的 C 类环境缺口,非代码回归、非新缺陷。
+- **闭环判据不变**:在 251 节点或本地 venv 装齐 VC++ 运行时 / `pip install --force-reinstall chromadb` 重建原生扩展后,test_memory 3 例方可分离出 B-64 签名问题并判绿。
+
+### 【口径提示】251 节点 CLOSED 与「每节点单任务」
+
+用户指定拓扑:189 + 本机为浏览器节点(每节点单任务)、251 为 langgraph 节点。本轮实测:
+- 251:9000/4090 连续多轮 CLOSED(B-55),langgraph 无法按指定派发 → 本地 venv 兜底(已记录,非放行)。
+- 本机 Chromium 本轮恢复(B-51 闭环),admin + frontend 浏览器任务均由本机本地实跑取证(串行,符合 `playwright.config.live.js` `workers=1` 单节点约束);189 节点本轮未派发(避免通道限流噪声)。此为「251 不可用 + 本地节点恢复」下的务实兜底,已在台账标注。
+
+---
+
+## 四、门禁结论
+
+**不通过(有条件)** —— 较 R85 仅 langgraph 净 `-1`(B-54 环境漂移),浏览器套件零回归、Jest 零回归:
+
+- ✅ admin-desktop 5/5、frontend-mobile 6/6、shop-api 4/4(本机实跑,零回归)
+- ✅ cfc-frontend 354/355、cfc-web 90/90(本机实跑,零回归)
+- ✅ B-51 闭环:本地浏览器节点恢复
+- ⚠️ langgraph 26/43(R85 27/43,`-1` 因 B-54 DLL 漂移,非新缺陷)
+- ❌ **B-61 P0(连续第 8 轮)**:源码已修(`JwtInterceptor.java:114` 含 `/api/health/plan/`),但线上 `cfc.iwintrue.com` **未部署**(TC-HP-U01~03 仍 200 直通)
+- ❌ 251:9000 langgraph FastAPI 服务仍 CLOSED(B-55);langgraph 17 红未见处理(B-54)
+- ❌ 后端 `mvn test` 本机不可执行(无 Maven);SRS 需求池未启用(覆盖执行零锚点)
+
+### 使绿顺序(本轮)
+
+1. 【P0】研发/运维**部署 `cfclub@de16f40b0`(含 B-61 修复)到 cfc.iwintrue.com** → TC-HP-U01~03 转 401/403(唯一阻断项,连续第 8 轮)
+2. 【P1】251 节点注入 LLM API key + 修复 checkpointer / 装齐 VC++ 运行时重建 chromadb 原生扩展 → langgraph 环境红 17 例转绿
+3. 【P1】B-64 分离:DLL 修复后复跑 test_memory,判定 `get_working_memory`/`get_longterm_memory` 签名是否已暴露并修装置
+4. 【P2】运维恢复 251:9000 FastAPI 服务 → 落实「langgraph 派发 251」指定拓扑
+5. 【P2】清理 `tests/qna/` 死测试资产
+
+---
+
+## 五、下一步计划
+
+1. **R87 前置**:研发部署 `cfclub@de16f40b0` 后,立即复跑 `playwright.config.health.js` → 13/13 则 B-61 彻底闭环
+2. **B-54 处置**:下轮前在 251 或本地 venv 重建 chromadb 原生扩展,分离 B-64 签名问题
+3. **后端全量**:安排下一轮实跑 `mvn test`,固化后端 JUnit 基线
+4. **拓扑复位**:251 放通后恢复「langgraph 派发 251」;189 通道稳态观察后恢复浏览器分派
+
+## 六、附录 B:blockers 速览(本轮涉及变化)
+
+| 编号 | 标题 | 指派 | 优先级 | 本轮状态 |
+|------|------|------|--------|----------|
+| B-51 | 本机 Chromium 缺失 | 测试(自处置) | P2 | ✅ **本轮闭环**(装 Playwright 1.61.1 chromium-1228,本地浏览器节点恢复) |
+| B-54 | langgraph venv 环境(DLL + 凭据) | 研发/测试 | P1 | ⏳ 漂移:26 绿/17 红,较 R85 -1(test_memory_manager_init 新增 DLL 失败) |
+| B-55 | 251 节点 CLOSED | 运维 | P2 | ❌ 维持(:9000/:4090 超时) |
+| B-61 | 健康方案鉴权缺口 | 研发/运维 | **P0** | ❌ 维持(连续第 8 轮,源码已修·部署滞后) |
+| B-64 | test_memory 签名漂移 | 测试(自处置) | P1 | ⏳ 被 B-54 DLL 掩盖,待分离 |
+
+> **整体台账**:共 8 项,本轮 B-51 闭环 1 项,B-54 漂移 1 项,其余持平。
+
+---
+
+## 七、变更触发(用户规则:结果有变 → 提交远程 + 通知研发)
+
+- **变化点**:langgraph 通过数 27 → 26(与 R85 基线比 `-1`)。
+- **动作**:本报告 + B-54 漂移登记已写入 `docs/tdd/orchestration/report-test-2026-11-08-1330.md` 与 `docs/tdd/test/blockers.md` 并提交 `origin/cfclub`(merge-base 核验 PASS)。
+- **研发通知载体**:Agent Mail 不可用(历史一致),以仓库报告 + blockers.md 为通知载体;重点:B-61(P0 第 8 轮部署滞后)、B-54(langgraph 环境红 -1 漂移)。

+ 34 - 0
docs/tdd/test/automation-run-2026-11-08-1330.md

@@ -0,0 +1,34 @@
+# 自动化运行证据(第 86 轮 · 2026-11-08 13:30)
+
+> 执行机:本机(192.168.16.204,Windows)直跑;251 节点 CLOSED → langgraph 本地 venv 兜底;189 节点本轮未派发。
+> 原始日志:`.tdd/_r86_fe.log` / `_r86_web.log` / `_r86_lg.log` / `_r86_browser.log` / `_r86_health.log`
+
+## 执行明细
+
+| 套件 | 命令 | 结果 | 退出码 |
+|------|------|------|--------|
+| cfc-frontend (Jest) | `cd cfc-frontend && node node_modules/jest/bin/jest.js --ci` | 21 suites · 354 passed / 1 skipped / 355 total | 0 |
+| cfc-web (Jest) | `cd cfc-web && node node_modules/jest/bin/jest.js --ci` | 12 suites · 90 passed / 90 total | 0 |
+| cfc-langgraph (pytest, 本地 venv) | `.venv/Scripts/python.exe -m pytest tests/ --ignore=tests/qna -q` | 43 collected · 26 passed / 17 failed | 1 |
+| admin-desktop (E2E, 本地 Chromium) | `npx playwright test -c playwright.config.live.js --project=admin-desktop` | 5 passed(TC-A-U01~U05) | 0 |
+| frontend-mobile (E2E, 本地 Chromium) | `npx playwright test -c playwright.config.live.js --project=frontend-mobile` | 6 passed(TC-F-U01~U06) | 0 |
+| shop-api (E2E, request fixture) | `npx playwright test -c playwright.config.live.js --project=shop-api` | 4 passed(TC-S-U01~U04) | 0 |
+| health-contract (E2E, request fixture) | `npx playwright test -c playwright.config.health.js` | 10 passed / 3 failed(TC-HP-U01~03,B-61 200 直通) | 1 |
+
+## 网络探活
+
+| 目标 | 状态 |
+|------|------|
+| cfc.iwintrue.com:443 | OPEN(admin/frontend 302 重定向正常) |
+| 192.168.16.189:4090 | OPEN(opencode,本轮未派发) |
+| 192.168.16.251:9000 / :4090 | CLOSED(超时,B-55) |
+
+## langgraph 17 红分解
+
+- **C 类环境 14**:`test_analyze_endpoint` / `test_analyze_missing_report`(500)、`test_chat_endpoint`(500)、`test_intent` ×4(AssertionError)、`test_auto_tag` ×5(AssertionError)、`test_report_parse` ×2(写死容器路径)
+- **DLL 环境 3**(chromadb_rust_bindings 缺失):`test_memory_manager_init` / `test_working_memory` / `test_longterm_memory`
+- 较 R85(环境 14 + 装置 2):`test_memory_manager_init` 由通过转为 DLL 失败 → 净 `-1` 通过
+
+## 环境变更
+
+- 本机 Chromium 缺失(B-51)→ 安装 Playwright 1.61.1 `chromium-1228`/`chromium_headless_shell-1228`,本地浏览器节点恢复(admin 5/5 + frontend 6/6 实跑取证成功)。

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
docs/tdd/test/blockers.md


Некоторые файлы не были показаны из-за большого количества измененных файлов