移动兼容测试

转载自   作者:alice_tl 
移动兼容测试
这篇文章从5W1H 的角度来讲讲移动兼容测试。

WHAT 什么是兼容测试

兼容测试(Compatibility Test Suite ),简称CTS,业界的定义是指:测试软件在特定的硬件平台上、不同的应用软件之间、不同的操作系统平台上、不同的网络环境中是否能正常的运行和信息共享的测试。

拿我们最常见的笔来举例。

一支笔,能够在白纸上、黑板上的等不同的位置写字,就是兼容。
不同的笔芯,在一定的长度和宽度范围内,都可以安装上使用,这也是兼容。
 

WHY  为什么要做兼容测试

兼容测试是衡量质量的重要依据,同时也使产品的市场更广阔。

兼容测试本质上属于功能测试,只不过对于软件来说,侧重在不同的软硬件和使用环境。

WHEN 何时做兼容测试

情况下,当一般软件开发完成,需求都已实现,功能可以在某个系统或环境下正常使用时,即可开展兼容测试了。

因为当功能未开发完成,或基本功能都不能正常使用时,兼容测试的过程容易收到阻塞,甚至可能需要完全颠覆了重做。

HOW 如何做兼容测试

兼容测试分为硬件兼容、软件兼容和数据兼容。

1 硬件兼容

1.1 操作系统

腾讯2016 移动应用质量大数据报告发现,移动设备总数达10.7亿。2016年移动设备总数持续攀升, Android 设备总数从2015年的6.6亿提升至7.3亿, iOS设备总数从2015年的3.0亿提升至3.4亿。

全球及中国主流的操作系统主要是Android(安卓)、iOS(苹果)。这两个系统是兼容测试的重点。

事实上,移动设备的主流系统还有 Windows Phone 和 Symbian,但是根据2016和2017年这两者的用户群体过少,不必要作为兼容测试的标准。

报告同样发现,Android系统上应用闪退现象更加严重。

根据数据分析,造成闪退最常见的几种异常原因:

空指针异常
找不到类和方法
权限问题
so加载异常
状态异常等


71%的闪退是由这5种问题引起,机型适配测试可以有效降低闪退问题的发生。

1.2 系统的版本

这是两个典型的bug案例:

a)ios 7.0系统上,装某个直销银行 APP,启动出现闪退。

原因在于不支持8.0以下的系统,但开发并未将APP支持安装的最低系统设定为8.0,导致7.0系统上可装却不可用。系统不满足app运行所要求的系统标准。

b)4.x的系统上启动APP换头像时一点击拍照或者相册,就立即闪退。因为调用了高级系统5.x才有的API。

那么到底有哪些系统版本呢?

Android:手机最早是V1.5,平板最早是V3.0,而目前Google最新发布的系统已经是V8.0了。

下表是自android 4.0之后的系统版本及发布日期。

iOS:目前市面上是V7.0至V10.3.3之间的系统。下表是自ios 7.0之后的系统版本及发布日期。

大部分使用苹果的用户都会第一时间将iOS升级为最新版本,但是因为Android过于碎片化以及各大厂商自家ROM更新速度不一,导致新版本往往不能在第一时间获得更新,只有等待厂商及时更新后才能使用新系统。

谷歌官方8月份的安卓市场份额报告显示,目前市面上大部分的安卓手机,仍然搭载Android 6.0系统(棉花糖), Android 7.0以后的版本(牛轧糖)的市场占有率有所增加,达到13.5%。另外还有不到10%的安卓用户在使用Android 4.4之前的系统。

而ios的数据就很明显体现出来,60%以上的用户已经升级到10.0以上的系统。

1.3 ROM

市面上常见的ROM有小米家的MIUI,魅族家的Flyme,还有华为EMUI和vivo等等,基本上各家厂商都有根据安卓系统的原生代码进行更改定制,只有谷歌Nexus和Pixel系列才是原生系统。

1.4 屏幕分辨率

