视觉回归测试核心

共 18 题
#

1. 视觉回归测试(Visual Regression Testing)的核心原理,像素级对比 vs 感知对比(Perceptual Diff)的差异与适用场景?

A 像素级对比通过模拟人眼视觉系统,能忽略人眼难以察觉的微小差异
B 感知对比对任何像素的轻微变化都会报错,误报率高于像素级对比
C 像素级对比主要适用于差异较大、存在明显布局变化的真实前端页面
D 感知对比通过高斯模糊、色彩空间转换等处理忽略人眼难察觉的差异,从而降低误报率 ✓ 正确答案
#

2. 视觉回归测试工具选型,Applitools Eyes(AI 驱动)、Percy(BrowserStack)、Chromatic(Storybook)、BackstopJS 的架构差异与适用场景?

A Chromatic 深度集成 Storybook,适合组件级视觉回归与版本对比 ✓ 正确答案
B BackstopJS 是云端的 AI 驱动平台,依赖付费服务完成对比
C Applitools Eyes 是本地开源工具,需自行搭建审批流程
D Percy 采用逐像素对比引擎,无法自动处理跨浏览器差异
#

3. 视觉回归测试中的"可接受差异"阈值如何设定?如何处理动态内容(时间戳、广告、动画)导致的误报?

A 应一味调高全局阈值来消除所有动态内容带来的差异
B 通过区域屏蔽、动画冻结、等待稳定等策略,从源头减少动态内容干扰 ✓ 正确答案
C 动态内容无法处理,只能接受误报
D 阈值一旦设定就应永不修改,以保证测试一致性
#

4. 视觉 AI 断言(如 Applitools Visual AI)与传统像素对比的本质差异,如何理解"布局意图"而非逐像素匹配?

A 视觉 AI 通过模拟人类视觉,在语义/布局特征层面匹配"布局意图",而非逐像素匹配 ✓ 正确答案
B 视觉 AI 与像素对比一样,都是逐像素比较 RGB 值
C 视觉 AI 的误报率高于传统像素对比
D 视觉 AI 无法捕捉按钮错位、文字截断等真实缺陷
#

5. 视觉回归测试在 CI/CD 中的集成策略,何时触发、如何与功能测试并行、失败后的处理流程?

A 视觉回归失败后应区分"有意变更"(提交基线审批)与"真实缺陷"(阻断并转 bug) ✓ 正确答案
B 视觉回归与功能测试共用完全相同的环境即可,无需考虑基线稳定性
C 应每次提交都对全量页面执行视觉回归,以保证绝对覆盖
D 视觉回归一旦失败就应直接更新基线,避免阻断流水线
#

6. 响应式设计的视觉测试,如何覆盖多种视口(viewport)和断点(breakpoint)的组合?

A 应覆盖市场上所有设备型号,以保证绝对完整
B 只需要测试桌面端视口即可
C 应以断点为单位选取代表视口,并重点覆盖断点边界附近,控制组合成本 ✓ 正确答案
D 视口越多越好,无需考虑成本与优先级
#

7. 跨浏览器视觉差异的基线管理,不同渲染引擎(Blink/Gecko/WebKit)的亚像素差异如何处理?

A 所有浏览器共享同一份基线,差异越小越好
B 应为不同浏览器分别建立基线,并容忍已知的渲染差异,同时区分可接受差异与真实缺陷 ✓ 正确答案
C 亚像素差异一律视为缺陷,必须修复后才能通过
D 无需锁定浏览器版本,基线自然可复现
#

8. 暗色模式(Dark Mode)、高对比度模式、字体缩放等主题变体的视觉测试策略?

A 只需测试默认明色主题即可
B 变体切换依赖真实系统偏好即可,无需测试控制
C 应建立"页面 × 主题/对比度/缩放"变体矩阵,稳定驱动变体切换,并针对暗色模式验证对比度与焦点指示器 ✓ 正确答案
D 字体缩放不需要视觉验证
#

9. 组件级视觉测试(Storybook + Chromatic)vs 页面级视觉测试的覆盖策略与成本权衡?

