Files
workinf_Blender_Wasm/docs/WEB_FEATURE_SMOKE_PLAN.md
mes123456 b088b792a8
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
test(web): enforce one-pass smoke execution
2026-09-07 06:52:11 +08:00

3.3 KiB
Raw Blame History

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

目标

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

唯一执行清单是 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 的真实阻断,未用模拟结果掩盖。

IO 阻断的修复顺序固定为:先修复 Blender WebEngine 源码与当前头文件/API 的编译一致性,再重建并 hash 绑定 WASM,最后只重跑 IO 这一项定点验证。其余 31 个已通过功能不重跑。

范围与边界

  • 覆盖:16 个工作流模块、34 个产品实现功能、WEB_MAIN、SERVER_NATIVE、BROWSER_EQUIVALENT 三类入口。
  • 不重复:每个产品功能仅有一个烟测 ID、一次尝试预算和一个代表性生产入口。
  • 不混入:完整行为矩阵、性能 soak、安全/fuzz、Firefox/WebKit、全量历史 6900 条回归项。
  • 历史源码单元的 1025 verified / 2720 unverified 仍单独记录;路由分类不被烟测结果冒充为逐单元行为证明。