forked from admin/PlantAI-rag-new
- git mv 保留历史:ui/(Vue3+Vite)、sdk/(BFF 中间层)
- 路径语义修正:db_path/figures_cache 改相对 sdk/(BFF cwd),
历史库 sdk/backend/data 迁移至 sdk/data/(会话/图片缓存无损)
- 引用修复 ~15 处:config.py、deploy/*.sh、vitest/playwright 配置、
单测导入路径、docs、README、gitignore、.env.example
- 骨架:agent/{qa,methodology,legacy-rag,vendor}、knowledge/manifest.yaml、
tooling/{compile,kb,crypto,assemble,audit,tools,scripts} + README
- 门禁验证:sdk pytest 125 通过、ui vitest 158 通过、
生产 BFF 脚本重启四上游全绿 + 静态托管 + 会话库无损
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
7.3 KiB
7.3 KiB
TEST_REPORT_R2.md —— 第二轮全量回归测试报告
轮次 R2 | 日期 2026-08-25 | 测试 agent T | 模板依据 TEST_PLAN §8
1. 轮次信息
| 项 | 值 |
|---|---|
| 被测版本 | M4 第二轮:R1 的 8 个缺陷修复后(修复清单见协调通知) |
| 运行环境 | 远端 plantai-bff 机;BFF 8090(真实上游 7920/8000/7900/Neo4j 全通,health 无索引误报);Vite 5180→8090(HMR 已同步修复);mock 8099(本地/远端 md5 一致) |
| L1/L2 | sdk pytest 全量 + --cov=app |
| L3/L4 | ui vitest 全量 + --coverage |
| L5 | Playwright 1.49.1 + chromium-1148,三档视口 48 条 |
| L2s | bash tests/smoke_upstreams.sh |
| 铁律 | 只跑测试与写报告;未修改任何产品代码(ui/src/**、sdk/app/** 零改动) |
2. 首页统计
2.1 分层结果
| 层 | 总数 | Pass | Fail | Skip | 说明 |
|---|---|---|---|---|---|
| L1+L2 后端 | 121 | 121 | 0 | 0 | 修复后新增 2 条(R1 为 119) |
| L3+L4 前端 | 156 | 156 | 0 | 0 | 修复后新增 19 条(R1 为 137) |
| L5 端到端(全量 final3) | 48 | 35 | 1(flake) | 12 | 唯一失败为 tablet E2E-01 上游排队超时,单独复跑 52.3s 通过(见 §5.1) |
| L5 补跑(受修复影响用例) | 10 | 10 | 0 | 0 | mobile/tablet E2E-01/02 复跑、bench 三档复跑——全部通过 |
| L2s 上游 smoke | 7 | 7 | 0 | 0 | 含 Neo4j 认证查询 |
2.2 覆盖率(辅门禁)
| 项 | 实际 | 门禁 | 结论 |
|---|---|---|---|
| 后端行覆盖 | 87%(2786 行中 350 未覆盖) | ≥85% | 达标 |
| 前端行覆盖 | 80.59%(All files) | ≥80% | 达标 |
| FR 需求追溯(主门禁) | 81/81,未覆盖清单为空(TEST_CASES.md 矩阵不变) | 100% | 达标 |
2.3 L5 明细(final3 全量 + 补跑)
| TC 映射 | 用例 | mobile | tablet | desktop | 结论 |
|---|---|---|---|---|---|
| TC-E2E-SMOKE-01/02 | 冒烟 | ✓ | ✓ | ✓ | PASS |
| TC-E2E-01 | 主流程(含 R1 阻断的刷新恢复补验 + markdown 断言) | ✓ | ✓(补跑) | ✓ | BUG-R1-06/07 修复确认;刷新恢复步骤已跑通 |
| TC-E2E-02 | 检索模式 | ✓ | ✓ | ✓ | BUG-R1-07 修复确认(46-49s 正常完成,不再 30s 自断) |
| TC-E2E-03 DOWN | QA 不可用降级 | — | — | ✓ | BUG-R1-04 修复确认(作曲器禁用) |
| TC-E2E-03 ERROR | 上游错误+重试 | — | — | ✓ | BUG-R1-05 修复确认(透传上游 message + 重试同位置替换) |
| TC-E2E-04 核心 | 新建/重命名/搜索/分组 | ✓ | ✓ | ✓ | PASS |
| TC-E2E-04 活动态 | 活动高亮探针 | ✓ | ✓ | ✓ | BUG-R1-02 修复确认 |
| TC-E2E-04 删除 | 删除入口探针 | ✓ | ✓ | ✓ | BUG-R1-03 修复确认(右键唤出确认弹层) |
| TC-E2E-05 | 中断 | — | — | ✓ | PASS |
| TC-E2E-06 | 主题切换持久化 | ✓ | ✓ | ✓ | PASS |
| TC-E2E-07 | 图谱搜索/邻域/详情 | ✓ | ✓ | ✓ | BUG-R1-01 修复确认(结果含 OsSPL14;51 节点降级列表路径两形态均接受) |
| TC-E2E-08 | 抽取任务/日志/上传 | ✓ | ✓ | ✓ | PASS |
| TC-E2E-09 桌面 | 网格/底栏/折叠 | — | — | ✓ | PASS |
| TC-E2E-09 平板 | 抽屉/scrim | — | ✓ | — | PASS |
| TC-E2E-09 手机 | 移动端专项 | ✓ | — | — | PASS |
结论:全部 TC-E2E 用例在 R2 至少一次干净运行中通过;final3 唯一失败为环境性 flake(§5.1),复跑通过,非产品缺陷。
3. 缺陷清单
本轮无新缺陷。 R1 的 8 个缺陷全部确认修复(见 §4),未引入回归。
4. 上轮(R1)缺陷修复确认表
| 编号 | 是否修复 | 本轮对应 TC 结果 |
|---|---|---|
| BUG-R1-01 kg 搜索 q 参数 | 已修复 | TC-E2E-07 三档 ✓(搜索返回 OsSPL14 正确结果;http.js URLSearchParams 序列化已核实) |
| BUG-R1-02 会话活动高亮 | 已修复 | TC-E2E-04 活动态探针 三档 ✓(selectSession 同步 sessions.activeId) |
| BUG-R1-03 删除入口死代码 | 已修复 | TC-E2E-04 删除探针 三档 ✓(右键唤出 confirm-box,Teleport z-70) |
| BUG-R1-04 QA 降级作曲器未禁用 | 已修复 | TC-E2E-03 DOWN ✓(ChatPanel composerDisabled 接线 health.qaOk) |
| BUG-R1-05 502 误显示「连接中断」 | 已修复 | TC-E2E-03 ERROR ✓(err.code 优先映射,透传「上游问答服务返回错误」+ 重试) |
| BUG-R1-06 markdown 未渲染 | 已修复 | TC-E2E-01 三档 ✓(qaToBlocks/_finalizeReveal 走 renderMarkdown,HTML 含 |
| BUG-R1-07 30s 超时自断 | 已修复 | TC-E2E-02 三档 ✓(默认超时 600s;46-49s 真实检索正常完成) |
| BUG-R1-08 health 索引误报 | 已修复 | /api/health 实测 neo4j.detail 字段已消除(成员判断修复) |
5. 遗留问题与风险
- tablet E2E-01 全量中的 flake(唯一失败):final3 中 tablet 档主流程 300s 超时(trace 显示流未在时限内终态,afterEach 清理正常执行),单独复跑 52.3s 通过;mobile/desktop 同轮 53.2s/53.6s 通过。判定为上游 QA 排队/偶发慢(同一 spec 三档三次全量中 2/3 通过),非产品缺陷。建议下轮把真实流 E2E 的 test timeout 提到 480s、终态等待上限 360s,消除环境抖动误报。
- 12 条 skip 维持(设计门控):mock 场景仅桌面代表、E2E-05 仅桌面(真实流成本高,跨档行为一致)。如需三档全跑需 PM 确认。
- Laptop 档(1024–1279)仍无 Playwright project(R1 遗留问题 4):TC-RESP-002(左栏自动折叠 64px/右栏 340px)本轮仍未 L5 覆盖,需 PM 决定是否加档。
tests/sdk/L2 respx 独立测试仍空(R1 遗留问题 2):L2 用例(检查点节奏、级联删除、INVALID_CITATION 重试等)靠 A 组单测 + L5 间接覆盖。- QA LLM 402 仍存在:chat 答案为 fallback 证据列表;「依赖充值」断言维持结构回退。若这是最后一轮,充值后的答案质量断言移交 L6 验收。
- 共享数据:R2 测试会话已全部清理(按 ID 快照 + 时间窗删除 58 条),远端 SQLite 现仅剩 PM 集成期 7 条会话。
- T 自身测试缺陷修复(R2 内):E2E-07 接受降级列表形态、E2E-01 等 md-text 终态(弃等 stream-wrap 消失的脆断言)、markdown 触发条件收紧、E2E-05 改位置定位、清理改 ID 快照——均已同步远端。
6. 证据归档
- 远端日志:
/tmp/r2_pytest.log、/tmp/r2_cov.log(121 passed,87%)、/tmp/r2_vitest_cov.log(156 passed,80.59%)、/tmp/r2_smoke.log(7/7)、/tmp/r2_pw_final3.log(L5 全量)、/tmp/r2_pw_m1.log(mobile 补跑)、/tmp/r2_pw_t1.log(tablet 补跑) - 失败截图/trace:
ui/test-results/(final3 tablet E2E-01 一份,为 flake 证据) - 归档:
/home/xzq/5090/teamWorkspace/zh/r1_test_evidence/(R1 证据保留;R2 日志在 /tmp 保留至 PM 决定归档)
7. 轮次结论
- 主门禁(FR 追溯 81/81)达标;辅门禁(后端 87%、前端 80.59%)达标。
- R1 的 8 个缺陷全部确认修复;R2 无新缺陷。
- L5 全量唯一失败经复跑确认为环境性 flake,全部 TC-E2E 在干净运行中通过。
- 由 PM 判定是否收尾:若收尾,建议采纳 §5.1 的超时加固建议(T 测试代码变更,无需产品修复)。