兼容性测试是根据用户数据而不是盲目测试所有组合。因为市场上设备、浏览器、系统版本组合几乎是无限的,全量测试不现实,成本也很高。
第一步:用数据确定测试优先级
在动手之前,先要搞清楚用户到底在用哪些设备。可以从以下渠道获取数据:
网站或App的数据分析平台,比如 Google Analytics(谷歌分析)、友盟、神策等;
应用商店后台(如 Apple App Store Connect、华为应用市场、小米开放平台)提供的设备型号和系统版本分布;
如果是企业内部系统,可以询问运维或产品团队,是不是有用户环境调研报告。
拿到数据后,按用户占比从高到低排序,将测试环境分成三个等级:
A级(全面测试):包括用户量最大的前几个组合,比如 Chrome 最新版、iOS 最新版、主流 Android 版本。这些环境必须保证所有功能完美运行,界面无任何瑕疵。
B级(基础测试):包括有一定用户量但正在下降的老旧版本,比如 Android 8、iOS 13 等。在这些环境上,保证重要业务流程(登录、支付、提交表单等)可用,允许出现一些不影响使用的样式偏差或非重点功能降级。
C级(不专门测试):用户占比极低的环境,比如某些小众浏览器或非常旧的系统版本。对于这些,我们依靠代码方面的“优雅降级”或“渐进增强”方法保证基本可用,但不投入人力专门测试。
第二步:具体包括哪些浏览器和设备
根据上述分级,具体的测试清单建议如下。
浏览器方面
先要明白,浏览器测试不光看品牌,更要看背后的渲染引擎。同一种引擎的浏览器,很多兼容问题会是共通的。
A级必测的浏览器:
Google Chrome:包括当前最新版本以及往前推的2~3个主要版本(因为Chrome更新很快)。
Microsoft Edge:包括当前最新版本即可。
Mozilla Firefox:同样包括最新版及前2~3个版本。
Apple Safari:包括最新版及前2~3个版本(注意Safari仅限macOS和iOS,且更新节奏和系统绑定)。
B级视情况测试的浏览器:
Opera:包括最新版即可(它和Chrome同用Blink内核,问题较少)。
国内主流浏览器(如360安全浏览器、QQ浏览器、搜狗高速浏览器等):重点测试它们的“兼容方式”(一般调用IE内核),因为很多国内用户习惯使用这种方式访问政务、银行等网站。
Internet Explorer 11:除非您的用户群体确定包含政府、教育或传统企业,否则不建议再花精力,因为微软早已停止支持。
C级不测试的:其他小众浏览器(如UC浏览器PC版、Yandex等),依赖代码自身容错,不做专项测试。
设备和操作系统
品牌方面:包括苹果、华为、小米、OPPO、vivo、三星这六大主流品牌,同时根据用户数据,如果某个区域有特定品牌(如传音),也要纳入。
价位方面:不能只测旗舰机,还要包括中端机和入门款(比如千元机),因为低端机性能较差,容易出现卡顿、内存不足导致的崩溃,这些在高端机上发现不了。
系统版本:
Android:包括近4年的主流大版本,比如 Android 10、11、12、13、14,每个大版本下再挑几个小版本(如安全补丁级别)进行证实。
iOS:包括近3年的主流版本,比如 iOS 14、15、16、17。
特殊形态设备:折叠屏(如华为Mate X系列、三星Fold)、平板(iPad、华为MatePad)也需要单独测试,因为它们的屏幕尺寸、交互方式(分屏、悬停)和普通手机不同。
设备和操作系统(PC端)
操作系统:Windows 10 和 Windows 11 必须测,macOS 的最新两个大版本(如 Ventura 和 Sonoma)也要包括。
屏幕分辨率:主流的是 1920×1080,但 1366×768 在部分老旧笔记本上仍常见,另外 2K、4K 显示器下要证实缩放比例(DPI)是不是导致界面错乱。
第三步:选择合适的测试方法和工具
测试方法上,可以结合自动化和手动测试:
自动化测试适用于大量的回归证实,可以使用 Playwright、Selenium、Cypress 等工具,在多种浏览器上自动跑重要用例。但自动化很难发现视觉布局和复杂交互问题。
手动探索性测试仍然不可或缺,尤其对于UI细节(按钮对齐、文字换行)、动画效果、以及涉及硬件调用(摄像头、GPS、指纹)的功能,必须人工在真实设备上操作才能察觉异常。
测试环境有几种选择:
自建真机实验室:维护一小批A级设备(比如各品牌最新旗舰+一两款中端机),测试最准确,但成本高,设备更新快。
云真机平台:使用 BrowserStack、Sauce Labs、Testin、阿里云移动测试等,按需租用海量真实设备,无需购买,适合分布式团队和临时需求。
模拟器/虚拟机:用于开发自测和快速冒烟,但性能、传感器、网络情况和真机差别较大,不能作为最后验收根据。
第四步:测试的四个方面
兼容性测试需要从以下四个方面全面测试:
运行环境兼容:在不同操作系统、浏览器版本、网络环境(WiFi、4G/5G、弱网)下,页面能否正常加载,接口请求是不是超时,App是不是能安装和启动。
数据兼容:检查数据迁移(比如版本升级后的本地数据库)、导入导出(如CSV、Excel)、跨系统数据交换(如从H5页面复制内容到原生App)时,是不是出现乱码、字段丢失或格式错误。
交互操作兼容:证实触摸手势(滑动、多点触控)、鼠标悬停、右键菜单、键盘快捷键(Tab切换焦点、Enter提交)等不同操作方式在对应设备上是不是响应正确。
硬件兼容:对于App,要测试调用摄像头拍照、扫码、GPS定位、指纹/人脸识别、蓝牙、NFC等硬件时,不同机型上的权限申请流程、性能表现和异常处理是不是正常。
建议兼容性测试是一个动态过程,建议每月或每个季度重新拉取一次用户数据,调整A/B/C三级名单,剔除已经过时的环境,增加新出现的机型或浏览器。