A 组件级测试能发现所有页面级问题,只需做组件级即可
B 组件级测试覆盖组件所有状态、成本低反馈快,页面级测试覆盖真实用户流程、成本高,宜组合使用 ✓ 正确答案
C 页面级测试成本低、反馈快,适合做全量覆盖
D 两种测试互不相关,无法配合
#

10. 视觉回归测试的基线(Baseline)管理,何时更新基线、如何审批视觉变更、如何防止"基线漂移"?

A 基线应随测试失败自动更新,以保证测试稳定通过
B 基线漂移对测试质量没有影响
C 基线一旦建立就永远不能更新
D 基线更新必须经人工审批并记录变更原因,同时防范无监督更新导致的基线漂移 ✓ 正确答案
#

11. 视觉差异的智能分类,如何用 AI 辅助区分「有意变更」与「真实缺陷」,降低 triage 成本?

A AI 应完全替代人工,所有差异自动判定后无需任何人工确认
B AI 分类与变更类型、影响区域无关
C AI 基于变更类型、影响区域等特征分类,并用置信度机制把低置信度用例转人工兜底,形成闭环 ✓ 正确答案
D AI 分类无法描述差异内容,只能给出通过/失败
#

12. UI 状态的视觉覆盖,登录态、空态、加载态、错误态与权限不足等状态的截图基线如何建立,避免只测默认态?

A 只需测试默认态即可,其他状态无需覆盖
B 加载态无法捕捉,只能跳过
C 所有状态可以共用同一条基线,无需区分
D 应枚举登录/空/加载/错误/权限等状态,为每个状态独立建立基线,并通过 mock 数据稳定驱动状态切换 ✓ 正确答案
#

13. 视觉回归的执行成本控制,截图数量、比对耗时与失败重跑的预算如何设计,海量基线如何分级执行?

A 应全量截图并全量比对,以保证绝对覆盖
B 应对失败用例无限重跑,直到通过为止
C 应通过覆盖裁剪、增量比对、分级执行与重跑上限来控制成本,保证关键覆盖 ✓ 正确答案
D 海量基线无法分级,只能一次性全跑
#

14. 视觉测试与无障碍测试的协同,对比度、焦点指示器、屏幕阅读器兼容性的视觉验证?

A 视觉测试与无障碍测试完全无关
B 可通过视觉断言验证对比度与焦点指示器,并把无障碍扫描嵌入视觉流程,形成双重校验 ✓ 正确答案
C 焦点指示器无法通过视觉验证
D 对比度只与审美有关,与无障碍无关
#

15. 视觉回归测试的 ROI 评估,如何量化"视觉缺陷逃逸"的业务影响?

A 可通过量化视觉缺陷逃逸率、生产事故成本、转化漏斗损失等来评估收益,并与成本对比得出 ROI ✓ 正确答案
B ROI 只需看测试成本,无需考虑收益
C 视觉缺陷对业务没有影响,不值得投入
D ROI 无法量化,只能凭感觉
#

16. 视觉回归与布局测试的区别,像素对比 vs 布局结构断言各自的适用场景?

A 布局结构断言不依赖像素,适合验证无溢出、无重叠等结构合理性,与像素对比互补 ✓ 正确答案
B 像素对比能稳定验证元素是否溢出、是否有横向滚动
C 布局断言无法验证元素是否可见或可聚焦
D 像素对比与布局断言完全等价,可互相替代
#

17. 视觉回归在响应式断点下的执行策略,多视口截图的成本控制与优先级?

A 所有视口都应无差别全量覆盖,以保证绝对完整
B 应把视口按优先级分层,核心页面覆盖全断点,次要页面只覆盖两端断点,并分级执行 ✓ 正确答案
C 增量处理无法用于视觉回归,只能全量重跑
D 布局断言无法替代像素对比,成本无法控制
#

18. 视觉基线的分支管理,多特性分支并行时基线如何派生与合并,基线冲突如何解决?

A 所有分支共享同一份基线,合并时无需处理
B 分支基线无法自动派生,只能手动维护
C 每个分支应有独立基线,合并时以合并后的代码为准重新确立基线,冲突走人工审批 ✓ 正确答案
D 基线冲突无法解决,只能接受