APP 兼容性(1)- 概述

简介: Android APP兼容性测试一直都是广大开发者极为头痛的事情,究竟如何入手才好呢?UC研发效能分享内部经验,供大家参考!

众所周知,Android系统的碎片化非常严重,目前市面上的不同厂商、不同品牌的手机差异化都非常大,而且各大手机厂商百家争鸣,每年都要推出数款乃至数十款手机。在这个情况下,怎么保证我们的APP得以正常运行,拥有良好的体验,成为开发者极为头痛的事情!!!

UC研发效能组长期为UC业务提供自动化测试报障,这个问题自然也是我们持续在研究的,我们岩鼠平台也提供了方便的APP兼容性测试,于是我拉上研发小哥哥决定制作系列干货文章,为大家揭秘【APP兼容性该怎么测】。

兼容性面临的问题

不同的系统版本

Android的版本非常多,并且还在持续演进,目前最新是Android Q正式版本,而低版本如Android 4.x版本也还是有一定份额,所以大部分应用也是需要兼容Android 4.0及以上,但是Android系统的向下兼容性并不是特别好,所以开发者需要使用SDK进行向下兼容来解决不同系统版本的兼容性问题。

image.png

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.安装

兼容性第一步是安装,由于不同厂商以及应用商店都有准入的检查,所以安装只能成功不能失败。那么安装过程都有哪些问题呢?

2.启动

启动过程中,需要检查启动的时间,因为启动速度是用户的第一体感,如果启动非常慢的话,很难给用户带来好的感观。启动一般容易出现以下问题:

  • 无法启动,主页面都没办法启动
  • 启动崩溃,启动后直接就出现崩溃
  • 启动后的活动页等无法跳过
  • 启动速度非常慢

3.登录

登录问题其实是所有APP在自动化测试时都要面临的问题,因为基本上都没有标准的控件,并且都有自身产品的独特设计,所以在登录时非常容易出现问题。

  • 自身账号无法登录
  • 调用第三方登录无法登录

4.遍历

在做自动遍历的时候,很多人都想到说不能完全覆盖我的APP的全部场景,但是实际APP变化特别快,并且APP种类多,如果都需要准备每个APP的功能用例,那成本就太高了。所以我们采用自动遍历的方案,针对APP来进行基础的可用性检查,同时收集各类数据反馈遍历了哪些页面,发现了哪些问题。

5.数据可视化

怎么知道测试的效果是否可靠呢,这里需要对测试数据进行可视化

  • Activity覆盖次数
  • 点击的控件记录
  • 各种性能数据
  • CPU
  • 内存
  • 帧率
  • 网络

6.卸载

完成全部测试后,千万不要遗漏最后一点,就是APP能否正常被卸载,否则容易被误认为是病毒软件。

免费试用

岩鼠平台兼容性测试,当前开放免费试用,欢迎体验
岩鼠云设备平台

系列文章:
APP兼容性(2)- 揭秘岩鼠智能遍历

相关文章
|
安全 Java 程序员
App项目实战之路(一):概述篇
我计划做一款App产品,包括Android和iOS,做完打算将Android和iOS客户端的代码开源,并将上架到应用宝和AppStore,之后还会不断迭代。而在做这款产品的过程中,我会尽量将一些相关的思考、决策、心得总结等整理成文分享出来。这个周期将会比较长,因此,文章我将以连载的方式发布。
253 0
|
安全 数据挖掘 数据安全/隐私保护
  多商户入驻APP开发规划设计概述
多商户APP是指一个平台上可以同时入驻多个商户,为多个商家提供商品或服务展示、销售和交易等功能的移动应用程序。
|
消息中间件 存储 缓存
Android | App内存优化 之 内存泄漏 要点概述 以及 解决实战
Android | App内存优化 之 内存泄漏 要点概述 以及 解决实战
|
Java Android开发 图形学
Android | App内存优化 之 内存问题及相关工具概述
Android | App内存优化 之 内存问题及相关工具概述
|
编解码 移动开发 测试技术
|
算法 测试技术 API
APP兼容性(2)- 揭秘岩鼠智能遍历
Android APP兼容性测试一直都是广大开发者极为头痛的事情,究竟如何入手才好呢?UC研发效能分享内部经验,供大家参考!
2066 0
APP兼容性(2)- 揭秘岩鼠智能遍历
|
移动开发 JavaScript 前端开发
技术选型——混编APP应用概述
本文主要是针对**APP进行开发之前的技术选型准备文档,现在share出来,希望在做同类开发的您留下宝贵意见。 =============================分割线===================================== 一, 主要应用技术  Node.Js     Node.js 是一个基于ChromeV8 引擎的 JavaScript 运行环境。
1689 0