众所周知,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 机型凑齐。
我们在实际开发中,往往不会一个一个机型版本去测试适配,更多还是用主流的机型进行开发验证。那么就需要在测试环节、发布前验证环节加入自动化兼容性测试的把关,通过自动化测试快速的进行问题检测。
自动化兼容性测试要求在手机上自动化执行 [安装-启动-测试-卸载] 这个完整的流程,并且要求测试的准确性和效率。
本文先概要介绍下这几个步骤主要做什么,以及会面临的问题,后续文章将继续详细介绍各个难题如何突破。
1.安装
兼容性第一步是安装,由于不同厂商以及应用商店都有准入的检查,所以安装只能成功不能失败。那么安装过程都有哪些问题呢?
2.启动
启动过程中,需要检查启动的时间,因为启动速度是用户的第一体感,如果启动非常慢的话,很难给用户带来好的感观。启动一般容易出现以下问题:
3.登录
登录问题其实是所有 APP 在自动化测试时都要面临的问题,因为基本上都没有标准的控件,并且都有自身产品的独特设计,所以在登录时非常容易出现问题。
4.遍历
在做自动遍历的时候,很多人都想到说不能完全覆盖我的 APP 的全部场景,但是实际 APP 变化特别快,并且 APP 种类多,如果都需要准备每个 APP 的功能用例,那成本就太高了。所以我们采用自动遍历的方案,针对 APP 来进行基础的可用性检查,同时收集各类数据反馈遍历了哪些页面,发现了哪些问题。
5.数据可视化
怎么知道测试的效果是否可靠呢,这里需要对测试数据进行可视化
6.卸载
完成全部测试后,千万不要遗漏最后一点,就是 APP 能否正常被卸载,否则容易被误认为是病毒软件。
本文先介绍到这,大家如果感兴趣可以继续关注我们后续文章。另外也欢迎来免费试用我们的岩鼠平台,体验下我们的 APP 兼容性测试。
岩鼠 - 云端设备,触手可及
另外我们还有线上质量保障的 APP&WEB 监控平台
岳鹰 - 让用户体验提升更简单