Files
workinf_Blender_Wasm/docs/WEB_FEATURE_SMOKE_PLAN.md
mes123456 b940b8bac8
Some checks failed
M6 deployable RC / quick (push) Has been cancelled
M6 deployable RC / chromium (push) Has been cancelled
M6 deployable RC / release (push) Has been cancelled
Complete internal submodule smoke closure
2026-09-07 12:58:28 +08:00

3.6 KiB
Raw Blame History

Web Blender 全功能一次性烟测计划

目标

对已完成的 34 个产品功能各执行一次最小生产路径烟测。烟测只回答“入口是否可达、主路径是否能完成、失败边界是否保持关闭”,不替代完整 API、性能、安全或跨浏览器验收。

功能内部的命令/子模块使用独立的一次性计划 WEB_INTERNAL_SUBMODULE_SMOKE_PLAN.md,两层合计覆盖 34 个产品功能、101 个唯一子模块和 111 条功能绑定。

唯一执行清单是 tests/golden/WBV2/feature-smoke-plan.json。清单为每个功能分配唯一 featureId、唯一 smokeId 和 maxAttempts=1;运行器拒绝重复功能、重复烟测或隐式重试。

执行分层

  1. 前置门禁(只执行一次)

    • Blender 路由目录完整性:3745/3745,UNAVAILABLE=0。
    • WebEngine 命令注册表、SERVER_NATIVE HTTP 路由和浏览器等价动作组。
  2. Chromium 生产烟测(29 个功能)

    • 复用已有的 source-backed production spec。
    • 同一 spec 文件内的多个功能合并为一次 Playwright 启动,但每个功能标题只选择一次。
    • 浏览器固定 Chromium,workers=1,失败后不重试。
  3. 命令/服务烟测(5 个功能)

    • 运行已存在的 server-job、路由、调度器和覆盖检查入口。
    • 仅验证对应功能入口,不启动完整回归矩阵。
  4. 失败处理

    • 第一轮全部按计划执行一次;失败项记录在 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 仍单独记录;路由分类不被烟测结果冒充为逐单元行为证明。