App专项测试

对于移动应用,仅仅完成业务功能的测试往往是不够的。如果你的关注点只是功能测试,那么,当你的应用被大量用户安装使用时,就会暴露之前完全没有预料到的问题。比如:

1、流量使用过多;

2、耗电量太大;

3、在某些设备终端上出现崩溃或者闪退的现象;

4、多个移动应用相互切换后,行为异常;

5、在某些设备上无法正常安装或卸载;

6,、弱网环境下,无法正常使用;

7、Android环境下,经常出现ANR(Application NOT Responding);

 

这篇文章,从交叉事件测试、兼容性测试、流量测试、耗电量测试、弱网测试、边界测试这6个最主要的专项测试来展开。

一、交叉事件测试

交叉事件测试也叫中断测试,是指App执行过程中,有其它事件或者应用中断当前应用执行的测试。

这类测试目前还都是采用手工测试的方式,并且在真机上进行,并不会使用模拟器。

交叉事件,需要覆盖的场景主要包括:

1、多个App同时在后台运行,并交替切换至前台是否影响正常功能;

2、要求相同系统资源的多个app前后台切换是否影响正常功能,比如两个app都需要播放音乐,那么两个app在切换的过程中,播放音乐是否正常;

3、App运行时接受电话和短信;

4、app运行时提示系统升级;

5、App运行时发生系统闹钟时间;

6、app运行时进入低电量模式;

7、app运行时第三方安全软件弹出告警;

8、app运行时网络切换,比如Wifi切换到4G,4G切换到3G登;

 

兼容性测试

兼容性测试顾名思义就是,要确保App在各种终端设备、各种操作系统、各种屏幕分辨率、各种网络环境下的功能正确性。常见的App兼容性测试需要覆盖以下的测试场景:

1、不同操作系统的兼容性,包括主流的Android和ios版本;

2、主流的设备分辨率下的兼容性;

3、主流移动终端机型的兼容性;

4、同一操作系统中,不同语言设置时的兼容性;

5、不同网络连接下的兼容性,比如WiFi,GPRS,EDGE,CDMA200;

6、在单一设备上,与主流热门App的兼容性,比如微信、抖音、淘宝等;

兼容性测试,通常都需要在真机上执行相同或者类似的测试用例,所以往往采用自动化测试手段。同时,需要覆盖大量的真实测试设备,除了大公司会基于Appium+seleniumGrid+OpenSTF去搭建自己的移动设备私有云平台外,其它公司一般都会使用第三方的移动设备云测平台完成兼容性测试。

第三方的移动设备云测平台,国外最知名的是SaucelLab,国内的是Testin。

流量测试

由于app经常要在移动互联网环境下运行,而移动互联网通常是按照流量来计费的,所以如果你的app耗费的流量过多,那么一定不受欢迎。

流量测试,通常包含以下几个方面的内容:

1、App执行业务操作引起的流量;

2、App后台运行时消耗的流量;

3、安装完成后首次启动耗费的流量;

4、安装包本身的大小;

5、App内购买或者升级需要的流量;

流量测试,往往借助于Android和ios自带的工具进行流量统计,也可以用tcpdump、Wireshark,和Fidder等网络分析工具。

对于Android系统,网络流量信息通常存储在/pro/net/dev目录下,也可以直接利用adb工具获取实时的流量信息。另外,我还推荐一款Android的轻量级性能监控小工具Emmagee,类似于windows系统性能监视器,能够实时显示App运行过程中CPU、内存和流量登信息。

对于ios系统,可以使用xcode自带的性能分析工具集中的network Activity,分析具体的流量使用情况。

但是,流量测试的最终目的,不是获得app流量数据,而是想办法减少app产生的流量。下面是常见的优化方法:

1、启用数据压缩,尤其是图片;

2、启用客户端的缓存机制;

3、启用优化的数据格式,比如同样的信息量,json文件就比xml文件小;

4、遇到既需要压缩又需要加密的场景,一定是先压缩再加密;

5、减少单次GUI操作触发的后台调用数量;

6、每次回传数据尽可能只包括必要的数据;

耗电量测试

耗电量也是一个移动应用能否成功的关键性因素,如果在功能类似的情况下,你的App特别耗电,让设备发热严重,那么你的用户一定会卸载你的App而使用其它的App。最典型的就是地图等导航应用,对耗电量特别敏感。

耗电量测试通常从三个方面来考量:

1、App运行但是没有执行业务操作的耗电量。

2、App运行且密集执行业务操作的耗电量。

3、App后台运行的耗电量。

耗电量检测既有基于硬件的方法,又有基于软件的方法。Android和ios都有各自自己的方法:

1、Android通过adb命令“adb shell dumpsys battery”来获取应用的耗电量信息;

2、ios通过Apple的官方工具Sysdiagnose来收集耗电量信息,然后,可以进一步通过 Instrument 工具链中的 Energy Diagnostics 进行耗电量分析。

弱网测试

与传统PC应用不同,移动应用的网络环境比较多样,经常出现在不同网络切换的场景,即使在同一网络环境下,也会出现网络连接状态时好时坏的情况。比如时高时低的延迟、经常丢包、频繁断线、在乘坐地铁、穿越隧道、和地下车库的场景下经常会发生。

所以,移动应用要保证在复杂网络环境下的质量。具体的做法是:在测试阶段,模拟这些网络环境,在App发布前尽可能多的发现并修复问题。

在这里,我推荐一款非常棒的开源移动网络测试工具:Facebook 的 Augmented Traffic Control(ATC)。

ATC 最好用的地方在于,它能够在移动终端设备上通过 Web界面随时切换不同的网络环境,同时多个移动终端设备可以连接到同一个 Wifi,各自模拟不同的网络环境,相互之间不会有任何影响。也就是说,只要搭建一套 ATC 就能满足你所有的网络模拟需求。

如果你对 ATC 感兴趣,可以在它的官方网站找到详细的使用说明。

边界测试

边界测试是指,移动App在一些临界状态下的行为功能验证测试,基本思路是需要找出各种潜在的临界场景,并对每一类临界场景做验证和测试。主要的场景有:

1、系统内存占用大于90%的场景;

2、系统存储空间大于95%的场景;

3、飞行模式来回切换的场景;

4、App不具有某些系统访问权限的场景,比如App由于隐私设置,不能访问相册或者通讯录等;

5、长时间使用App,系统资源是否异常,比如内存泄漏,过多的链接数等;

6、出现ANR的场景;

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值