V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Riacya12
V2EX  ›  推广

APP 兼容性该怎么测 (1) 概述

  •  
  •   Riacya12 · 2019-11-07 14:26:48 +08:00 · 1353 次点击
    这是一个创建于 1630 天前的主题,其中的信息可能已经有所发展或是发生改变。

    APP 兼容性怎么测

    众所周知,Android 系统的碎片化非常严重,目前市面上的不同厂商、不同品牌的手机差异化都非常大,而且各大手机厂商百家争鸣,每年都要推出数款乃至数十款手机。在这个情况下,怎么保证我们的 APP 得以正常运行,拥有良好的体验,成为开发者极为头痛的事情!!!
    UC 研发效能组长期为 UC 业务提供自动化测试报障,这个问题自然也是我们持续在研究的,我们岩鼠平台也提供了方便的 APP 兼容性测试,于是我拉上研发小哥哥决定制作系列干货文章,为大家揭秘 [APP 兼容性该怎么测] 。


    兼容性面临的问题

    1. 不同的系统版本

    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 兼容性测试。
    岩鼠 - 云端设备,触手可及
    另外我们还有线上质量保障的 APP&WEB 监控平台
    岳鹰 - 让用户体验提升更简单

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1159 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 18:38 · PVG 02:38 · LAX 11:38 · JFK 14:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.