我们的日常生活中对移动设备越来越多的使用意味着移动App测试这个主题已成为需要考虑的一个无法避免的问题。根据最近的调查研究,用户难以容忍有bug的移动App。

  

移动App Bug的影响是用户体验差、App的商店评级下降、用户换用竞争对手的App,声誉和信誉损失、最后销售量减少,如果它是一个付费App的话。

 

  

移动App测试与传统台式机测试相比有一定的复杂性。这些复杂性可以被分类为:

  

环境(大量的设备,各种移动OSs,适应频繁OSs变化)。

设备(触摸式和非触摸式设备,有限的内存容量,电池耗电量)。

网络(不同的网络和运营商,在不好或无网络的情况下的App行为,离线支持)。

  

可用性(方向,触摸,多触摸,缩放,分页和导航的局限性,各种干扰,如来电,来电短信,闹钟,和低电量警报)。所有这些手机专有的复杂性需要新的针对移动App测试的测试用例设计方案。

 

根据调查的结果,移动App崩溃是最常见的移动App Bug ,这是预料中的结果,因为很容易发现一个移动App崩溃。AndroidOS上一个写着“强制关闭错误”的弹出窗口跳上屏幕;当发生崩溃时,IOS中App屏幕突然消失消失。最坏的情况下,App崩溃可能会导致系统故障,操作系统崩溃。

 

移动App崩溃原因:为什么移动App经常崩溃?App崩溃有几个原因:从平台或环境到开发问题。

  

一些崩溃原因:

 

设备碎片化:由于设备极具多样性,App在不同的设备上可能有表现不同。

带宽限制:带宽不佳的网络对App所需的快速响应时间可能不够。

网络的变化:不同网络间的切换可能会影响App的稳定性。

内存管理:可用内存过低,或非授权的内存位置的使用可能会导致App失败。

用户过多:连接数量过多可能会导致App崩溃。

代码错误:没有经过测试的新功能,可能会导致App在生产环境中失败。

第三方服务:广告或弹出屏幕可能会导致App崩溃。

 

移动App崩溃的测试用例设计

  

测试用例是移动测试最重要部分之一。准备和执行预先定义的针对移动App崩溃的测试用例将简化和加速移动App崩溃的测试。一些通用的触发移动App崩溃的测试场景,如下:

  

1、验证在有不同的屏幕分辨率,操作系统和运营商的多个设备上的App行为。

2、用新发布的操作系统版本验证App的行为。

3、验证在如隧道,电梯等网络质量突然改变的环境中的App行为。

4、通过手动网络从蜂窝更改到Wi-Fi ,或反过来,验证App行为。

5、验证在没有网络的环境中的App行为。

6、验证来电/短信和设备特定的警报(如警报和通知)时的App行为。

7、通过改变设备的方向,以不同的视图模式,验证App行为。

8、验证设备内存不足时的App行为。

9、通过用测试工具施加载荷验证App行为。

 

显然,还会有更多的导致App崩溃的App特定场景。

 

如果移动测试团队在他们的APP测试场景中准备并执行这些测试用例,那么早在开发周期就可以找到崩溃相关的Bug。然后,开发团队将阐明崩溃原因,并找出一个解决所有Bug的通用方法。最后,App质量和用户满意度就会增加。