APP崩溃测试

  移动App测试与传统台式机 测试相比有必定的复杂性。这些复杂性能够被分类为: 
    环境(大量的设备,各类移动OSs,适应频繁OSs变化) 。 
    设备(触摸式和非触摸式设备,有限的内存容量,电池耗电量) 。 
    网络(不一样的网络和运营商,在很差或无网络的状况下的App行为,离线支持) 。 
    可用性(方向,触摸,多触摸,缩放,分页和导航的局限性,各类干扰,如来电,来电短信,闹钟,和低电量警报) 。 
  全部这些手机专有的复杂性须要新的针对移动App测试的测试用例设计方案。前端


  根据调查的结果,移动App崩溃是最多见的移动App Bug ,这是预料中的结果,由于很容易发现一个移动App崩溃。 Android  OS上一个写着“强制关闭错误”的弹出窗口跳上屏幕;当发生崩溃时,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行为。 
    10 用不一样的支持语言验证App行为。 
  显然,还会有更多的致使App崩溃的App特定场景测试

 

几种常见的类型设计方法spa

 

1. 网络异常操作系统

  一般在网络异常的状况下,客户端发出的请求,没有在必定时间内获得恢复,可是通常都会有一个超时的概念,若是程序在没有处理好的状况下,超时以后没法处理程序的逻辑,则常常会出现Crash。这种问题在网络差的状况下,常常出现,好比浏览论坛的时候,正常网络下访问无问题,在网络极其差的状况下,常常性的崩溃就是属于这个问题。因此,测试的过程当中,我会经过拔路由器的网线的方式来进行测试,提交一个接口请求以后,当即拔去路由器的线。这样数据没法正常返回到客户端,等待超时以后,看前端的处理方式。若是处理很差的状况下,就会出现崩溃发生。设计

 

2. 内存问题 日志

  一般在开发程序的时候,内存的泄露或者没有正常回收,形成程序随着操做愈来愈多,占用的内存愈来愈大,最终致使崩溃的发生。blog

测试的过程当中,这类问题会比较麻烦,总的来讲,一款内存小的手机在测试的过程当中是必须的,我会选择一款256M内存,Android 2.3的机器来进行测试。同时会使用Emmagee的小软件进行检测,固然有一个合理的测试用例也是必须的。根据测试用例来正常跑软件,测试结束以后获得一张关于内存使用的图标,慢慢进行分析,对照测试用力进行分析查看是否能发现内存泄露的操做,若是有可疑的操做就要对其进行重复性测试,仍是使用Emmagee的软件,不断的检测一个点。知道确认内存泄露的功能模块。高级的测试还会使用DDMS进行查看,原理基本相同,具体方法能够查看网上写的逻辑。

  总的来讲,内存泄露对于测试人员,特别是手动测试人员比较困难,可是不是没有方法来进行。

 

3. 接口返回值错误

  一般会遇到接口返回值和预期返回值不相同的问题,若是App前端处理不太周全的状况下,会出现程序崩溃。

  在遇到这样的问题的时候,通常会采用协调前台和后台之间的信息来处理。根据公司的经验,通常后台传输数据都须要本身的检测程序来查看具体的接口传输数据,有了合理的工具合理的分析平台才能处理的更好,在此感谢Don, Jason的努力,在能查看接口传输数据以后,确实对测试的工做产生了正面的影响。

 

4. 手机特定类型错误

  由于安卓手机毕竟有着众多的品牌和类型,软件在运行的过程当中不免会出现功能和某些测试机器,或者不一样UI上出现崩溃的问题。

  目前没有太好的方案来解决,通常会采用Testin自动化平台运行App,从测试中发现的问题进行断定是否出现的问题时固定能够重现的。汇总的说,其实Umeng平台仍是提供了良好的方式来处理这些崩溃问题,在友盟捕捉到的错误日志中分析,能够不断的提高产品质量。不是作广告,只是告诉你们明智的敏捷开发团队必定会采用这样轻量级的平台来提高品质。

 

5. 渲染图片出现的问题

  由于在Android系统在渲染图片的时候须要加载到内存中,因此App上的一些图若是过大,能够形成崩溃事件的发生。

  在系统版本为2.3 一下的手机上容易出现,其实这也是与手机的性能相关的,在2.3如下的时候,一般手机的内存都比较小 256兆 和 512的内存上常常会出现相似的状况。

相关文章
相关标签/搜索