APP 专项测试之兼容性测试
APP 专项测试之兼容性测试
随着移动应用的普及,用户群体的多样化以及终端设备的碎片化,兼容性测试已成为保障应用质量的关键环节。本文将详细介绍APP兼容性测试的主要维度、测试策略以及具体实施方法,帮助测试人员在有限的资源下高效完成兼容性测试。
APP兼容性测试认识
随着APP应用范围越来越广,用户群体越来越大,终端设备的型号也越来越多,移动终端碎片化加剧,使得APP兼容性测试成为测试质量保障必须要考虑的环节。
APP兼容性测试通常会考虑:操作系统、厂家ROM、屏幕分辨率、网络等方面。但如果要在有限的测试人力物力和时间资源下覆盖所有兼容性测试维度是困难的,因此,通常采用Top X原则,即Top排名靠前的。
如何获取Top X数据,可采用埋点方式尽量获取自己软件APP的数据,这样更精准。若无产品自身的数据,则可参考业界汇总的Top排名数据。
兼容性测试维度分析
2-1 操作系统版本
操作系统版本主要考虑Android和iOS系统,其中Android系统具体的版本分布及市场占有率如下表示(文中数据来源于腾讯大数据研究中心):
其中iOS系统具体的版本分布及市场占有率如下表示:
从以上数据得出,Android 4.x、5.x、6.x版本市场占比不足7%,可以同产品开发商议,如果目前软件开发不支持旧版本的兼容,测试可选择放弃旧版本的兼容测试。
针对Android,主要考虑7.x,8.x,9.x,10.x,针对iOS,主要考虑12.x、13.x、14.x。
针对每个操作系统大版本下的小版本,由于工作量太大,除非有明确对于app的影响,一般不需考虑逐个覆盖小版本。
2-2 不同厂商
Android和iOS都有不同的手机型号,苹果目前已经更新到iPhone 12 Pro。
对于Android的型号,因为Android系统源码是开源的,不同Android手机厂商都会基于Android原生系统进行定制修改,然后对外发布。
发布的系统层出不穷,会加剧Android碎片化问题,导致安卓设备之间的差异越来越大,一个安卓APP应用在不同的设备上可能呈现出完全不同的行为,例如调用手机相机会在某些手机上出现不兼容。
对于不同Android厂商ROM的兼容,很多测试团队不具备大量的机型设备,通常的做法是,兼容一些主流厂家的型号。
Android平台的品牌及型号排名(数据来源于百度统计流量研究院):
iOS平台的型号排名(数据来源于百度统计流量研究院):
2-3 屏幕分辨率
在不同的分辨率、尺寸的设备上,如果代码没有做适配处理,就会出现错位、拉伸、样式异常等问题。
截至目前,Android的主流分辨率为:19201080,1280720,2340*1080等,主流尺寸是5.x、6.x英寸。
iOS的主流分辨率为:22081242, 1334750, 2436*1125等,主流尺寸为5.5~6.5英寸。
2-4 网络类型
保证不同网络环境的覆盖,目前,主要考虑不同运营商的WiFi、2G、3G、4G下的功能情况。
如何进行兼容性测试
兼容性测试本质是功能测试,针对以上兼容性测试维度,不可能逐个测试用例在每个机型每个系统版本每种分辨率等情况下进行全部覆盖,其测试工作量过于庞大。
因此,除了用户亿级的APP例如微信、抖音,会搭建测试平台进行全面机型的覆盖外,其他的,对于兼容性测试维度覆盖,一般优先考虑主流机型设备,并同步考虑该机型是否有覆盖到不同厂家、系统版本、分辨率、尺寸等;若无覆盖完全,则依据品牌排名靠前的设备进行补充,并与操作系统、分辨率、尺寸进行交叉组合。
确认好需要覆盖的机型设备后,接下来如果在每款设备上逐一执行全量的功能测试用例,较耗时耗力,且测试效率不高。
考虑到既要保证质量也要兼顾测试效率,通常做法是:
另外,对于网络类型的兼容测试,可任选一款真机在WiFi、2G、3G、4G等环境下,测试APP主要功能对于不同网络带宽、延迟和稳定性的处理。特别是与网络强关联的功能,例如视频直播、文件传输等,需重点验证。
总结
当通过人工或自动手段完成APP兼容性测试,并产品上线后,会收到用户反馈的兼容性问题。依据反馈问题,需补充该兼容性测试场景的用例,用于后续版本测试。
另外,对于主流手机更新及厂商新发布版本,我们也需要时刻保持关注,并考虑是否需要进行APP兼容适配测试。
总而言之,一款APP的质量保障,兼容性测试问题必须重视,否则会导致用户流失,影响到产品的长期发展。