report-test-2026-11-11-R138.md 26 KB

测试负责人工作汇报(第 138 轮 · 2026-11-11 06:10 GMT+8)

角色:cfc-tester(测试负责人)|执行档:review(内网 cfc.iwintrue.com/admin + /frontend 浏览器自动化;langgraph 实派 192.168.16.251;未联网装依赖、未启停服务、未改生产代码) 基线 HEAD:d236569af(R136 闭环,= 本地起点)→ 远端 d63a51552(窗口内仅研发负责人 docs 两笔,后端/前端/langgraph 源码零变更) 节点:189:4090=200(admin 实派 5/5)|251:4096=200(langgraph pytest 实派 43 例)|251:9000 /health=ok|204:4090=000(B-95 第 11 轮)|9082=000(B-36 第 36 轮) 分工:本机=后端全量 + Jest(web/fe/根级)+ 浏览器 fe/shop/health/admin 复验|189=浏览器 admin 派发|251=langgraph pytest(实派) 结论:⛔ 不通过(有条件) — 可验证子集稳定:后端 99.28%(历史新高)、web 116/116、浏览器 28/28、前端红例全为预期 RED;红线仍在 G2(51 红)/G9(锚点 11.7%)/G11(无 CI)。


0. 基本信息(测试负责人模板)

项目 内容
汇报人 cfc-tester(测试负责人)
汇报周期 2026-11-11(第 138 轮,基线 d236569af)
负责模块/单元 cfc-backend(全量) · cfc-frontend(Jest) · cfc-web(Jest) · cfc-langgraph(pytest@251) · 浏览器 E2E(admin@189 + frontend/shop/health/dx@本机) · 根级黑盒
执行档 review(离线;未装依赖、未启停服务、未改生产代码)

0.1 测试用例建设与执行

指标 数量 填写说明
本轮新增测试用例数 0 个 窗口 d236569af..d63a51552 对 specs / test-cases / user-scenarios / API_REFERENCE 零命中 → 无新增义务(G12 ✅)
本轮验证执行测试数 3722 个 后端 2928 + 前端 582 + 管理端 116 + 根级 23 + langgraph 43 + 浏览器 30
用例通过率 98.23% PASS 3656 / FAIL 51 / SKIP 15
新增覆盖资产 1 项 playwright.config.live.js 新增 dx-bridge project(TC-DX-U01/U02 由「从未执行」转为可执行,404 时记 skip)

0.2 会话与任务分发

指标 数量 填写说明
分派任务数 3 个 ① 251 langgraph pytest(shell 通道,detach)② 189 admin 浏览器(opencode shell)③ 本机浏览器 fe/shop/health/admin + 三套 Jest + 后端全量(本地直跑)
恢复智能体会话数 0 个 无会话中断/重建;189、251 通道本轮均一次成功
当前在用会话数 2 个 189:4090(admin,done 5/5)、251:4096(pytest,done 41/2)

0.2b 各会话当前工作状态

会话标签 会话 ID 当前状态 当前任务 静默/空闲时长 工作目录 备注
251:4096 shell(detach) done langgraph pytest 43 例 — /sc-data/cfc/cfc-langgraph 41 过 / 2 红(429),167.42s;HEAD d63a51552
189:4090 shell(cmd) done admin-desktop 5 例 — C:\code\cfc 5/5(1.5m);spec 版本落后本机一版(B-59 前)
本机 localhost done 后端全量 + 三套 Jest + 浏览器 4 套 — d:\cfc 后端 43:12;web 116;fe 557/16;根级 7/16;浏览器 28 过 + 2 跳

0.3 问题处置

指标 数量 填写说明
新测试发现问题数 2 个 ① dx 契约用例未挂入任何 project(已自处置);② 189 admin spec 版本落后本机(bb49dd1ce vs 4703d73fb),节点结论可比但非同版
已解决测试相关问题数 1 个 dx-bridge project 挂载完成,2 例可执行
待解决测试相关问题数 5 个 后端 17 红(产品/契约)· 前端 16 预期 RED · langgraph 429/401 · 根级 16 环境红 · dx 端点 404

