众所周知,Android系统的碎片化非常严重,目前市面上的不同厂商、不同品牌的手机差异化都非常大,而且各大手机厂商百家争鸣,每年都要推出数款乃至数十款手机。在这个情况下,怎么保证我们的APP得以正常运行,拥有良好的体验,成为开发者极为头痛的事情!!!
UC研发效能组长期为UC业务提供自动化测试报障,这个问题自然也是我们持续在研究的,我们岩鼠平台也提供了方便的APP兼容性测试,于是我拉上研发小哥哥决定制作系列干货文章,为大家揭秘【APP兼容性该怎么测】。
兼容性面临的问题
不同的系统版本
Android的版本非常多,并且还在持续演进,目前最新是Android Q正式版本,而低版本如Android 4.x版本也还是有一定份额,所以大部分应用也是需要兼容Android 4.0及以上,但是Android系统的向下兼容性并不是特别好,所以开发者需要使用SDK进行向下兼容来解决不同系统版本的兼容性问题。
Android各个版本市场份额(2019.05)
2.各品牌的ROM兼容性
Android因为其开源的特性,国内的厂商都会定制自己的ROM,如小米的MIUI、OPPO的ColorOS、VIVO的FuntouchOS、华为的EMUI、魅族的Flyme、一加的H2OS等等,这些ROM和Android原生ROM差异已经越来越大,同时具有一些自己的特性,给移动开发者带来非常大的困扰。
3.分辨率问题
继全面屏手机推出后,目前手机的分辨率真的是五环八门,刘海屏、水滴屏、挖孔屏,还有折叠屏等等。从分辨率尺寸来说也有数十种之多,不同分辨率的设备上呈现出来的效果也不尽相同,如果没有进行适配,可能就会给用户带来很糟糕的体验。
4.硬件不同
硬件架构主要是CPU了,目前主要是高通、海思、联发科三个厂商,但是具体的型号也有数十种之多。
高通芯片系列:https://www.jianshu.com/p/f0a440ad0185
MTK芯片系列:https://zhuanlan.zhihu.com/p/39305123
海思芯片:麒麟910、麒麟920、麒麟930、麒麟950、麒麟960、麒麟970、麒麟980、麒麟990
综上,要做一款质量好,体验优的APP,必然要面对很大的挑战,除了以上提到的技术上挑战之外,在落地测试验证的时候,还会遇到更艰难的问题——覆盖热门机型的成本。
我们要保证大部分的用户体验,一般测试热门的TOP100~TOP300手机,如果直接采购,这个手机成本就超过百万了,大部分团队很难把所有的TOP机型凑齐。
UC的兼容性测试怎么做
我们在实际开发中,往往不会一个一个机型版本去测试适配,更多还是用主流的机型进行开发验证。那么就需要在测试环节、发布前验证环节加入自动化兼容性测试的把关,通过自动化测试快速的进行问题检测。
自动化兼容性测试要求在手机上自动化执行【安装-启动-测试-卸载】这个完整的流程,并且要求测试的准确性和效率。
本文先概要介绍下这几个步骤主要做什么,以及会面临的问题,后续文章将继续详细介绍各个难题如何突破。
1.安装
兼容性第一步是安装,由于不同厂商以及应用商店都有准入的检查,所以安装只能成功不能失败。那么安装过程都有哪些问题呢?
- CPU ABI架构支持,现在所有的APK都要求支持64位架构了,并且Google也从8月份开始要求上架Google Play必须支持64位(https://developer.android.com/distribute/best-practices/develop/64-bit);
- 证书检查,签名文件错误或签名失败都会导致无法正常安装;
- 另外还有存储空间不足等等问题
2.启动
启动过程中,需要检查启动的时间,因为启动速度是用户的第一体感,如果启动非常慢的话,很难给用户带来好的感观。启动一般容易出现以下问题:
- 无法启动,主页面都没办法启动
- 启动崩溃,启动后直接就出现崩溃
- 启动后的活动页等无法跳过
- 启动速度非常慢
3.登录
登录问题其实是所有APP在自动化测试时都要面临的问题,因为基本上都没有标准的控件,并且都有自身产品的独特设计,所以在登录时非常容易出现问题。
- 自身账号无法登录
- 调用第三方登录无法登录
4.遍历
在做自动遍历的时候,很多人都想到说不能完全覆盖我的APP的全部场景,但是实际APP变化特别快,并且APP种类多,如果都需要准备每个APP的功能用例,那成本就太高了。所以我们采用自动遍历的方案,针对APP来进行基础的可用性检查,同时收集各类数据反馈遍历了哪些页面,发现了哪些问题。
5.数据可视化
怎么知道测试的效果是否可靠呢,这里需要对测试数据进行可视化
- Activity覆盖次数
- 点击的控件记录
- 各种性能数据
- CPU
- 内存
- 帧率
- 网络
6.卸载
完成全部测试后,千万不要遗漏最后一点,就是APP能否正常被卸载,否则容易被误认为是病毒软件。
免费试用
岩鼠平台兼容性测试,当前开放免费试用,欢迎体验
岩鼠云设备平台
系列文章:
APP兼容性(2)- 揭秘岩鼠智能遍历