返回知识库

兼容性测试实战手册

不是把所有设备都测一遍,而是用真实用户占比和业务风险,选出最值得验证的组合。

10 个章节Web + App浏览器、设备、网络与数据
🧩

兼容性测试到底测什么

同一个功能,在不同环境都能用

先说人话

用户不会都用同一台电脑、同一个浏览器和同一条网络。兼容性测试要验证的是:环境发生变化后,核心业务仍能完成,页面仍能理解,异常仍能恢复。

六个常见兼容维度

维度常见组合重点关注
浏览器Chrome、Edge、Safari、Firefox、微信内置浏览器布局、交互、API 支持
操作系统Windows、macOS、iOS、Android字体、权限、文件与系统控件
设备手机、平板、桌面、折叠屏触控、横竖屏、安全区
屏幕小屏、主流屏、超宽屏、高 DPI换行、遮挡、缩放、清晰度
网络Wi-Fi、4G、弱网、断网、切网超时、重试、重复提交
语言数据中英文、长文本、Emoji、时区、旧数据溢出、乱码、日期金额

兼容不等于完全一致

  • 核心功能、数据和业务结果必须一致。
  • 布局可以随屏幕合理重排,不要求像素完全相同。
  • 浏览器能力缺失时可以降级,但必须清楚告知用户。
  • 不支持的环境也要提供可理解的升级提示。
📋

先建立兼容性矩阵

用户占比 × 业务风险 × 变更范围

兼容组合分层

层级典型范围测试深度
P0 核心组合主流浏览器最新版 + 主流手机系统登录、下单、支付等核心链路全量回归
P1 常用组合次主流浏览器、上一主版本、常见平板核心流程、关键异常与主要页面
P2 长尾组合低占比旧版本、特殊分辨率冒烟、静态页面与历史风险点
不支持组合低于产品声明的系统或浏览器给出明确升级提示

矩阵从哪里来

  • 生产环境的浏览器、系统、设备和分辨率统计。
  • 目标用户画像与产品公开支持范围。
  • 历史兼容性缺陷和客服反馈。
  • 本次改动涉及的新 CSS、浏览器 API、权限或第三方 SDK。

控制组合爆炸

浏览器、版本、系统、设备相乘后会出现几百个组合。先覆盖 P0 核心组合,再按两两组合、历史缺陷和变更风险补充,不机械做全排列。

🌐

桌面浏览器兼容性

Chrome / Edge / Safari / Firefox

浏览器测试清单

模块要验证什么常见问题
页面加载资源、字体、图标和脚本均成功白屏、404、CORS、模块加载失败
表单控件输入、选择、日期、上传可用默认样式、键盘遮挡、格式差异
CSS 布局Grid、Flex、sticky、动画正常错位、裁切、层级、滚动异常
浏览器 API下载、剪贴板、摄像头按预期工作拒绝权限时有提示和降级
历史导航刷新、前进、后退状态正确重复提交、数据丢失、空白页

特别容易漏

  • Safari 的日期输入、下载、自动播放和部分 CSS 行为。
  • Firefox 的字体、滚动条和表单默认样式。
  • 隐私模式、禁用第三方 Cookie 和内容拦截器。
  • 微信、企业微信内置浏览器的授权、分享与返回行为。
📱

移动端与设备兼容性

真机优先验证高风险交互

移动端重点场景

场景测试动作通过标准
触控点击、长按、滑动热区足够,不误触,不依赖 hover
软键盘输入框聚焦与收起字段不被遮挡,按钮仍可操作
横竖屏旋转设备和分屏内容重排,输入状态不丢失
安全区域刘海屏、圆角屏、手势条导航和按钮不进入不可操作区域
系统中断来电、锁屏、切后台会话、草稿和上传状态符合预期
系统能力相机、相册、定位、通知授权与拒绝都有清晰路径

模拟器和真机怎么分工

  • 模拟器快速覆盖系统版本、基础布局和常规流程。
  • 真机验证相机、定位、通知、支付、弱网、性能和系统中断。
  • P0 链路至少在一台主流 iPhone 和一台主流 Android 真机完成。