1. 历史审查记录(仅作对照,不作为本轮结论依据)

轮次 时间 后端全量 langgraph@251 浏览器 前端 Jest 结论
R134 11-11 02:10 343 类 / 2918 例 / 17 红 = 99.28% 44 绿 / 7 红(401+429)/ 51 例 28/28 0 红(472 过/3 跳) 不通过(有条件)
R135 11-11 03:45 采信 R134(源码零变更) 39 过 / 4 红 / 43 例 28/28(189 未派发) 16 红(预期 RED)/ 9 跳 / 557 过 不通过(有条件)
R136 11-11 04:50 采信 R134 38 过 / 5 红 / 43 例 28/28(189 实派 5/5) 16 红 / 9 跳 / 557 过 不通过(有条件)
R137 11-11 05:00 采信 R134 引用 R136(pytest 慢启动) 28/28(189 报 3/5 伪失败) 16 红 / 9 跳 / 557 过 不通过(有条件)
R138(本轮) 11-11 06:10 344 类 / 2928 例 / 17 红 = 99.28%(实跑 43:12) 41 过 / 2 红(全 429)/ 43 例 28/28 + dx 2 skip(新挂载) 16 红(预期 RED)/ 9 跳 / 557 过 不通过(有条件)

本轮相对 R136/R137 的变化(逐项)

  1. 后端由「采信 R134」改为本轮实跑:mvn -o -B clean test 43 分 12 秒 → 344 类 / 2928 例 / 2907 过 / 16F+1E+4S = 99.28%(剔 skip 99.42%)。相对 R134(343/2918/17 红):+1 类(DietRecommendationServiceTest 17 例,即 R135 G12 补入的食材推荐用例)、+10 例、红例持平 17,红类集合与 R134 完全一致 → 后端无回归。
  2. langgraph 红例 5 → 2(改善):43 例 41 过 / 2 红 / 167.42s;2 红均为 test_auto_tag(short_content / empty_content),日志 2 次 RateLimitError 429 (AgnesAI_error) + chat_graph.py:148 记忆召回 401(****ab12 invalid)→ 全部环境红(上游配额 + 记忆凭据),非代码回归;窗口内 cfc-langgraph/app 与 tests 零 commit。
  3. ★ 覆盖缺口修复(测试侧自处置):tests/e2e-live/dx-health-bridge-auth.spec.js(TC-DX-U01/U02)存在于仓库却未挂入任何 playwright project → 设计的用例从未被执行。本轮在 playwright.config.live.js 新增 dx-bridge project,实测 2 例均可执行(端点 404 → 记 skip,不产生假绿)。浏览器口径由 28 扩至 30(28 过 + 2 跳)。
  4. 189 admin 恢复 5/5(1.5m,含滑块 + 真实登录);R137 记录的 189「3/5 伪失败」本轮未复现(同 R123/R136 判节点偶发)。

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)→ 食材推荐/今日食谱(S-cfc-129/130)。
  • 测试现状:后端 344 类 / 2928 例(本轮实跑);前端 Jest 37 套件 / 582 例(16 红 = 预期 RED);管理端 17 套件 / 116 例;浏览器 live 30 例(28 过 + 2 跳);langgraph 43 例(251 实派);根级黑盒 23 例。
  • 质量目标:20 类全覆盖、G1≥95%、G2≤10 红、G6 28/28、G7 0 红、G9≥80%、G10 双节点、G12 SRS 合规。
  • 风险点:后端 17 红集中在 EnergySystem(6×500)、DimensionRegistryMap(3,P-9 待裁决)、Orchestration(2)、分佣/支付/微信登录(各 1)、Guide 包创建(DataIntegrityViolation);前端 16 红为实现未交付的预期 RED;langgraph 429 配额未解;dx-bridge 线上 404(部署滞后,第 3 轮)。

3. 20 类测试覆盖矩阵(三态:已实测 / 未发现 / 待核实)

