测试负责人工作汇报(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 未执行。
复评条件(全部满足方转「通过」):
- B-65 修复:
test_analyze.py 2 例转绿 + live analyze 连跑 3 次 200。
- B-82/B-90 解决:251 LLM 凭据有效 + LLM 调用超时熔断 → intent 4 例转绿 + live chat/analyze <30s 3 次。
- B-69 修复:4 条
/api/mind/** 移入 LOGIN_REQUIRED_PATHS → 测试 401 + 线上匿名 401。
- 前端 4 套 TDD-RED(51 例)随实现转绿。
- 后端 mvn 恢复后真红全为预期 RED 且 JaCoCo≥80%。
- 用户授权后完成依赖漏洞扫描/性能/DAST,无高危阻断。
本报告将提交并推送至 origin/cfclub(docs/tdd/orchestration/),并同步更新 blockers.md。