📐

分辨率、缩放与响应式

看得见,更要点得到

建议覆盖的宽度区间

宽度或缩放代表环境重点验证
320–374px小屏手机标题、表格、按钮不横向溢出
375–430px主流手机单列层级清晰,触控区域合理
768–1024px平板与小窗口侧栏、弹窗和列数切换正确
1280–1440px主流桌面页面密度、行宽与主操作区合理
1920px 以上大屏与超宽屏内容不过度拉伸,留白受控
125%–200%系统或浏览器缩放文字可读,操作不被裁切

视觉检查不只看截图

  • 正文、表格、弹窗和提示不被裁切或遮挡。
  • 按钮、输入框和菜单在当前宽度下可以操作。
  • 固定定位元素不会挡住核心操作。
  • 键盘导航和 200% 缩放下仍能完成主流程。
📶

网络兼容与恢复能力

网络差是用户日常

网络场景

环境模拟方式预期表现
慢速网络高延迟、低带宽加载态清楚,不永久停留
请求超时接口超过阈值可重试,错误可理解,不无限转圈
瞬时断网提交时断开结果可确认,不重复下单或扣款
Wi-Fi/蜂窝切换请求中切网连接恢复,幂等和会话正确
资源部分失败图片或非核心资源失败核心功能可用,有合理占位

交易类页面必须确认

  • 提交按钮防重复点击,服务端接口具备幂等性。
  • 超时后用户能确认最终结果,而不是盲目再提交。
  • 重试不会重复扣款、发券、创建订单或发送消息。
🌏

语言、地区与数据兼容

换一组数据,页面可能就坏了

文本与字符

  • 中英文、长单词、Emoji、特殊符号和组合字符。
  • 姓名、地址、搜索和导出过程不乱码。
  • 长标题能换行或截断,并可查看完整内容。

地区规则

  • 时区切换后日期边界、定时任务和记录时间正确。
  • 货币符号、小数位、千分位和负数格式正确。
  • 不同地区的日期、手机号和地址格式可输入。

数据兼容

  • 旧数据缺少新字段时页面不会崩溃。
  • null、空数组、超长列表和历史枚举值有合理展示。
  • 导入导出保持编码、换行和字段顺序兼容。
⬆️

版本升级与向后兼容

新版本不能把老用户留在原地

Web 与 API

  • 前端新版本访问旧接口有明确兼容窗口。
  • 接口新增字段不破坏旧客户端,删除或改名有版本策略。
  • 缓存旧结构、旧链接和旧书签仍能安全处理。

App 升级

  • 覆盖升级安装、跨版本升级、覆盖安装和首次启动迁移。
  • 本地草稿、登录状态、下载文件和用户设置按约定保留。
  • 强制升级、可选升级、升级失败都有清晰路径。
🧰

工具与执行流程

自动化铺面,真机验证关键风险

常用工具

  • Chrome DevTools:设备模式、网络限速、媒体特性。
  • Playwright:Chromium、Firefox、WebKit 跨浏览器回归。
  • BrowserStack 或 Sauce Labs:云端真实浏览器与设备。
  • Android Emulator、iOS Simulator 与关键真机。

推荐流程

  1. 基于数据和风险确定支持范围与 P0 组合。
  2. 自动化跑核心链路和响应式断点。
  3. 真机检查触控、键盘、权限、切网和中断。
  4. 缺陷记录完整环境并在同组合复现。
  5. 修复后回归原组合,再抽查相邻组合。

兼容性测试检查清单

测试前 / 测试中 / 发布前

测试前

  • 支持范围已确认
  • 矩阵有数据依据
  • P0 组合已标记
  • 真机和账号已准备

测试中

  • 核心流程跨浏览器通过
  • 主流手机真机验证
  • 弱网与切网已覆盖
  • 缺陷记录完整环境

发布前

  • P0/P1 问题已关闭
  • 不支持环境有升级提示
  • 升级与旧数据已验证
  • 自动化结果可追溯