测试过APP的人都应该发现,app崩溃是一类非常常见的问题,很多时候还是致命性的,这就要求我们测试人员要尽最大可能去找出软件当中的缺陷,减少app崩溃出现的概率,这里我将收集到的关于针对APP崩溃测试的资料以及自己的工作经验整理如下:
一、APP中BUG的直接影响
App的Bug会直接影响用户的体验、App 商店的评级、用户的忠诚度,声誉等等...
二、App崩溃是非常常见的一类bug
例如很多时候我们正在使用某个APP,正在使用着突然应用就停止响应,界面上弹出“强制关闭错误”的窗口需要强制关闭应用,而iOS的APP呢则很多使用就会出现闪退的现象,这些问题,我想都是很多人所遇到的,这些都是app常见的崩溃现象。设备的多样性造成了手机更加容易出现APP的崩溃,通常在网络异常时APP上还在进行数据交互,即会出现崩溃、可能的原因多种,有可能是代码中存在多余空格、程序员对该段代码的处理欠佳,未做异常处理等等;而 iOS中常见的App崩溃大多已闪退的形式出现,这些异常在最坏的情况下,不仅影响本APP的使用也可能会导致系统故障,操作系统崩溃,整个APP无法在继续使用,用户不得不卸载此APP。
三、App的测试与web端软件测试相比,所增加复杂性
- 操作系统: 大量的设备,各种操作系统,目前使用最多的操作系统有:Android、iOS、windows、blackberry等等,它们之间的应用软件互不兼容。
- 设备:触摸式和非触摸式设备、有限的内存容量,电池耗电量,屏幕尺寸、分辨率等。
- 网络:不同的网络和运营商,目前我国的三大运营商就有电信、联通和移动,不同的网络制式,如GSM、CDMA、3G等,在不好或无网络的情况下的App行为。
- 可用性:方向,触摸,缩放,分页和导航的局限性,各种干扰,如来电,来电短信,闹钟,和低电量警报等。
四、APP常见崩溃的原因
- 设备碎片化:由于设备极具多样性,App在不同的设备上可能有表现不同。
- 带宽限制:带宽不佳的网络对App所需的快速响应时间可能不够。
- 网络的变化:不同网络间的切换可能会影响App的稳定性。
- 内存管理:可用内存过低,或非授权的内存位置的使用可能会导致App失败。
- 用户过多:连接数量过多可能会导致App崩溃。
- 代码错误:没有经过测试的新功能,可能会导致App在生产环境中失败。
- 第三方服务:广告或弹出屏幕可能会导致App崩溃。
五、App崩溃的测试用例设计:
- 验证在有不同的屏幕分辨率,操作系统和运营商的多个设备上的App行为。
- 用新发布的操作系统版本验证App的行为。
- 验证在如隧道,电梯等网络质量突然改变的环境中的App行为。
- 通过手动网络从蜂窝更改到Wi-Fi ,或反过来,验证App行为。
- 验证在没有网络的环境中的App行为。
- 验证来电/短信和设备特定的警报(如警报和通知)时的App行为。
- 通过改变设备的方向,以不同的视图模式,验证App行为。
- 验证设备内存不足时的App行为。
- 通过用测试工具施加载荷验证App行为。
显然,还会有更多的导致App崩溃的App特定场景。