测试负责人工作汇报 · 第 136 轮(2026-11-11 04:45 GMT+8,本自动化触发)
执行档:review(内网 cfc.iwintrue.com/admin + /frontend 浏览器自动化已授权;langgraph@251 实派;未联网装依赖、未启停服务、未改生产代码)
基线 HEAD:8ec11e632(R135 闭环)→ 远端 b094e8b24(仅 bump,R135 后源码零变更)→ 本轮 langgraph 于 251 侧以 b094e8b24 实跑
节点:251:9000=/health ok(在线)|251:4096=200(opencode 在线,本轮实派 pytest)|189:4090=200(本轮恢复 admin 实派 5/5)|204:4090=000(B-95 第 10 轮)|9082=000(B-36 第 35 轮)
分工:本机=浏览器 fe/shop/health + Jest(web/fe/根级)|189=浏览器 admin(恢复实派)|251=langgraph pytest(实派 43 例)
结论:⛔ 不通过(有条件) — 三项历史红线未变(G2/G9/G11);本轮结果有变化:① G10 恢复双节点(189 admin 实派 5/5,R135 仅本机直跑);② langgraph 43 例红 4→5(全 429 环境抖动,非回归);③ 浏览器 28/28、web 116/116 零漂移。
1. 历史审查记录(仅作对照,不作为本轮结论依据)
| 轮次 |
时间 |
后端全量 |
langgraph@251 |
浏览器 |
前端 Jest |
结论 |
| R133 |
11-11 01:16 |
沿用 R130 |
33 绿 / 10 环境阻塞(43 例) |
28/28 |
0 红 |
不通过(有条件) |
| R134 |
11-11 02:10 |
343 类 / 2918 例 / 17 红 = 99.28% |
44 绿 / 7 红(环境)/ 51 例 |
28/28 |
0 红 / 472 过 / 3 跳 |
不通过(有条件) |
| R135 |
11-11 03:45 |
采信 R134(源码零变更) |
39 过 / 4 红(全环境)/ 43 例 |
28/28(189 未派发) |
16 红(预期 RED)/ 9 跳 / 557 过 / 582 总 |
不通过(有条件) |
| R136(本轮) |
11-11 04:45 |
采信 R134(源码零变更) |
38 过 / 5 红(全 429 环境)/ 43 例 |
28/28(189 admin 实派✅) |
16 红(预期 RED)/ 9 跳 / 557 过 / 582 总 |
不通过(有条件) |
- 与 R135 对比的变化(逐项):
- G10 节点恢复双线条:189
:4090 恢复 200,本轮实派 admin-desktop 5/5 全绿(2.1m,含滑块+真实登录);R135 中 189 未派发(同受本机串行纪律让位)。浏览器总口径 28/28 不变(189 admin 5 + 本机 fe 6/shop 4/health 13)。
- langgraph 红例 4→5(+1):43 例 38 过 / 5 红 / 126.93s;5 红 =
test_auto_tag.py 3(content_relevance/short_content/empty_content)+ test_intent.py 2(classify_analysis/classify_recommend)。日志 6 次 AgnesAI_error 429 rate limit → 全部环境红(上游配额窗口抖动),intent_classifier.py:62 仍将 429 兜底为 chat(B-134-4 延续第 3 轮)。窗口内 cfc-langgraph/app 与 tests 零 commit。
- 前端 16 红 / web 116 / 根级 16 红 与 R135 逐项零漂移(B-135-1 预期 RED 延续;B-36 第 35 轮)。
2. 项目画像速览
- 业务:浠艾福 XAF —— 家庭教育 SaaS(家庭成员 / 五维能量 / 成长规划师 / 健康报告解析 / 商城分佣 / AI 管家 / 知识中心标签筛选 / 食材推荐)。
- 技术栈:
cfc-backend(Spring Boot 2.7.18 + MyBatis-Plus + Java 8,9082)· cfc-web(Vue2 + ElementUI,8082)· cfc-frontend(uni-app H5/小程序)· cfc-langgraph(FastAPI + LangGraph + Chroma,9000,部署 192.168.16.251)· dan/danshop(独立商城 8888)。
- 关键路径:登录/家庭邀请 → 五维测评 → 成长任务审批 → 健康报告上传解析 → 商城下单分佣 → AI 对话 → 知识中心标签筛选(S-cfc-131)→ 食材推荐/今日食谱。
- 测试现状:后端 343 类 / 2918 例(采信 R134);前端 Jest 37 套件 / 582 例(16 红预期 RED);管理端 Jest 17 套件 / 116 例;浏览器 live 28 例;langgraph 43 例(本轮 251 实派);根级黑盒 23 例。
- 质量目标:20 类全覆盖、G1≥95%、G2≤10 红、G6 28/28、G7 0 红、G9≥80%。
- 风险点:后端 17 红(产品/契约待裁决:EnergySystem 6×500、DimensionRegistryMap 3、Orchestration 2、WechatLogin 2、MembershipPay/PaymentORD/TeamProfitCron 各 1);前端 16 红为实现未交付的预期 RED(S-cfc-30/52/53 待研发交付组件);langgraph 429 配额未解(B-134-4 延续);dx-bridge 端点 404(B-DX-1 部署滞后,本轮复核仍 404)。
3. 20 类测试覆盖矩阵(三态:已实测 / 未发现 / 待核实)
| # |
测试类型 |
状态 |
证据 |
| 1 |
单元测试 |
✅ 已实测 |
后端 2918 例(采信 R134);web 116;fe 582(16 预期 RED + 9 跳) |
| 2 |
组件测试 |
✅ 已实测 |
Vue shallowMount 组件用例(fe 37 套件 / web 17 套件) |
| 3 |
接口 API 测试 |
✅ 已实测 |
后端控制器 MockMvc/直调;langgraph 43 例 251 实派 |
| 4 |
集成测试 |
✅ 已实测 |
integration.* 实跑(根级 23;R134 GrowthRecordSync 10/10 等) |
| 5 |
系统/端到端 E2E |
✅ 已实测 |
浏览器 live 28/28(189 admin 实派 + 本机串行) |
| 6 |
冒烟测试 |
✅ 已实测 |
浏览器 28 例 + Jest 698 例体现冒烟面 |
| 7 |
回归测试 |
✅ 已实测 |
浏览器 28/28、web 116/116、根级 7/16 零漂移;前端 16 红定性非回归(预期 RED) |
| 8 |
探索性测试 |
⚠️ 待核实 |
— |
| 9 |
验收 UAT / BDD |
⚠️ 待核实 |
无 cucumber/gherkin 执行证据 |
| 10 |
性能测试 |
⛔ 未授权未执行 |
压测需联网授权 |
| 11 |
可靠性测试 |
⚠️ 待核实 |
B-126 观察:本轮 pytest 正常收尾 126.93s,未遇 EXIT=124 |
| 12 |
安全测试(SAST/DAST/SCA/渗透) |
⛔ 未授权未执行 |
仅静态项 + 鉴权契约 13/13 |
| 13 |
兼容性测试 |
⚠️ 待核实 |
仅 Chromium 单浏览器 |
| 14 |
可用性测试 |
⚠️ 待核实 |
无真实用户可用性证据 |
| 15 |
无障碍测试 |
⚠️ 待核实 |
无 axe/WCAG 扫描 |
| 16 |
覆盖率度量 |
⚠️ 已实测(低) |
web 语句 ≈10% / 分支 ≈6%(R130 基线);后端 JaCoCo 未接入 |
| 17 |
变异测试 |
⛔ 未发现 |
无 PIT / mutation 资产 |
| 18 |
契约测试 |
✅ 已实测 |
health 鉴权 13/13 + shop 排序 4/4 + article 标签 10/10(R134)+ S-cfc-29~54 契约(6 例预期 RED)+ dx-bridge 2 例环境红(404 部署滞后) |
| 19 |
QA 流程 |
⚠️ 待核实 |
136 轮闭环可追溯;门禁未脚本化(G11) |
| 20 |
覆盖率门禁/CI |
⚠️ 待核实 |
无 CI 全量 job(G11 ❌) |
4. 本轮实测明细
4.1 浏览器 live(28/28,串行 workers=1)
| 套件 |
节点 |
结果 |
说明 |
| admin-desktop(1440×900) |
189 实派 |
✅ 5/5 |
TC-A-U01~U05 含滑块人机验证 + 真实登录入后台主框架(2.1m) |
| frontend-mobile(H5) |
本机 |
✅ 6/6 |
TC-F-U01~U06(游客浏览/五维沙盘/TabBar/鉴权引导/关键资源无失败) |
| shop-api(商城排序契约) |
本机 |
✅ 4/4 |
TC-S-U01~U04(price asc/desc/default/非法白名单拦截) |
| health-api(健康鉴权契约) |
本机 |
✅ 13/13 |
TC-HP-U01~U13 未鉴权 401 门禁全覆盖 |
4.2 Jest 套件
| 套件 |
结果 |
说明 |
| cfc-web(17 套件) |
116/116 |
全绿,与 R135 逐项一致 |
| cfc-frontend(37 套件) |
557 过 / 16 红 / 9 跳 / 582 总 |
16 红 = 3 套件(signature.healthPlan / signature.consignee / growthHistory.view),全部预期 RED(组件未交付) |
| 根级黑盒(23 例) |
7 过 / 16 红 |
全 ECONNREFUSED 127.0.0.1:9082(本机后端未启,B-36 第 35 轮) |
4.3 后端
mvn -o test-compile:BUILD SUCCESS(exit 0)——编译与测试源完整性通过;
- 全量 surefire:采信 R134(343 类 / 2918 例 / 17 红 = 99.28%,窗口内
cfc-backend/src 零 commit,pre-push 编译闸门已验)。
4.4 langgraph@251(实派 43 例)
- 命令:
pytest tests --ignore=tests/qna --ignore=tests/test_chat.py -q --tb=line(251 侧 HEAD b094e8b24,git fetch + reset 后执行);
- 38 过 / 5 红 / 126.93s(红例:auto_tag 3 + intent 2);
- 5 红全部定性:
AgnesAI_error 429 rate limit ×6 → 上游配额环境红,非代码回归(窗口内 langgraph 源码零 commit)。
4.5 dx-bridge(B-DX-1 观察,第 2 轮)
POST /api/health/data-sources/bridge/list → 404;sync-status → 404(线上端点未就绪,TR-24 部署 pending 滞后,非产品缺陷)。
5. 覆盖缺口清单(沿历史,无新增解除)
| 缺口 |
现状 |
风险 |
建议测试设计 |
优先级 |
闭环方式 |
| 前端 16 预期 RED(S-cfc-30/52/53) |
契约测试在链,组件未交付 |
功能无法验收 |
组件化验收用例已由契约覆盖 |
P0 |
研发交付组件 → jest 连 2 轮 0 红 |
| langgraph 429 配额 |
43 例 5 红全 429 |
CI 抖动 |
标记 @pytest.mark.llm 抽离门禁套件 |
P0 |
运维换 Token + 研发改 intent_classifier.py:62 兜底语义 |
| 后端 17 红 |
产品/契约待裁决 |
部分功能口径未锁 |
逐类契约测试已就绪 |
P1 |
研发修复或口径裁决 |
| 根级 16 红(9082 未启) |
环境型 |
无(本机后端停机) |
— |
P2 |
起 9082 复跑 |
| dx-bridge 404 |
部署滞后 |
无(新功能未上线) |
部署后复跑 2 例收敛 401/403 |
P2 |
部署完成后验证 |
| G9 锚点率 ≈10% |
TC 未回链 SRS |
需求追踪弱 |
补录回链 |
P2 |
用例补锚点 |
| CI 门禁 |
无 |
回归无自动拦截 |
GitLab CI 全量 job |
P2 |
CI 落地 |
6. 域结论表(八域专家分工结论)
| 审查维度 |
负责专家 |
结论 |
关键证据 |
| 单元·组件级 |
苏雅 |
✅ 通过 |
JUnit 2918(采信)+ web 116/116 + fe 557 过(16 预期 RED) |
| 集成·接口级 |
柯砚 |
✅ 通过 |
根级 7/16(16 红环境)+ 契约 13/13 + shop 4/4 |
| 系统·验收级 |
白樾 |
✅ 通过 |
浏览器 live 28/28(189 admin 实派 + 本机串行) |
| 测试保障级 |
闻朔 |
⚠️ 观察 |
冒烟/回归零漂移;B-126 pytest 本轮正常收尾 |
| 性能·可靠性 |
骆骋 |
⛔ 未授权 |
压测需联网授权(execute 档) |
| 安全 |
关屿 |
⚠️ 部分 |
鉴权契约 13/13 ✅;DAST/SCA/渗透未授权 |
| 兼容·体验 |
阮清 |
⚠️ 待核实 |
仅 Chromium 单浏览器;无 UAT/无障碍证据 |
| 流程·度量·代码 |
何序 |
⚠️ 观察 |
136 轮闭环可追溯;G9/G11 未达标;B-134-4 包装点待修 |
7. 五要素问题清单(本轮新增/升级)
| # |
① 问题描述 |
② 测试 bug 点 |
③ 最优修改方案 |
④ 修改目的 |
⑤ 闭环方式 |
| G-136-1 |
langgraph intent/auto_tag 红 5,全 429 配额 |
tests/test_intent.py:16,23、tests/test_auto_tag.py 断言面;根因 app/agents/intent_classifier.py:62 捕获 429 兜底 chat |
运维更换 Token;intent_classifier.py 对 401/429 抛外部服务异常(或返回 unavailable),不伪装分类错误;LLM 用例加 @pytest.mark.llm 抽离门禁 |
让配额故障显性化,防止「分类错误」误报与 CI 抖动 |
换 Token 后 251 复跑 43 例;intent_classifier.py 改动后红例应降为 0 且日志显性标注 429 |
| G-136-2 |
189 派发通道周期可用性波动 |
_r13x_189_admin.cjs kick/read(Start-Process cmd.exe + Get-Content -Tail) |
维持「每轮派发前探活 189:4090 + 节点单任务串行纪律」,读日志改平台分支(Get-Content)已稳定 |
保证 G10 双节点冗余可用 |
连续多轮 189 admin 实派 5/5(本轮第 1 轮恢复) |
8. 需用户单独授权才能继续的项(未授权未执行)
| 项 |
命令/工具 |
测试设计 |
状态 |
| 依赖漏洞扫描 |
npm audit + mvn dependency-check |
锁定锁文件与依赖树,输出 CVE 清单 |
未授权未执行 |
| 性能压测 |
k6 / Playwright 负载 |
定义并发/SLA,注入负载 |
未授权未执行 |
| DAST |
OWASP ZAP 内网 |
仅限 /admin、/frontend,避开生产数据 |
未授权未执行 |
后端连库全量 mvn test + JaCoCo |
mvn test |
申请测试库或起本地 MySQL 3306 |
未授权未执行(环境不可达) |
9. 门禁结论
| 门禁 |
指标 |
阈值 |
本轮 |
判定 |
| G1 |
主口径通过率 |
≥95% |
≈98.2%(红 54 / 3720) |
✅ |
| G2 |
红例数 |
≤10 |
54(后端 17 + 根级 16 + 前端 16[预期 RED] + langgraph 5[429]) |
❌ |
| G3 |
cfc-web Jest |
全绿 |
116/116 |
✅ |
| G4 |
cfc-frontend Jest |
全绿 |
16 红(预期 RED)/ 9 跳 / 557 过 |
❌ |
| G5 |
编译 + XML 完整性 |
0 错 / 无沉默 |
编译 0 错(test-compile exit 0) |
✅ |
| G6 |
浏览器 live |
28/28 |
28/28 |
✅ |
| G7 |
langgraph |
0 红 |
38/43(5 全环境 429) |
❌ |
| G8 |
鉴权契约 |
全 401/403 |
13/13 |
✅ |
| G9 |
SRS/TC 锚点率 |
≥80% |
≈10% |
❌ |
| G10 |
节点分派 |
251 + 浏览器节点 |
251 ✅ + 189 admin 实派 5/5 ✅ |
✅(恢复) |
| G11 |
CI 全量门禁 |
存在 |
无 |
❌ |
| G12 |
SRS 变更→用例同步 |
合规 |
零命中 → 零新增(合规) |
✅ |
总裁决:⛔ 不通过(有条件) —— G2/G4/G7/G9/G11 未达标;其中 G4 的 16 红为预期 RED 契约态、G7 的 5 红全为 429 环境红,均非回归;G2 中 37/54 红属环境或预期 RED。本轮改善:G10 双节点恢复(189 admin 实派全绿)且全部可执行套件零漂移。
复评条件:① 研发交付 S-cfc-30/52/53 组件使前端 16 红转绿;② 251 换 Token 后 langgraph 43/43;③ 后端 17 红按批修复或口径裁决;④ CI 落地全量 job + TC 锚点补齐 ≥80%。
10. 附录 · 本轮命令
# 浏览器(189 admin;本机 fe/shop/health;必须在 tests/ 目录内,B-52)
node _r136_189_admin.cjs kick && node _r136_189_admin.cjs read # 189 实派 admin 5/5
npx playwright test -c playwright.config.live.js --reporter=line # 本机 fe 6 + shop 4
npx playwright test -c playwright.config.health.js --reporter=line# 本机 health 13
# Jest(web/fe/根级)
cd cfc-web && npx jest --ci # 116/116
cd cfc-frontend && npx jest --ci # 582(16 预期红)
cd .. && npx jest -c tests/jest.config.js --ci # 23(7 过/16 红)
# 后端
mvn -o test-compile # exit 0
# langgraph@251
node _r136_dispatch_251.cjs kick && node _r136_dispatch_251.cjs poll # 43 例 38 过/5 红
# dx-bridge 复核
curl -X POST cfc.iwintrue.com/api/health/data-sources/bridge/list # 404