APP兼容性测试如何测试?
随着 APP 应用范围越来越广,用户群体越来越大,终端设备的型号也越来越多,移动终端碎片化加剧,使得 APP兼容性测试
成为测试质量保障必须要考虑的环节。
APP兼容性的测试主要包含系统兼容、产商ROM 兼容性、屏幕分辨率兼容、网络兼容、其他兼容性几个大类,下面对测试方法逐一进行详细的说明。
一 APP兼容性类型
1系统兼容
app系统兼容涉及Android和IOS系统,其中Android系统又分了不同的系统版本,IOS又分不同的系统版本。不同的系统、不同的系统版本都有不同的特征,不同的API,意味着都有可能产生各种各样的兼容问题,所以需要进行兼容覆盖。
Android系统版本分布及市场占有率如下
针对 Android,主要考虑 7.x,8.x,9.x,10.x。
IOS 系统版本分布及市场占有率如下:
针对 IOS ,主要考虑 12.x、13.x、14.x。
2 厂商ROM 兼容性
Android和IOS 都有不同的手机设备,相比而言, Android 系统源码是开放的,只要遵从相应的协议,就可以对源码进行修改,国内厂商就把基于 Android 源码改造成自己对外发布的系统,比如我们熟悉的小米手机 Miui 系统、Oppo 手机 ColorOS 系统等,由于每个厂商都修改过 Android 原生系统源码,这里面就会引发一个问题,那就是著名的Android 碎片化问题,本质就是不同 Android 系统的应用兼容性不同,哪怕是搭载完全相同的硬件,不同品牌的手机在运行速度、软件兼容上都会有区别的。
Android 平台的品牌及型号排名:
IOS 平台的型号排名:
3屏幕分辨率兼容
继全面屏手机推出后,目前手机的分辨率真的是五花八门,刘海屏、水滴屏、挖孔屏,还有折叠屏等等。从分辨率尺寸来说也有数十种之多,不同分辨率的设备上呈现出来的效果也不尽相同,如果没有进行适配,可能就会给用户带来很糟糕的体验。
Android的主流分辨率为:1080P继续占据主流;
Android主流尺寸是 6.x 英寸;
iOS 的主流分辨率为:828*1792, 1125*2436, 1242*2208 等;
iOS主流尺寸为 5.5~6.5 英寸。
4网络类型
保证各种网络环境能够覆盖,包括WiFi、3大运营商的2G和3G、4G网络、5G网络,有鉴权的wifi和无鉴权的wifi。
按运营商分:电信、移动、联通
按网络模式分:2G、3G、4G、5G、WiFi
按接入点分:wap、net
一般APP网络的兼容主要是针对IPV6网络兼容、弱网兼容、wap和net接入、不同地域(地理位置)的运营网络、有鉴权的wifi和无鉴权的wifi、代理类wifi。
5其它兼容
数据兼容性(不同版本间的数据兼容);
蓝牙设备兼容性测试 (如果是一款使用蓝牙的应用);
存储卡兼容性测试(比如文件管理器);
第三方软件兼容冲突(比如输入法冲突)。
二APP兼容性如何开展?
1需求阶段
需求分析阶段,测试童鞋需要和开发、产品、设计师根据需求的场景、历史运营用户数据、市场占有率数据讨论及确定好当前版本需求兼容的系统、系统版本、厂商、屏幕分辨率、网络等的适配方案。
2测试设计阶段
根据当前市场和线上运营用户的各系统版本、厂商的使用率,结合移动设备分辨率的特性,得出APP的兼容测试矩阵,下图仅供参考。
3测试执行阶段
①测试过程中根据兼容测试矩阵在不同测试轮次中切换不同的测试机进行测试并记录。
②有条件的同学可以搭建STF平台进行组内测试机设备管理平台,所有兼容测试工作可以在PC端远程控制真机完成,省时又省力,还能做到测试组内手机共享使用,减少沟通成本。
③利用业内已有的云测平台进行兼容测试:
目前基本上大的云测平台都有推出首次免费或者日首次免费的随机安装启动标准兼容服务,免费的一般只能做50~100款机型。如果要做全面的机型覆盖和深度兼容则需要付费了,而且目前各大云测平台的收费较高,如果要全面覆盖所有机型的话,是笔不小的开销。
如果测试的app属于受众广泛,运营效果不错,月活过亿的,用户千万、亿级用户的比如微信,qq,支付宝类型的,那么就很有必要投入金钱或者组织人力搭建云测平台进行全面的机型覆盖。
如果测试的app受众用户只有不到万,日活月活很低的产品比如中小银行app、房产交易app,个人认为没有必要投入大量的金钱去兼容全部的机型。但是可以利用云测平台去复现线上用户个别未覆盖机型所遇到的bug,拿到日志和解决方案,这样投入的成本相对小且有针对性。
如果测试的app受众介于以上两者特征之间的,而且效益也不错,月活日活也能达到上万的例如一些理财产品APP、证券类app、电商app,则可以对目前app当前市场各版本和品牌的使用率,获取当前APP用户覆盖的top n款手机,在云测平台进行top n款手机的覆盖测试。
实际上,目前很多的公司,已经提供了兼容性云测服务,例如Testin、TestBird,除此,大型公司也对外推出自己的测试工具,比如谷歌、腾讯WeTest、百度MTC、阿里MQC等等,其实不乏一些付费项目。
4线上阶段
①当通过人工或自动手段完成 APP 兼容性测试,并产品上线后,会收到用户反馈的兼容性问题。依据反馈问题,需补充该兼容性测试场景的用例,用于后续版本测试。
②APP上线发布市场后,可以通过crash平台、bugly等监控平台收集因兼容问题导致的闪退和无法安装、运行的错误信息传到后台服务器端,然后开发根据错误日志进行定位,从而找出问题原因并解决。
③测试及开发童鞋需要对主流手机及ROM更新保持较高的质量敏感性,时刻关注厂商升级资讯和特性,一旦有更新,需要测试线上APP兼容适配情况,快速应变,及时适配到主流机型和ROM。