前几天在我创建的技术交流群,几位同学聊起了兼容性测试相关的话题。有测试的方法技巧,有如何选择测试时的切入点,也有在质量和投入成本之间如何做平衡的思考。
翻了翻写过的技术文章,大多集中在后端、中间件以及稳定性测试方面,兼容性测试也有做过专项。这篇文章,我想结合自己对兼容性测试的理解,以及做技术专项的一些经验,谈谈我的一些看法。
如何理解兼容性测试
兼容性测试,最初是为了检查软件在不同的硬件、操作系统以及软件平台上是否可以正常运行,即软件的可移植性和正确性检查。操作系统如 Windows 和 Mac,各种浏览器兼容如Chrome、Firefox、IE。
近几年随着移动互联网的全面发展,我们提起兼容性测试,更多指的是软件/APP在不同移动端设备、不同操作系统上的兼容,比如字体、颜色、分辨率、屏幕尺寸、页面布局等。
移动端设备,即我们常见的各品牌手机、平板;操作系统,现在主流的就是 Android 和 IOS。当然,为了解决移动端跨平台的兼容问题,H5从04年被提出之后,在14年之后开始成为了事实上的标准。近几年,随着小程序生态的蓬勃发展,关于小程序的兼容,也越来越被重视了起来。
兼容性测试的测试点
如上面所说,兼容性要测试的点,主要集中在设备类型、操作系统、网络环境、页面布局和分辨率五个方面。
- 设备类型:设备主要分手机和平板,在实际测试中,根据各大品牌不同系列的市占率,通过品牌+系列的组合来进行采购机型。
- 操作系统:目前移动端设备的操作系统,主要是 Android 和 IOS。操作系统的兼容方面,IOS的的系统版本兼容性做的相对更好,向下兼容会更好一些,一般用模拟器测试即可。而Android由于各大厂商各自的定制化开发,有各种自己的特性,因此在操作系统的兼容性测试时,要考虑各种机型、系列、版本的兼容,这一点Android模拟器做的就比较差。当然,如果考虑到买真机的成本比较高,可以考虑各大云测平台提供的服务,比如百度MTC、阿里MQC、腾讯优测等平台。
- 网络环境:网络环境主要的测试点就是移动网络如3G、4G、5G和Wi-Fi、弱网等情况下,软件APP的运行情况。
- 页面布局:页面布局主要的验证点在于按钮、样式、文字展示、Tab页面切换和图片等方面。特别是游戏和跨境电商等类型的业务,涉及到多语言,这方面是最容易踩坑的。
- 屏幕分辨率:现在主流的移动端设备,分辨率都不会太差。测试时候主要关注各种设备机型的屏幕分辨率、屏幕尺寸和UI 适配情况。iOS可通过模拟器进行,Android往往仍需要真机测试,如果对手机屏幕尺寸没有过高的适配要求,则可以用模拟器来进行测试。
兼容性测试的注意事项
- 如果对兼容性有较高的要求,需要投入大量的人力和硬件成本来做优化,且需要持续的投入。
- H5 和 Native各有优劣,H5的优势在于跨平台的开发便捷性和扩展性,Native在于原生和设备适配性更好,更稳定。
- 在平衡成本和效果之后,相对性价比较高的兼容性测试方案,是选取主流机型+操作系统进行测试验证,其他的用模拟器/云测平台跑自动化来解决。
- 为了解决软件APP的兼容性问题,良好的研发设计规范是必须的。比如统一字体/颜色做自适应,缺省图崩溃图提示等进行统一的规范设计。