# 测试类型 状态 证据(本轮)
1 单元测试 ✅ 已实测 后端 2928 例(344 类,43:12);web 116;fe 582
2 组件测试 ✅ 已实测 fe 37 套件 / web 17 套件(shallowMount 组件用例)
3 接口 API 测试 ✅ 已实测 后端 MockMvc/直调 364 控制器面;langgraph 43 例 251 实派
4 集成测试 ✅ 已实测 integration.* 实跑(EnergySystem / DimensionRegistryMap / GuideModule / dx 契约)
5 系统/端到端 E2E ✅ 已实测 浏览器 30 例:189 admin 5/5 + 本机 fe 6/6、shop 4/4、health 13/13、dx 2 skip
6 冒烟测试 ✅ 已实测 浏览器 28 通过 + Jest 698 例构成冒烟面
7 回归测试 ✅ 已实测 后端 17 红与 R134 逐类一致;web 116 零漂移;fe 16 红定性预期 RED
8 探索性测试 ⚠️ 待核实 无 charter 记录(沿用历轮结论)
9 验收 UAT / BDD ⚠️ 待核实 无 cucumber/gherkin 执行证据
10 性能测试 ⛔ 未授权未执行 压测属 execute 档,需联网显式授权
11 可靠性测试 ✅ 已实测(改善) 后端 43:12 无中断、344/344 XML 无沉默;langgraph 167.42s 正常收尾、EXIT=124 未复现(B-126 观察第 4 轮)
12 安全测试(SAST/DAST/SCA/渗透) ⛔ 未授权未执行 仅鉴权契约面:线上 5 端点匿名 POST 全 401(G8 ✅)
13 兼容性测试 ⚠️ 待核实 仅 Chromium 单引擎(1440×900 / 375×812)
14 可用性测试 ⚠️ 待核实 无真实用户可用性证据
15 无障碍测试 ⚠️ 待核实 无 axe/WCAG 扫描
16 覆盖率度量 ⚠️ 已实测(低) web 语句 ≈10% / 分支 ≈6%(R130 基线);后端 JaCoCo 未接入
17 变异测试 ⛔ 未发现 无 PIT / mutation 资产
18 契约测试 ✅ 已实测 health 13/13、shop 4/4、dx 2(skip=404 未部署)、S-cfc-29~54 契约(16 例预期 RED)
19 QA 流程 ⚠️ 待核实 138 轮闭环可追溯;门禁未脚本化(G11)
20 覆盖率门禁/CI ⚠️ 待核实 无 CI 全量 job(G11 ❌)

4. 本轮实测明细

4.1 后端全量(mvn -o -B clean test,JDK1.8.0_25 + Maven 3.6.1)

指标 数值
测试类 344(surefire XML 344/344,无沉默)
用例总数 2928
通过 2907
失败 / 错误 / 跳过 16 / 1 / 4
通过率 99.28%(剔 skip 99.42%)
耗时 43:12
编译 Compiling 350 source files 0 错;target/classes 2326 个 class(R130 为 2325,产物完整)

17 红逐条(三层归因)

层 用例 现象
产品(12) EnergySystemFlowTest 6 例(:150/:182/:212/:246/:282/:116) 能量兑换/完成任务/概览/流水均 500;无家庭用户返回 5001 而非 500
产品(1) GuideModuleIntegrationTest.testGuidePackageCreationFlow:63 DataIntegrityViolation(引导包创建写库失败)
产品(2) OrchestrationEngineTest:176、OrchestrationIntegrationTest:105 编排引擎/集成断言失败
产品(1) MembershipPaySwitchTest:209 虚拟支付开关缺失时仍生成订单(应返回 null)
产品(1) PaymentServiceORDRoutingTest:83 未知前缀回调路由返回 FAIL(期望 SUCCESS)
产品(2) UserServiceWechatLoginTest:120、UserServiceWechatLoginContractTest:110 首次微信登录未创建默认家庭 / 未返回 JWT
产品(1) TeamProfitCronContractTest:150 冷静期退款未将分享/奖励记录置 cancelled
契约待裁决(3) DimensionRegistryMapContractTest :76/:85/:92 $.data 缺失、缺失 legacy 应 400 实为 200(P-9 第 10 轮)

