先建风险分级设备矩阵,再分端设计测试方面,用云真机补包括、自动化补重复,接入CI/CD形成常态。
一、建设兼容性矩阵
兼容性测试的不是设备越多越好,而是每台设备都有任务。设备矩阵要回答四个问题:哪些设备代表用户;哪些系统、品牌、硬件组合最容易出问题;哪些业务链路失败会阻断登录、支付或转化;哪些低占比设备历史故障多或业务影响大。
设备来源可以从埋点活跃设备占比、崩溃平台、客服工单中导出候选池,再按风险分层。分三档:
P0 重要层:高活跃用户加上重点收入链路。每次发版必测,完整回归流程。
P1 主流层:主流品牌、系统版本和性能组合。做版本级兼容性测试和高频功能证实。
P2 风险层:特殊分辨率、旧系统、低端机、折叠屏、历史问题机型。按变更范围定向补测。
选设备时用正交组合控制规模:同一系统版本下包括不同品牌定制系统;同一品牌下包括新旧系统和高中低性能档位;同一性能档位下包括不同分辨率和宽高比。避免选入多台品牌、系统、分辨率、性能档位高度重复的设备。最低支持系统、最新系统、低内存、特殊屏幕形态、厂商深度定制系统要优先重视;如果某组合失败会阻断支付或认证,即使占比不高也要提升优先级。
二、PC端测试浏览器和分辨率
PC 兼容测试的碎片化主要来自浏览器内核差别和窗口尺寸任意性。需要包括Chrome、Firefox、Safari、Edge等主流浏览器的当前版本和近期旧版本,关注Blink、WebKit、Gecko等内核渲染差别对CSS布局和JavaScript行为的影响。响应式布局要在不同宽度和DPR下测试断点、溢出以及鼠标/触控交互差别。
如果产品面向政企或金融场景,旧浏览器可能需要纳入矩阵;如果是普通消费级产品,应以实际流量数据为准,不必为测试而测试。
三、移动端需要真机测试,模拟器只做早期扫描
Android碎片化远高于iOS:品牌定制系统、芯片平台、内存档位、屏幕形态都需要在矩阵中体现。iOS相对收敛,包括近两到三个大版本和主流iPhone型号即可,但仍要注意新系统版本带来的权限、通知和后台行为变更。
原则是:模拟器适合开发期快速布局扫描和基础功能证实,但无法捕捉厂商系统差别、真实触控手感、传感器行为和性能表现,主要机型和疑难问题必须回到真机测试。
移动端专项测试方面包括:
安装、卸载、升级:包括最低支持系统到最新系统的升级途径。
权限和系统交互:Android权限弹窗、iOS 沙盒机制、通知权限、后台限制。
中断和状态恢复:来电、多任务切换、横竖屏旋转、折叠展开、分屏。
网络切换:Wi-Fi、4G、5G 切换,弱网和断网重连。
硬件依赖:相机、定位、蓝牙、生物识别等和主要功能直接相关的传感器。
跨端一致性:同一业务链路在不同端的交互思路和状态保持是不是一致,如支付返回途径、Web和App之间的登录态延续。
四、工具链:
浏览器兼容方面,如果团队需要现代 Web 应用的跨浏览器包括,Playwright在易用性和执行速度上一般更有优势;如果矩阵中包含IE11或极旧版浏览器,Selenium更现实。两者都可以结合BrowserStack、Sauce Labs、LambdaTest等云平台,在大量浏览器和操作系统组合上并行执行。
移动端跨平台可以用Appium作为统一入口,底层分别对接UiAutomator2和XCUITest,支持原生、混合和移动Web应用。如果需要对某个平台做更深层证实,可以辅以 Espresso 或 XCTest。
云真机国内可考虑腾讯优测、阿里EMAS;国际平台BrowserStack的优势是浏览器和操作系统组合广度。选型时不必追求最大设备池,而应让云平台设备类型和自己的矩阵需求对齐。
五、把兼容性测试接入CI/CD
兼容性测试不要只在发版前突击。建议分层嵌入流水线:
每次代码提交或PR:跑冒烟级兼容性检查,包括PC页面在目的浏览器上的加载和基础交互、移动端安装启动和重要链路,控制在分钟级。
夜间定时任务:在云真机或云浏览器上跑更广的兼容矩阵,包括P0和P1设备。
发版门禁:主要流程兼容性通过率达到设定阈值才允许发布;P0 设备上出现阻断性兼容缺陷时直接阻断发布。
报告统一汇总到钉钉、企业微信或测试管理工具,缺陷按浏览器兼容、分辨率异常、系统版本异常等标签分类,便于按矩阵方面做趋势分析。
先用最近30天真实用户数据跑出一版P0/P1/P2设备矩阵,把P0设备接入云真机做一次完整回归,同时用Appium或Playwright把链路的兼容性用例自动化并挂到CI上。等循环稳定后,再逐步扩展P1和P2的包括深度。矩阵的作用不是一次建得完美,而是每一台设备都有确定的为什么测和测到什么程度。