3.6 KiB
3.6 KiB
Web Blender 全功能一次性烟测计划
目标
对已完成的 34 个产品功能各执行一次最小生产路径烟测。烟测只回答“入口是否可达、主路径是否能完成、失败边界是否保持关闭”,不替代完整 API、性能、安全或跨浏览器验收。
功能内部的命令/子模块使用独立的一次性计划 WEB_INTERNAL_SUBMODULE_SMOKE_PLAN.md,两层合计覆盖 34 个产品功能、101 个唯一子模块和 111 条功能绑定。
唯一执行清单是 tests/golden/WBV2/feature-smoke-plan.json。清单为每个功能分配唯一 featureId、唯一 smokeId 和 maxAttempts=1;运行器拒绝重复功能、重复烟测或隐式重试。
执行分层
-
前置门禁(只执行一次)
- Blender 路由目录完整性:3745/3745,UNAVAILABLE=0。
- WebEngine 命令注册表、SERVER_NATIVE HTTP 路由和浏览器等价动作组。
-
Chromium 生产烟测(29 个功能)
- 复用已有的 source-backed production spec。
- 同一 spec 文件内的多个功能合并为一次 Playwright 启动,但每个功能标题只选择一次。
- 浏览器固定 Chromium,
workers=1,失败后不重试。
-
命令/服务烟测(5 个功能)
- 运行已存在的 server-job、路由、调度器和覆盖检查入口。
- 仅验证对应功能入口,不启动完整回归矩阵。
-
失败处理
- 第一轮全部按计划执行一次;失败项记录在
tests/golden/WBV2/feature-smoke-report.json。
- 第一轮全部按计划执行一次;失败项记录在
- 失败项标记为
FAILED_FOCUSED_FIX_REQUIRED,不伪造通过,也不在同一轮重复执行。 - 修复必须建立新的聚焦任务和新的烟测批次;已通过功能不重跑。
- 同一
planId已存在尝试记录时,运行器会拒绝再次执行;必须更换批次 ID 或使用独立的聚焦修复入口。
执行命令
生成并检查清单:
node tools/web/generate-wbv2-feature-smoke-plan.mjs
node tools/web/run-wbv2-feature-smoke-plan.mjs
执行一次完整烟测批次:
node tools/web/run-wbv2-feature-smoke-plan.mjs --execute
结果文件:
本轮执行结果
首次烟测按 34 个功能各执行一次:31 个通过,3 个进入定点处理。其中操作搜索已修复并通过定点验证;序列器原始分组中的用例实际通过;IO 路由暴露的旧 WASM importScene 缺口已通过 source-matched 重建和聚焦 Chromium 验证解决。
IO 修复按既定顺序完成:修复 Blender WebEngine 源码/API 编译一致性,重建并 SHA-256 绑定 WASM,最后只重跑 IO 聚焦验证。其余 31 个已通过功能没有重跑。
范围与边界
- 覆盖:16 个工作流模块、34 个产品实现功能、WEB_MAIN、SERVER_NATIVE、BROWSER_EQUIVALENT 三类入口。
- 内部覆盖:101 个唯一子模块各一次,失败只进入独立定点修复,不重跑已通过子模块。
- 不重复:每个产品功能仅有一个烟测 ID、一次尝试预算和一个代表性生产入口。
- 不混入:完整行为矩阵、性能 soak、安全/fuzz、Firefox/WebKit、全量历史 6900 条回归项。
- 历史源码单元的
1025 verified / 2720 unverified仍单独记录;路由分类不被烟测结果冒充为逐单元行为证明。