4.2 Jest 套件(本机)

套件 结果 说明
cfc-web 116/116(17 套件) 32.4s,零漂移
cfc-frontend 557 过 / 16 红 / 9 跳 / 582 总(37 套件) 32.0s;3 红套件全为预期 RED
根级黑盒 7 过 / 16 红 / 23 总 全 ECONNREFUSED 127.0.0.1:9082(本机后端未启,B-36 第 36 轮)

前端 16 红明细(预期 RED,非回归):signature.healthPlan.test.js(S-cfc-52,8 例,缺 health-plan-summary.vue)、signature.consignee.test.js(S-cfc-53,6 例,缺 consignee-edit.vue)、growthHistory.view.test.js(S-cfc-30,2 例,growth-main/index.vue 无按日期分组)。已核 health-plan-summary.vue、consignee-edit.vue 均不存在 → 待研发交付即转绿。

4.3 浏览器 live(30 例,workers=1 串行)

套件 节点 结果 说明
admin-desktop(1440×900) 189 实派 + 本机复验 5/5 / 本机 5/5 TC-A-U01~U05,滑块 + 真实登录入后台主框架(189 1.5m / 本机 1.3m)
frontend-mobile(375×812) 本机 6/6 TC-F-U01~U06(游客浏览/五维沙盘/TabBar/鉴权引导/关键资源)
shop-api 本机 4/4 TC-S-U01~U04(price asc/desc/default/非法白名单拦截)
health-api 本机 13/13(5.6s) TC-HP-U01~U13 未鉴权 401 全覆盖
dx-bridge(本轮新挂载) 本机 2 skip TC-DX-U01/U02 端点 404(部署滞后)→ 按设计记 skip,不假绿

说明:189 节点 admin-live.spec.js blob = bb49dd1ce(R97 版),本机 HEAD 版为 4703d73fb(R133 起含 B-59 waitForURL 时序修复)→ 189 跑的是上一版 spec,两版均 5/5,结论可比但不完全同版;已在 G10 备注。

4.4 langgraph(192.168.16.251 实派)

项 结果
命令 setsid nohup timeout 1500 .venv/bin/python -m pytest tests --ignore=tests/qna --ignore=tests/test_chat.py -q --tb=line
节点 HEAD d63a51552(git reset --hard origin/cfclub 后)
结果 41 passed / 2 failed / 167.42s
2 红 test_auto_tag.py::test_auto_tag_short_content、::test_auto_tag_empty_content(断言 500 == 200)
归因 日志 2 次 RateLimitError 429 (AgnesAI_error);另 chat_graph.py:148 记忆召回 401 api key ****ab12 invalid → 环境红
同窗口 live /health 200(4.9ms)、POST /api/v1/chat 200(12.21s/695B)、POST /api/v1/analyze 200(10.21s/1079B) → B-90 维持销号(连续第 3 轮绿)

4.5 线上鉴权对照组(POST,B-69 口径)

/api/mind/fortune、/api/energy/overview、/api/health/plan/list、/api/huawei-health/status、/api/xiaomi-health/status → 全部 401(5/5),鉴权机制正常(G8 ✅)。

4.6 dx-bridge 部署状态

POST /api/health/data-sources/bridge/list、.../sync-status → 404 / 404(第 3 轮)。TR-24 health.dataSource.bridgeWrite 部署 pending,属部署滞后,非产品缺陷。


5. SRS / 场景覆盖闸门(G12)

