点击上方头像关注我,每周上午 09:00 准时推送,每月不定期赠送技术书籍,小窗口回复“资源”、“测试工具包”领取测试资源。
本文 3012 字,阅读约需 8 分钟
随着 APP 应用范围越来越广,用户群体越来越大,终端设备的型号也越来越多,移动终端碎片化加剧,使得 APP兼容性测试成为测试质量保障必须要考虑的环节。
APP 兼容性的测试主要包含系统兼容、产商 ROM 兼容性、屏幕分辨率兼容、网络兼容、其他兼容性几个大类,下面对测试方法逐一进行详细的说明。
一
APP 兼容性类型
系统兼容app系统兼容涉及 Android 和 IOS 系统,其中 Android 系统又分了不同的系统版本,IOS 又分不同的系统版本。不同的系统、不同的系统版本都有不同的特征,不同的 API,意味着都有可能产生各种各样的兼容问题,所以需要进行兼容覆盖。
Android 系统版本分布及市场占有率如下:
针对 Android,主要考虑 7.x,8.x,9.x,10.x。
IOS 系统版本分布及市场占有率如下:
针对 IOS ,主要考虑 12.x、13.x、14.x。
厂商 ROM 兼容性Android 和 IOS 都有不同的手机设备,相比而言, Android 系统源码是开放的,只要遵从相应的协议,就可以对源码进行修改,国内厂商就把基于 Android 源码改造成自己对外发布的系统,比如我们熟悉的小米手机 Miui 系统、Oppo 手机 ColorOS 系统等,由于每个厂商都修改过 Android 原生系统源码,这里面就会引发一个问题,那就是著名的 Android 碎片化问题,本质就是不同 Android 系统的应用兼容性不同,哪怕是搭载完全相同的硬件,不同品牌的手机在运行速度、软件兼容上都会有区别的。
Android 平台的品牌及型号排名:
IOS 平台的型号排名:
屏幕分辨率兼容继全面屏手机推出后,目前手机的分辨率真的是五花八门,刘海屏、水滴屏、挖孔屏,还有折叠屏等等。从分辨率尺寸来说也有数十种之多,不同分辨率的设备上呈现出来的效果也不尽相同,如果没有进行适配,可能就会给用户带来很糟糕的体验。
Android 的主流分辨率为:1080P 继续占据主流;
Android 主流尺寸是 6.x 英寸;
iOS 的主流分辨率为:828*1792, 1125*2436, 1242*2208 等;
iOS 主流尺寸为 5.5~6.5 英寸。
网络类型保证各种网络环境能够覆盖,包括 WiFi、3 大运营商的 2G 和 3G、4G 网络、5G 网络,有鉴权的 wifi 和无鉴权的 wifi。
按运营商分:电信、移动、联通
按网络模式分:2G、3G、4G、5G、WiFi
按接入点分:wap、net
一般 APP 网络的兼容主要是针对 IPV6 网络兼容、弱网兼容、wap 和 net 接入、不同地域(地理位置)的运营网络、有鉴权的 wifi 和无鉴权的 wifi、代理类 wifi。
其它兼容数据兼容性(不同版本间的数据兼容);
蓝牙设备兼容性测试 (如果是一款使用蓝牙的应用);
存储卡兼容性测试(比如文件管理器);
第三方软件兼容冲突(比如输入法冲突)。
二
APP 兼容性如何开展?
需求阶段需求分析阶段,测试童鞋需要和开发、产品、设计师根据需求的场景、历史运营用户数据、市场占有率数据讨论及确定好当前版本需求兼容的系统、系统版本、厂商、屏幕分辨率、网络等的适配方案。
测试设计阶段根据当前市场和线上运营用户的各系统版本、厂商的使用率,结合移动设备分辨率的特性,得出 APP 的兼容测试矩阵,下图仅供参考。
测试执行阶段①测试过程中根据兼容测试矩阵在不同测试轮次中切换不同的测试机进行测试并记录。
②有条件的同学可以搭建 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 等等,其实不乏一些付费项目。
线上阶段①当通过人工或自动手段完成 APP 兼容性测试,并产品上线后,会收到用户反馈的兼容性问题。依据反馈问题,需补充该兼容性测试场景的用例,用于后续版本测试。
②APP 上线发布市场后,可以通过 crash 平台、bugly 等监控平台收集因兼容问题导致的闪退和无法安装、运行的错误信息传到后台服务器端,然后开发根据错误日志进行定位,从而找出问题原因并解决。
③测试及开发童鞋需要对主流手机及 ROM 更新保持较高的质量敏感性,时刻关注厂商升级资讯和特性,一旦有更新,需要测试线上 APP 兼容适配情况,快速应变,及时适配到主流机型和 ROM。
更多系列文章
敬请期待
我是 CoCo,计算机科学与技术专业,深漂大厂互联网民工(女),坐标深圳。5 年工作经验,3 年持续输出技术文。ITester 软件测试小栈(ID:ITestingA)号主,专注于软件测试技术和宝藏干货分享,每周准时更新原创技术文章,每月不定期赠送技术书籍,愿我们在更高处相逢。喜欢记得星标?我,每周及时获得最新推送,第三方转载请注明出处。