在自有应用上负责任地测试浏览器功能
用公开规范、小型 fixture 和明确的隐私边界,在自己拥有的应用上测试浏览器功能。
BotBrowser Team
当测试回答的是自己拥有的应用的决定时,浏览器功能测试最有价值。公开规范定义浏览器行为,小型 fixture 观察一个声明上下文,产品团队决定如何处理结果。BotBrowser 可以在声明的版本、profile 和页面上下文中重复获授权的观察;它不能测试不属于自己的站点、证明浏览器在所有环境中一致,也不能单独证明功能隐私或安全。
先定义自有应用的决定
从用户可见的决定开始:启用功能、选择回退、解释权限,还是阻断路径。链接相关的 W3C、WHATWG 或 MDN 定义,记录真正重要的行为。“API 存在吗”通常太宽;“权限被阻止时,自有结账页面能否显示清晰的拒绝说明”才给 fixture 明确边界。
拥有应用不等于可以收集无关数据。fixture 应留在受控路径上,使用合成账户和测试数据。不要把客户标识、私有 URL、凭据或第三方内容放入公开文章。拥有权的作用是让行为和回退可观察,而不是扩大收集范围。
用公开规范固定功能含义
使用 W3C 或 WHATWG 说明规范意图,使用 MDN 说明面向浏览器的实现信息。记录页面、章节、读取日期和状态词。分开要求、浏览器文档和 fixture 结果。文档记录的功能可能受权限、策略、安全上下文或版本限制。一个上下文中调用成功,不代表普遍可用或质量达标。
对于隐私相关功能,写清自有应用决定所需的浏览器表面以及有意排除的信号。权限状态、跨源拒绝或降低精度的值可能已经足够。不要把兼容性测试变成完整指纹调查。规范解释功能,但不决定保留、合法目的或其他站点的行为。
构建有边界的 fixture
使用一个浏览器版本、一个运行环境、一个声明过的 profile 和一个受控路径。记录语言、权限、预期结果、观察结果和日期。比较版本或平台时一次只改变一个维度。断言决定所需的分支,包括错误和回退,不要收集页面能读取的所有属性。
BotBrowser 可以在声明的上下文中重复并比较同一个获授权的断言,但不能证明规范合规、控制第三方存储,或保证结果在自有应用之外安全。它可以重复声明环境中的浏览器观察,但不能把结果扩展为普遍产品保证。
报告证据和产品行动
| 证据 | 可以支持 | 不能证明 |
|---|---|---|
| 公开要求 | 含义和允许行为 | 所有浏览器都部署 |
| 自有应用 fixture | 声明路径上的行为 | 第三方站点行为 |
| 错误或回退观察 | 产品处理决定 | 普遍质量或安全 |
| 版本比较 | 值得研究的边界 | 没有受控测试时的原因 |
测试记录应写出页面观察到什么、执行哪个分支以及没有测试什么。产品决定应写出使用功能、请求权限、选择回退、降低精度、丢弃数据还是阻断路径。两者要相邻但分开。浏览器观察是决定的证据,不是决定本身。
尊重隐私边界
自有应用测试仍需收集边界。不要从重复值推断身份,也不要从缺失值推断匿名。浏览器设置、权限策略、扩展、企业控制和服务器记录都可能改变隐私结果。明确写出是否评估保留、账户关联、网络观察和其他来源。“未测试”比无依据的保证更准确。
选择回退后,把回退作为独立断言测试。回退可以保持流程,但不一定保持相同语义。把它标为产品选择并说明用户可见限制。如果功能被阻断,只有在 fixture 能区分时才把策略拒绝与实现不可用分开;否则标记为未定并说明下一项测试。
来源
参阅浏览器功能支持与功能质量和浏览器 API 兼容性数据与回退。
保留带日期的 worksheet:来源、fixture 版本、浏览器版本、profile、路径、断言、结果、排除项、负责人和复查触发条件。公开文档应展示安全推理和测试边界,不要展示私有操作步骤或客户资料。规范、版本、权限策略、profile、路径或产品决定改变时,重新运行小型 fixture。