Android应用适配测试浅谈

来源:互联网 发布:大数据助推产业大升级 编辑:程序博客网 时间:2024/05/17 07:39

Android应用适配测试浅谈

什么是Android适配测试

Android适配测试是为了让一款应用能够在各种Android设备上良好运行,达到最佳用户体验而进行的一种测试。它涵盖了安装,应用功能,界面显示,输入交互,程序稳定性等许多方面。

为什么要进行Android应用适配测试

系统碎片化

原生系统版本更新速度快(从20089月至今,发布了从1.14.4至少13个版本)

第三方编译(CyanogenModOmniAOKP等)

第三方定制(MIUIflyme OSColorOSSmartisanOS等)

设备多样化

设备品牌(三星,LG,小米,华为,魅族,联想……)

分辨率(1920*10801280*8001280*720800*480……)

运营商(WCDMATD-SCDMACDMA-2000

手机,平板设备

实体键,SmartBar

……

常见的适配问题

1. 不能安装,解析包时出现问题;

2. 程序崩溃(启动崩溃,运行崩溃,意外停止,无响应,退出崩溃);

3. UI错位/失配(最典型);

4. 启动时间长/运行不稳定/与其它应用冲突等。

适配测试分类

分辨率适配

UI界面在不同平台的适配受屏幕尺寸和屏幕密度影响,Android适配机制就是在资源后面添加对这两种因素的限定,通过不同的限定区分不同的平台资源,Android在使用资源的时候会优先选择满足本平台限定的资源,再找最接近条件的,再找默认(即不加限定),通过选择适合当前平台的资源来完成不同平台的适配。

该适配测试适合于图片,文案,控件布局较多时进行,同时也适合WebView页面的适配测试。

厂商机型适配

当功能涉及到与厂商推出的特殊功能相关,或者调用手机的硬件设备时,就需要进行针对厂商/机型的适配。比如自动启用免提功能,使用摄像头进行二维码的扫描,启用录音设备进行音频的录制等。

系统版本适配

Android版本的快速迭代升级,每一个版本都会有新的功能,甚至是新的API出现。例如Android 4.4系统,只允许一个默认短信应用,Android 4.4系统存在一个可选的运行环境ARTAndroid 5.0默认运行环境是ART等。

特殊ROM适配

一般来说,ROM的适配是因为ROM特殊的功能和权限引起的,或者ROM提供的系统预置软件数据库等于原生不一致等情况。当需要兼容特殊定制ROM时,就需要考虑部分厂商对Android系统进行了精简、添加、修改,从而进行不同的ROM兼容适配。比如常见的有MIUI(安全管理,悬浮框默认关闭),ColorOS(部分动画结束不发出信号),flymeOS(严格的安全管理),SmartisanOS(不支持桌面悬浮窗)……

针对CPU架构适配

影响CPU测试的方面主要有几个,厂商平台(高通,联发科,三星,英特尔)、架构(ARMAtom)以及位数(32bit/64bit)等。

Android系统运行环境

主要就是针对DalvikART运行环境。ART运行环境是更换了Java虚拟机,其带来的影响涉及到底层的库(JNI,Java Native Interface)。需要注意的是ART也分版本。

如何判断是否需要进行适配测试

主要是根据开发对一个功能实现/改动的内容、改动的情况,以及对现有功能的影响。分为UI方面和功能逻辑方面。

其中UI方面常见的改动:

1. 布局更改

2. 资源图替换

3. 文案修改

4. 透明度/动画调整

功能逻辑方面常见的改动:

1. API/方法/接口/函数的调用与修改

2. 功能或改动因系统版本而异

3. 功能或改动因ROM而异

4. 功能或改动因厂商而异

5. 功能或改动因不同平台架构而异

6. 功能或改动因网络情况而异

7. 调用系统预置软件的文件/数据库等

8. 系统联系人数据库

9. 系统短信数据库

适配测试做到什么程度

1. 记录每一步的截图和结果;

2. 记录结果覆盖所有相应功能的机型/ROM/分辨率等;

3. 对于失配的部分及时报BUG,修改完毕后对修改进行适配检查;

4. 适配测试需要覆盖到所有的关注点;

5. 能够给出完整的含有结论的适配报告;

适配过程中的常见问题

如何适配能够更加高效/省时?

1. 存在前后步骤或者紧密关系的适配一次性进行

2. 一个适配步骤尽可能包含更多的适配关注点

3. 根据输入输出的难易程度进行适配步骤的归类与划分

4. 有时需要进行多种适配的时候也可能合并(部分)测试步骤

5. 避免在存在严重BUG/影响现有实现的BUG时进行适配测试

涉及第三方SDK/接口的内容怎么去适配?

需要对第三方SDK/接口的结果进行适配测试。避免出现因为第三方SDK/接口的适配问题而给产品带来负面的影响。

需要考虑到第三方接口面向的用户终端。比如微信SDK的接口分享的图片需要面向AndroidiOS设备。

如果开发没有同时提测一个模块的不同功能,怎样适配?

可以在开发全部提测完成后再进行测试。尤其当有些页面之间的关系为子级(跳转过去)时,完全可以到子页面也全部提测之后再进行测试。这样可以节省时间。

如果测试时间紧张,还要进行适配测试,该怎样进行?

性价比优先。在资源许可的条件下,为尽可能多的用户提供服务。

优先适配主流机型;

优先适配主流分辨率;

优先适配主流系统版本;

适配测试中存在的困难

设备类型过多,无法100%适配到;

部分适配问题发生在非主流机型,甚至是已经停产的机型上;

特定的机器刷了特定的ROM引起的适配问题。



原文链接

如需转载该篇文章,请注明来自“搜狗测试”


0 0
原创粉丝点击