目前市面上主流的分辨率为:1280x720、2560*1440、1920x1080等等。

比如,在不同分辨率的设备上,一行内能显示的字符是不一样的,可能需要进行换行或者省略处理。

1.5 网络

2G\3G\4G以及WIFI等,页面的加载和展示,不同运营商的网络协议是不同的。还有没有网络的情况,页面是否有友好的提示等等。

比如在APP 跳转到一个页面时,内容毫无任何内容,显示一片空白。可能是网络不联通,则需要给用户一个友好的提示。

由于移动设备有着明显的特点。

Android设备:厂商多、机型多、系统版本多、定制化ROM多。
iOS设备:机型少、系统版本少、低版本用户少、无定制化。
如果是所有的Android机型都覆盖,那么对于用户量不大的系统或机型,开发维护支持和BUG的修复可能都收不回成本。

所以在硬件机型的选择上,应该是主流厂商和机型为主,其他厂商机型为辅。如果只有有限的资金购买兼容测试的设备,那么首先应该要购买的是主流厂商和机型。同个厂商系列的机型选其一即可,比如 nexus 系列、samsung 的 Galaxy 系列

我们可以做一个这样的表,更直观

某个环境下程序启动、页面切换的时间特别长,操作起来经常出现卡顿。
一般会和硬件环境设备的配置、APP包的大小、APP使用时所占的内存有关。
2 软件兼容

测试APP跟系统应用、其他软件之间的冲突

手机中查看网页,没有自适应屏幕尺寸大小,图片显示模糊,文字显示不全截断等。
原因可能是图片分辨率过低等等,还可能是没有做移动设备适配、分辨率适配、横竖屏适配等等。
3 数据兼容

指APP自身低版本升级到高版本之后的表现。比如用户的账户信息、个人设置、历史记录,是否还在。

4 兼容测试的工具

如果按照常规的对兼容测试的理解,把兼容测试做的很全面,就需要覆盖多个设备,每个功能点进行反复的测试,这样一来测试人员一方面容易产生疲劳测试,另一方面时间人力损耗非常严重。云测平台在这种场景下就顺时而生。

云测平台是什么?

云测试(Cloud Testing),是基于云计算的一种新型测试方案。提供App真机自动化云测试服务平台,基于云端部署超过3000部主流智能移动设备,可实现自定义终端进行批量自动化兼容适配测试以及功能、性能、稳定性测试。

开发者或者测试工程师所要做的就是:只需要把应用包上传上去,选择相应的执行兼容测试的设备,云测试平台在一定时间内自动完成兼容性测试,并且输出测试报告(包含失败的设备、原因还有错误日志)。

但是云测试也有局限性,不能完全替代人工测试,并且都是收费服务,且价格不便宜。加之由于并不能时时的进行远程控制,所以问题定位复现以及调试回归时,偏麻烦。所以通常云测试的结果会作为参考,但并适合完全代替手工测试。

下面是常用的云测平台工具:

Testin:www.testin.com

我从事移动互联网测试一来最早接触到的云测平台。

支持安卓与IOS。提供兼容性测试、功能测试、性能测试等,收费。

百度MTC:mtc.baidu.com

百度开放平台旗下的移动云测试平台。提供的测试服务种类有兼容性测试、性能测试、功能测试等等,

为收费的(好像用户第一次注册过之后有免费的测试机会)

腾讯优测:utest.qq.com

腾讯旗下的云测试平台。收费。

阿里MQC:mqc.aliyun.com

阿里巴巴旗下的移动测试平台。支持安卓和IOS系统。

提供兼容性测试、功能测试、性能测试、稳定性测试等,收费。
--------------------- 
作者:alice_tl 
来源:CSDN 
原文:https://blog.csdn.net/alice_tl/article/details/75904056 
版权声明:本文为博主原创文章,转载请附上博文链接!

发布了43 篇原创文章 · 获赞 95 · 访问量 29万+

猜你喜欢

转载自blog.csdn.net/weixin_42139375/article/details/91356514