返回知识中心
平台

按平台与版本设计浏览器测试矩阵

为受支持的用户流程、平台和浏览器版本建立可维护的风险型兼容性矩阵,平衡覆盖、证据与发布决策。

BotBrowser Team

文档中心

想直接进入 平台 文档吗?

这篇文章属于博客内容库。若你要步骤化配置、参考说明和持续更新,请直接进入对应 docs 分区。

浏览器测试矩阵是覆盖决策,不是所有浏览器的清单。它把受支持的平台与版本连接到重要用户流程,并在失败代价高的地方加深测试。矩阵应可复现、可解释且便于维护。

选择受支持环境

从支持契约开始:操作系统、浏览器家族、版本范围、视口、输入方式和网络。每个单元都要有理由和负责人。Web Platform Tests 提供一致性 fixture,MDN Browser Compatibility Data 提供兼容性元数据,但都不能替代应用测试。

const cell = {
  platform: 'linux',
  browser: 'chromium',
  release: '154',
  viewport: 'desktop',
  input: 'keyboard-and-pointer',
  network: 'stable',
};
const journeys = ['sign-in', 'checkout', 'download'];
for (const journey of journeys)
  await runJourney({ cell, journey, evidenceId: `${cell.browser}-${cell.release}-${journey}` });

标签描述测试条件,不推断用户机器。将 profile、路径、语言、数据状态和权限与单元一起保存。不同配置应建立明确的新单元。

单元决策证据动作
关键单元支持契约与用户影响每个候选版本运行
代表单元流量或功能覆盖按计划运行
探索单元新平台或计划支持限时且不阻塞
退役单元无受支持用户经负责人批准移除
未知单元无负责人或证据不称为受支持

排列用户流程

按影响、变化率、复杂度和恢复成本排序。登录、结账、上传、导出和键盘操作可能是关键流程;信息页可以只做 smoke check。把优先级原因写在矩阵旁边。

流程卡应包含前置条件、动作、可见结果、清理和证据。分开功能、视觉、可访问性和性能结果。导航成功不代表焦点、错误提示或窄视口布局正确。

平衡平台与版本覆盖

平台覆盖操作系统、输入、图形和字体;版本覆盖浏览器引擎变化。选择 baseline、当前、候选和一个仍受支持的旧版本,不要无理由乘上每个 patch。

把高风险流程配给能暴露其失败模式的单元,并分开记录浏览器、profile 和产品 build 标签。

BotBrowser 受控上下文支持在声明 profile、平台、版本、视口和网络的情况下重复授权流程。这是其能力。它不会选择支持政策、替代 WPT、保证每个版本,也不授权针对第三方服务的测试。这些是其限制。

审查矩阵漂移

支持范围、版本、路径或风险变化都会造成漂移。发布、路由或政策变化后审查矩阵,并保留负责人、日期、证据和退役原因。

单元失败时先分类为应用缺陷、浏览器回归、环境配置、测试数据或已批准回退。重跑最小 fixture 并比较已知正常单元。只有当证据改变支持或发布决策时才扩展覆盖。

做发布决策

在候选版本测试前定义阻塞规则。关键流程失败可阻塞发布;探索单元可以创建 follow-up。记录矩阵版本、平台标签、build、流程结果、限制、负责人和回滚条件。矩阵通过不证明服务器、授权或业务完成。

相关背景可参考浏览器版本验证清单和性能优化指南。

矩阵将平台与版本连接到用户流程和发布决策。

审查应写明下一步动作和负责人。

在选择单元前先写清支持问题。

比较过程中保持基线不变。

每个流程保留前置条件和清理步骤。

功能与视觉结果分开记录。

可访问性属于流程结果的一部分。

profile 与版本变化应分别比较。

失败单元要与已知正常单元对照。

矩阵成本应和覆盖一起评估。

例外必须有负责人和到期日期。

负面证据要留给下一次审查。

下载流程需要可验证的清理。

视觉路径需要声明状态和视口。

WPT 与兼容性数据是上下文,不是保证。

支持政策定义版本何时退役。

单元结果可以是 pass、block、follow-up 或 retire。

标签描述测试条件,不描述个人。

下一次 fixture 只改变一个重要变量。

Public sources

#浏览器测试#兼容性矩阵#版本验证#Web Platform Tests

让 BotBrowser 从研究走向生产

先用这些指南理解模型,再进入跨平台验证、隔离上下文和面向规模化的浏览器部署。