report-test-2026-11-09-R99.md 9.4 KB

测试负责人工作汇报(R99)

汇报人:测试负责人(软件测试专家团 · 陆谨)|汇报周期:2026-11-09 08:42 ~ 09:10(第 99 轮) 负责模块/单元:浠艾福 XAF(d:/cfc)· 全栈测试闭环(浏览器自动化 + langgraph + 回归) 执行档:review(内网 /admin+/frontend+langgraph 251 已授权;不联网)


一、本轮工作数据汇总

1.1 测试用例建设

指标 数量 说明
本轮新增测试用例数 0 个 SRS/场景零变更(git log ffbd1b5fd..origin/cfclub 对 SRS.md/需求分析//specs//API_REFERENCE.md/tests/test-cases/ 命中 0 提交),不新增
本轮验证执行测试数 54 个 admin E2E 5 + frontend E2E 6 + langgraph pytest 43
用例通过率 79.6% 43/54(PASS 43 = 5+6+32;FAIL 11 全为 langgraph 环境/装置/产品红)

1.2 会话与任务分发

指标 数量 说明
分派任务数 2 个 ① 204 节点 frontend-mobile E2E(ses_e4237f79effeL99AU7oXWH7hdC);② 251 节点 langgraph pytest(ses_e4237f9b9ffeCx0OtRW1sTrDnq)
恢复智能体会话数 0 个 —
当前在用会话数 2 个 204(done)、251(done)

1.2b 各会话当前工作状态列表

会话标签 会话 ID 当前状态 当前任务 静默/空闲时长 工作目录 备注
204-frontend ses_e4237f79effeL99AU7oXWH7hdC done frontend-mobile E2E — 干净 6/6 全绿
251-langgraph ses_e4237f9b9ffeCx0OtRW1sTrDnq done langgraph pytest — 干净 43/32/11
189-admin — unavailable — — — 节点失联(22/4090 全拒),降级本机直跑 5/5

1.3 问题处置

指标 数量 说明
新测试发现问题数 2 个 B-89(189 节点失联)、B-90(251 chat/analyze 60s 无响应·复发风险)
已解决测试相关问题数 0 个 —
待解决测试相关问题数 6 个 B-65(P0 第 8 轮)、B-69(P1 第 6 轮)、B-82(P1 环境)、B-84(P1)、B-89(P1)、B-90(P0)

1.4 本轮 git 提交与推送证据

提交 sha 关联任务/能力键 阶段 触及文件类型 目标分支 已推送远端 备注
(待提交) R99 汇报 + blockers 报告 文档 cfclub 提交时填写 —

1.5 状态机阶段分布(全局进度)

阶段 键数 备注
UNTRACKED — CFC 发现/跟踪模式
RED — 见 test-inventory 侧车
YELLOW — —
GREEN 5 状态机 5 键全 GREEN(沿用)
DONE — —

1.6 数据源健康度

数据源 读取键数 是否正常 备注
需求侧(SRS) 正常 正常 零变更
测试用例(test-cases) 正常 正常 零变更
E2E 用例 11 例 正常 admin 5 + frontend 6
langgraph pytest 43 例 正常 251 派发取回

二、向研发提出的改进建议

序号 建议标题 问题描述 根因分析 建议方案 优先级 状态
1 langgraph analyze checkpointer 修复(连续第 8 轮) test_analyze.py 2 例 500(Checkpointer requires thread_id) analysis_graph.py:96 MemorySaver() + analyze.py:35 ainvoke 无 config 去 MemorySaver 或传 thread_id;部署锁版本与 requirements 对齐 P0 待评估
2 251 LLM 凭据与超时(intent 4 例转红 + live 60s 挂起) intent 4 例降级 CHAT(LLM key 401);live chat/analyze 60s 无响应 251 节点 LLM 凭据失效 + LLM 调用无 timeout 251 注入有效 etotem/deepseek 凭据;LLM/检索调用加 timeout+熔断 P0 待评估
3 /api/mind/** 4 端点公开白名单(连续第 6 轮) 匿名可达业务层(线上 200 / 测试 400 非 401) JwtInterceptor.java:79-82 PUBLIC_PATHS 4 条移入 LOGIN_REQUIRED_PATHS P1 待评估
4 189 节点恢复 22/4090 全拒,admin 无法派发 节点离线/服务未起 运维放通 189:4090+22 或提供等价节点 P1 待评估

三、本轮阻塞与风险

阻塞项 影响范围 阻塞类型 处置进展 需要协调
B-65 langgraph analyze 500(连续第 8 轮) AI 报告解析主链路 研发 待响应 研发实现
B-90 251 chat/analyze 60s 挂起(复发风险) AI 管家线上主链路 研发/运维 待响应 运维+研发(LLM 凭据+超时)
B-89 189 节点失联 admin 浏览器自动化派发 运维 已降级本机(5/5 绿) 运维放通节点
B-82 251 intent 4 例转红 langgraph 意图分类 环境 待响应 运维注入 LLM 凭据
B-69 /api/mind/** 白名单(连续第 6 轮) 鉴权边界 研发 待响应 研发实现

四、下轮工作计划

计划项 预计完成时间 前置依赖 备注
复跑 admin/frontend E2E + langgraph pytest 下轮 189 恢复或维持本机降级 浏览器自动化 5/5+6/6 维持
复核 B-90 251 live 接口(若研发修超时) 下轮 研发修复 连跑 3 次 <30s 200
后端 mvn 全量复跑落账 下轮 mvn 恢复 R91 中断未补,R97 基线 2802/94.75%

五、本轮实测明细

5.1 浏览器自动化(用户指令:/admin + /frontend)

目标 节点 用例 结果 说明
http://cfc.iwintrue.com/admin 189(失联)→ 本机降级 admin-live 5 ✅ 5/5(1.6m) TC-A-U01~U05 全绿,含 U04 真实登录+滑块、U05 菜单;用 tests/node_modules/.bin/playwright 1.61.1 绕行根目录 1.63.0 双版本冲突(08:28 报告 R1 已解决——无需统一依赖,运行入口绕行即可)
http://cfc.iwintrue.com/frontend 204(派发) frontend-live 6 ✅ 6/6(44.1s) TC-F-U01~U06 全绿,游客态只读链路正常,单 worker 串行

每节点仅跑一个浏览器自动化任务(204=frontend;189 失联→本机仅 admin 一个);langgraph 派发 251(用户指令)。

5.2 langgraph(251 派发 · 权威口径)

251 仓库: /sc-data/cfc/cfc-langgraph(会话 ses_e4237f9b9ffeCx0OtRW1sTrDnq)
命令: timeout 700 .venv/bin/python -m pytest tests --ignore=tests/qna --ignore=tests/test_chat.py -q
结果: 43 collected / 32 passed / 11 failed / 0 skipped

11 红分布(与 R98 零漂移):

红例分组 例数 归因
test_analyze.py 2 B-65(连续第 8 轮):Checkpointer requires ... thread_id,500
test_auto_tag.py 5 B-74/B-82 装置+环境:chat 端点 500(LLM key 401)
test_intent.py 4 B-82(251 侧转红):意图分类降级 CHAT(LLM key 401),对比 R95「251 4/4 全绿」为退化

5.3 251 线上服务探活(B-90 证据)

端点 结果
251:9000/health ✅ 200 {"status":"ok"}(13ms)
POST /api/v1/chat {query:"你好",user_id:995} ⛔ 60s 无响应(0 字节)
POST /api/v1/analyze {report_id:1,...} ⛔ 60s 无响应(0 字节)

5.4 前端/后端回归(采信基线,本轮零变更)

集合 结果 依据
cfc-web Jest 17 套/116 全绿 采信 R98(08:28)——HEAD ffbd1b5fd 后无源码变更
cfc-frontend Jest 26 套/426(372 过/51 红/3 跳) 采信 R98——4 套 RED 均为预期 TDD-RED,无游离回归
cfc-backend mvn ⛔ 未实测 mvn 本机缺失(环境回归延续);沿用 R97 基线 2802 例/94.75%
E2E 工具链 ✅ 绕行成功 双 @playwright/test 版本冲突以 tests 内 1.61.1 入口解决

六、门禁结论

结论:⚠️ 有条件通过(未转「通过」)

  • 浏览器自动化(用户指令核心项):admin 5/5 ✅、frontend 6/6 ✅——本轮回环该两项全部通过,E2E 回归能力已恢复(08:28 报告 R1 工具链冲突以绕行入口解决,实测可跑)。
  • langgraph(251 派发):43/32/11——11 红含产品缺陷 B-65(2,连续第 8 轮)+ 环境/装置 B-82/B-74(9,LLM key 401),未达「全部覆盖并通过」。
  • 风险升级:251 live chat/analyze 60s 无响应(B-90 复发风险,P0)+ 251 intent 由绿转红(B-82 退化)——langgraph 能力维度本轮实际退化。
  • 长期未闭环:B-65(P0 第 8 轮)、B-69(P1 第 6 轮)、B-90(P0 复发)、51 前端 TDD-RED 待实现、JaCoCo≥80% N/A、授权安全/性能/DAST 未执行。

复评条件(全部满足方转「通过」):

  1. B-65 修复:test_analyze.py 2 例转绿 + live analyze 连跑 3 次 200。
  2. B-82/B-90 解决:251 LLM 凭据有效 + LLM 调用超时熔断 → intent 4 例转绿 + live chat/analyze <30s 3 次。
  3. B-69 修复:4 条 /api/mind/** 移入 LOGIN_REQUIRED_PATHS → 测试 401 + 线上匿名 401。
  4. 前端 4 套 TDD-RED(51 例)随实现转绿。
  5. 后端 mvn 恢复后真红全为预期 RED 且 JaCoCo≥80%。
  6. 用户授权后完成依赖漏洞扫描/性能/DAST,无高危阻断。

本报告将提交并推送至 origin/cfclub(docs/tdd/orchestration/),并同步更新 blockers.md。