测试过APP的人都应该会发现app崩溃是一类非常常见的问题,很多时候还是致命性的,这就要求我们测试人员要尽最大可能去找出软件当中的缺陷,减少app崩溃出现的概率。那么,友盟u-apm应用性能监控平台作为一款监测工具,可以帮助开发者找出app的漏洞,从而针对问题进行性能方面的优化,是一个很好的工具,可以作为开发者寻找app问题的小助手!接下来我将收集到的关于针对app崩溃测试的资料以及自己的工作经验整理如下:
一、APP中BUG的直接影响:App的Bug会直接影响用户的体验、App 商店的评级、用户的忠诚度、声誉等等…
二、App崩溃是非常常见的一类bug,例如很多时候我们正在使用某个Android的APP,正在使用着突然应用就停止响应,界面上弹出“强制关闭错误”的窗口需要强制关闭应用,而iOS的APP呢则很多使用就会出现闪退的现象,这些问题应该都是很多人所遇到的,这些都是app常见的崩溃现象。因为现在市场是andriod手机的碎片化、造成了andriod手机更加容易出现APP的崩溃,通常在网络异常时APP上还在进行数据交互,即会出现崩溃、可能的原因多种,有可能是代码中存在多余空格、程序员对该段代码的处理欠佳,未做异常处理等等;而 iOS中常见的App崩溃大多已闪退的形式出现,这些异常在最坏的情况下,不仅影响本APP的使用也可能会导致系统故障,操作系统崩溃,整个APP无法在继续使用,用户不得不卸载此APP。
三、App的测试与web端软件测试相比,所增加复杂性:
a、操作系统:大量的设备,各种操作系统,目前使用最多的操作系统有:Android、iOS、windows、blackberry等等,它们之间的应用软件互不兼容。
b、设备:触摸式和非触摸式设备、有限的内存容量,电池耗电量,屏幕尺寸、分辨率等。
c 、网络:不同的网络和运营商,目前我国的三大运营商就有电信、联通和移动,不同的网络制式,如GSM、CDMA、3G等,在不好或无网络的情况下的App行为。
d、可用性:方向,触摸,缩放,分页和导航的局限性,各种干扰,如来电,来电短信,闹钟,和低电量警报等。
四、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行为。
10.用不同的支持语言验证App行为。
显然,还会有更多的导致App崩溃的App特定场景。那么,友盟这不就派到用场了嘛,友盟u-apm作为监测工具可以帮助开发者寻找app的漏洞,解决app崩溃的原因,还通过轻量级的集成接入即可拥有实时、可靠、全面的应用崩溃、ANR、自定义异常等捕获能力,及卡顿、启动分析等性能能力,支持多场景、多通道智能告警监控,帮助开发者高效还原异常、卡顿用户的访问路径和业务现场,缩短故障排查时间。
另外还提供云真机测试能力,为移动开发者提供了灵活地测试操作界面,支持ADB调试、WEB远程调试、扫码、抓包、虚拟定位等测试功能,并提供了测试报告供开发者后续查看。助力开发者从研发测试质量验收到线上问题复现排查,保障应用品质,提升测试效率。在云真机测试期间自动采集崩溃信息,提供详尽的崩溃报告协助筛查,真正实现监控测试全流程深度打通。