项 数值 判定
SRS 规格 docs/superpowers/specs/*.md 201 份;窗口 d236569af..d63a51552 零新增/零修改 ✅ 无需更新用例
用户场景 tests/user-scenarios/*.md 11 份,## 场景 标题 198 个 —
文档结构化用例 tests/test-cases/*.md 15 份,唯一 TC 编号 366 个 —
异常流用例 含异常/负向/401/403/超时语义 577 处 覆盖充分(文档层面)
可执行锚点 366 个 TC 中 43 个能在代码中命中 → 11.7% ❌ G9 未达标(与 R123 17.1%/R130 9.9% 同量级,口径差异见 B-124)
新增用例 0(SRS 零变更,G12 合规);本轮新增的是配置挂载(dx-bridge project),非新用例 ✅

6. 门禁结论

门禁 阈值 本轮实测 判定
G1 通过率 ≥95% 98.23%(3722 例 / 3656 过) ✅
G2 红例总数 ≤10 51(后端 17 + 根级 16 + 前端 16 + lg 2) ❌
G3 前端 Jest 无红(或红全为预期 RED) 16 红全为预期 RED(S-cfc-30/52/53) ⚠️ 条件通过
G4 管理端 Jest 全绿 116/116 ✅
G5 编译/产物完整性 编译 0 错 + 无沉默 350 源 0 错;344/344 XML;2326 class ✅
G6 浏览器 E2E 28/28 28/28 + dx 2 skip ✅
G7 langgraph 0 红 2 红(全 429/401 环境) ❌
G8 鉴权契约 匿名全 401 5/5 = 401;health 13/13 ✅
G9 用例锚点 ≥80% 11.7% ❌
G10 双节点派发 双节点实派 189 admin 5/5 ✅ + 251 pytest 43 例 ✅ ✅
G11 CI 全量 存在 CI job 无后端全量 CI ❌
G12 SRS 合规 变更驱动更新 SRS 零变更 → 零新增用例;dx 用例已挂载可执行 ✅

总判定:⛔ 不通过(有条件)

  • 直击用户双目标:①「所有用例通过」→ ❌(51 红:后端 17 产品/契约 + 前端 16 预期 RED + 根级 16 环境 + lg 2 环境);②「覆盖全部 SRS + 用户场景含异常流」→ ❌(可执行锚点 11.7%,795+ 文档用例仍以文档形态存在)。
  • 但无产品回归:本轮实跑后端 17 红与 R134 逐类一致,前端/浏览器/langgraph 变化均为环境或未交付实现。

复评条件(进入有条件通过/通过的门槛)

  1. 后端 17 红按批修复(EnergySystem 6 为最大单点,建议单独立项);
  2. 前端交付 health-plan-summary.vue / consignee-edit.vue + growth 分组逻辑 → 16 红转绿;
  3. 251 换 Token / 升配额(修复 429)+ 修复记忆召回 api key ****ab12;
  4. dx-bridge 上线部署 → 2 例由 skip 转 401/403 断言;
  5. 建 CI 全量 job(G11)+ TC 锚点提到 80%(G9)。

7. 五要素问题清单

问题 1|EnergySystem 6 例全 500(P0 产品)

  1. 问题描述:EnergySystemFlowTest 完成任务发放能量、兑换心愿、概览、流水 4 类接口全部返回 500;无家庭用户返回 5001 而非约定 500。
  2. 测试 bug 点:cfc-backend/src/test/java/com/etotem/cfc/integration/EnergySystemFlowTest.java:150 / :182 / :212 / :246 / :282 / :116。
  3. 最优修改方案:定位能量服务 500 根因(看 surefire 输出栈:疑似 5 维能量配置缺失或空指针),统一异常映射:无家庭 → 500/5001 需与 Result 约定对齐。
  4. 修改目的:五维能量是产品核心闭环(身/心/智/行/富),6 例全红意味着能量主链路不可用。
  5. 闭环方式:修复后单跑 mvn -o -B test -Dtest=EnergySystemFlowTest → 7/7 绿(含 1 skip 转绿)即闭环。

问题 2|DimensionRegistryMap 契约 3 例(P1 待裁决 · 第 10 轮)

  1. 问题描述:map_emptyLegacy / map_unknownLegacy 断言 $.data 非空失败;map_missingLegacy 期望 400 实为 200。
  2. 测试 bug 点:cfc-backend/src/test/java/com/etotem/cfc/integration/controller/DimensionRegistryMapContractTest.java:76 / :85 / :92。
  3. 最优修改方案:产品与测试对齐契约——确定「空/未知 legacy 返回 data:null 还是空对象」「缺参是否 400」,随后二选一改实现或用例(当前用例按规格断言,实现未跟随)。
  4. 修改目的:维度注册表是 Web 管理端配置入口,契约含糊会持续产生假红/假绿。
  5. 闭环方式:裁决结论落到 spec 后,契约测试 3/3 绿 + 管理端维度配置页手工回归 1 次。

问题 3|Guide 包创建 DataIntegrityViolation(P1 产品)

  1. 问题描述:testGuidePackageCreationFlow:63 抛 DataIntegrityViolation,引导包写库失败。
  2. 测试 bug 点:cfc-backend/src/test/java/com/etotem/cfc/integration/GuideModuleIntegrationTest.java:63。
  3. 最优修改方案:核对 guide 包表非空约束(platform_fee 截断类问题在历轮已现)与外键,修实现或补测试夹具数据。
  4. 修改目的:成长规划师端「引导包」是变现入口,写库失败即功能不可用。
  5. 闭环方式:mvn -o -B test -Dtest=GuideModuleIntegrationTest 4/4 绿。

问题 4|分佣冷静期退款未置 cancelled(P1 产品/资金合规)

  1. 问题描述:refundWithinCooling_cancelAllRecordsFundsNotPaid:150 期望 team_share_record/team_award_record 全 cancelled,实际 cancelled=0。
  2. 测试 bug 点:cfc-backend/src/test/java/com/etotem/cfc/unit/TeamProfitCronContractTest.java:150。
  3. 最优修改方案:补冷静期退款 cron 的级联置位(分享/奖励记录同事务置 cancelled),并核对 §8.2 条款。
  4. 修改目的:涉及资金合规,未置 cancelled 会导致超发分佣。
  5. 闭环方式:该用例转绿 + 与 CfCommissionServiceSettleTest(R134 已 12/12)联跑确认无连带。

问题 5|微信登录首次建家庭/JWT 缺失(P1 产品)

  1. 问题描述:首次登录未创建默认家庭(:120 期望非 null);契约用例 :110 期望 jwt-token-1 实为 null。
  2. 测试 bug 点:UserServiceWechatLoginTest:120、UserServiceWechatLoginContractTest:110。
  3. 最优修改方案:修 wechatLogin 首次分支的家庭初始化与 token 生成返回。
  4. 修改目的:登录是新用户唯一入口,失败即全链路阻断。
  5. 闭环方式:两用例转绿 + 线上新用户注册手工冒烟 1 次。

问题 6|前端 16 红:契约已合入、实现未交付(P0 预期 RED)

  1. 问题描述:3 套件 16 例红,均引用不存在的组件/逻辑。
  2. 测试 bug 点:cfc-frontend/__tests__/pages/signature/signature.healthPlan.test.js、signature.consignee.test.js、__tests__/pages/growth-main/growthHistory.view.test.js。
  3. 最优修改方案:交付 pages/signature/components/health-plan-summary.vue、consignee-edit.vue;growth-main/index.vue 补 groupByDate 分组渲染。
  4. 修改目的:S-cfc-30/52/53 是已签字规格,未交付即需求未完成。
  5. 闭环方式:三套件连续 2 轮 0 红后销号 B-135-1。

问题 7|langgraph 2 红:429 配额 + 记忆凭据 401(P0 环境)

  1. 问题描述:test_auto_tag_short_content / empty_content 断言 500 == 200;日志 2 次 429 + 记忆召回 401。
  2. 测试 bug 点:cfc-langgraph/tests/test_auto_tag.py:93。
  3. 最优修改方案:① 运维换 Token/升配额;② 修 app/graphs/chat_graph.py:148 记忆召回 api key;③ app/agents/intent_classifier.py:62 对 401/429 抛外部服务异常而非兜底 chat。
  4. 修改目的:把「环境故障」与「分类错误」解耦,避免 429 伪装成产品缺陷(已连续 4 轮干扰判定)。
  5. 闭环方式:251 复跑 43/43 且日志 0 次 429 → 销号 B-74/B-134-4。

问题 8|dx-bridge 用例未挂载 + 端点 404(P1 测试资产/部署)

  1. 问题描述:dx-health-bridge-auth.spec.js 存在但未挂入任何 project(本轮已修);两个端点线上 404。
  2. 测试 bug 点:tests/playwright.config.live.js(缺 dx-bridge project)、tests/e2e-live/dx-health-bridge-auth.spec.js:35。
  3. 最优修改方案:① 已完成——新增 dx-bridge project(2 例可执行);② 部署 TR-24 47d203981 至线上。
  4. 修改目的:设计好的契约用例必须真实执行;404 状态下按 skip 记,不制造假绿。
  5. 闭环方式:部署完成后复跑 → 2/2 断言 401/403;skip 归零即闭环。

问题 9|根级黑盒 16 红(P2 环境)

  1. 问题描述:tests/jest.config.js 23 例中 16 红,全 ECONNREFUSED 127.0.0.1:9082。
  2. 测试 bug 点:tests/ 根级黑盒套件(依赖本机后端常驻)。
  3. 最优修改方案:CI/本地跑前自动拉起 cfc-backend(或用 webServer 配置 + 健康检查门),失败即跳过而非红。
  4. 修改目的:环境型红例持续占据 G2 名额,淹没真实产品红。
  5. 闭环方式:后端常驻后重跑 23/23,或改为 test.skipif(!backendUp)。

8. 覆盖缺口清单

缺口 现状 风险 建议测试设计 优先级 闭环方式
可执行锚点低 366 TC 仅 43 命中代码(11.7%) 文档用例与自动化脱节,需求变更无法被测试感知 按域批量补 TC-XX 注释锚点,先把 198 个场景主流程锚到现有用例 P0 锚点率 ≥60% 起算,≥80% 达标
性能/可靠性 未授权联网,未执行 能量/报告解析等重接口无容量基线 k6/Playwright trace 打点,内网授权后跑 50 并发基线 P1 首次基线报告入库
安全扫描 仅鉴权契约 无 SAST/SCA 证据 离线 mvn dependency-check(需联网库)→ 待授权 P1 输出依赖漏洞清单
兼容性 仅 Chromium 小程序真机/WebView 差异未验 加 firefox/webkit project + 真机抽测 P2 三引擎同套件绿
无障碍 无 axe 扫描 家长端可用性合规风险 引入 @axe-core/playwright 对 5 个核心页 P2 关键页 0 critical
变异测试 无资产 覆盖率质量不可信 后端引入 PIT(离线可行需插件包) P3 关键域 mutation score ≥60%
BDD/UAT 无 gherkin 验收标准不可执行 把 198 场景中 20 条主流程转 feature 文件 P2 20 条可执行

9. 本轮产出与变更

文件 变更
docs/tdd/orchestration/report-test-2026-11-11-R138.md 本报告
docs/tdd/test/automation-run-2026-11-11-R138.md 执行记录(命令 + 原始数字)
docs/tdd/test/notice-2026-11-11-R138-研发通知.md 研发通知(结果有变化)
docs/tdd/test/blockers.md 追加 R138 段(B-138-1 dx 用例未挂载已修、B-74/B-134-4 第 4 轮、B-126 观察第 4 轮、B-DX-1 第 3 轮、B-95 第 11 轮、B-36 第 36 轮、B-135-1 第 3 轮)
tests/playwright.config.live.js 新增 dx-bridge project(唯一代码级改动,测试资产)
docs/tdd/test/automation-status.md 追加 R138 附录

模板版本:v1.1(测试负责人工作汇报模板)|本轮:R138(2026-11-11 06:10)