app经常崩溃原因解析【转帖】

介绍

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

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

  移动App测试与传统台式机测试相比有一定的复杂性。这些复杂性可以被分类为:
  环境(大量的设备,各种移动OSs,适应频繁OSs变化) 。

  设备(触摸式和非触摸式设备,有限的内存容量,电池耗电量) 。
  网络(不同的网络和运营商,在不好或无网络的情况下的App行为,离线支持) 。
  可用性(方向,触摸,多触摸,缩放,分页和导航的局限性,各种干扰,如来电,来电短信,闹钟,和低电量警报) 。
  所有这些手机专有的复杂性需要新的针对移动App测试的测试用例设计方案。

  最常见的移动App Bug

  为了确定最常见的移动App Bug,进行了一次研究,其结果发表在国际测试会议上[ 1 ] 。
  为了这个目的,准备了一次在线调查思考参与者的移动测试经验并发表在移动App开发和测试相关的专业社会团体内。
  有针对性的参加本次调查的主要有移动App测试人员和开发人员。结合几个结果,最常见的移动App Bug在对调查结果进行统计分析后确定。

  根据调查的结果,移动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特定场景。

  结论

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

时间: 2024-08-07 20:32:38

app经常崩溃原因解析【转帖】的相关文章

APP常见崩溃原因和测试方法整理

测试过APP的人都应该发现,app崩溃是一类非常常见的问题,很多时候还是致命性的,这就要求我们测试人员要尽最大可能去找出软件当中的缺陷,减少app崩溃出现的概率,这里我将收集到的关于针对APP崩溃测试的资料以及自己的工作经验整理如下: 一.APP中BUG的直接影响:App的Bug会直接影响用户的体验.App 商店的评级.用户的忠诚度,声誉等等... 二.App崩溃是非常常见的一类bug,例如很多时候我们正在使用某个Android的APP,正在使用着突然应用就停止响应,界面上弹出“强制关闭错误”的

Android中app卡顿原因分析示例

在知乎回答了一个“为什么微博的app在iPhone比Android上流畅”的问题.后面部分是一个典型的动画卡顿的性能分析过程,因此帖在这里.有编程问题可以在这里交流.知乎链接. ========================================================= 我来说下我所知道的事情.我不知道iOS为什么流畅,但我知道一些Android为什么不流畅的原因. 首先,就题主所说的问题,我用iPad和小米Pad对比了一下微博滑动滚屏这件事情(2014年8月10日目前微博

VS2005(vs2008,vs2010)使用map文件查找程序崩溃原因

VS 2005使用map文件查找程序崩溃原因 一般程序崩溃可以通过debug,找到程序在那一行代码崩溃了,最近编一个多线程的程序,都不知道在那发生错误,多线程并发,又不好单行调试,终于找到一个比较好的方法来找原因,通过生成map文件,由于2005取消map文件生成行号信息(vc6.0下是可以生成行号信息的,不知道microsoft怎么想的,在2005上取消了),只能定位在那个函数发生崩溃.这里可以通过生成cod文件,即机器码这一文件,具体定位在那一行崩溃. 首先配置vc2005生成map文件和c

英伦大厦游戏系统app开发源码解析

英伦大厦游戏系统app开发源码解析(微or电 158.1500.1390 小凡团队)英伦大厦开发系统,英伦大厦系统模式定制开发,英伦大厦app开发,英伦大厦游戏开发系统,英伦大厦平台开发,英伦大厦模式系统开发. 2017年,是一个崭新的时代,传统的电商模式被颠覆,以"互联网+"为代表的生产技术革命正悄然而至,商业步入"全球分享经济"时代,以"成本小,速度快,操作简便"为特点,一场"消费关系"的大解放已逐渐席卷全球,裂变的模式让

史上最全网站降权原因解析

在互联网时代飞速发展的前景下加上昂贵的竞价费用让多数企业苦不堪言于是低成本投入的职业-seo就诞生了,从业人数也每年呈递增状态,然而互联网的垃圾信息也越来越多,于是搜索引擎为了更好的迎合用户体验也频繁的展开了各项算法调整.在这期间当然也有很多网站被降权甚至被K掉,至于什么原因,有很多从职朋友还不能彻底的找到问题的根源,下面笔者以个人多年经验为大家展开一下分享,希望能帮助你早日恢复网站排名. 直接进入正题: 一.空间问题 因为空间访问速度不稳定,有时慢有时打不开的情况,因这个被降权的案列也是很多的

定时任务服务器不定时重启原因解析

现在定时任务服务存在问题,请帮忙核实一下: 现象:定时任务服务器的resin不定时重启,有时能达到一天一两次,原因是在创建单例bean时,单例bean正在被销毁.报错的类都是RunPickupPathService,每次重启前都会报如下错误. 日志如下: Caused by: org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean with name 'transactionMa

VS2005(vs2008,vs2010 VS2012)使用map文件查找程序崩溃原因

转载http://blog.csdn.net/luxiaoyu_sdc/article/details/6458872 一般程序崩溃可以通过debug,找到程序在那一行代码崩溃了,最近编一个多线程的程序,都不知道在那发生错误,多线程并发,又不好单行调试,终于找到一个比较好的方法来找原因,通过生成map文件,由于2005取消map文件生成行号信息(vc6.0下是可以生成行号信息的,不知道microsoft怎么想的,在2005上取消了),只能定位在那个函数发生崩溃.这里可以通过生成cod文件,即机器

Linux下利用coredump技术追查进程崩溃原因

原文链接:https://blog.csdn.net/u014585564/article/details/68063269 最近项目中出现了一个问题,服务器端程序会突然崩溃退出,我们采取了coredump技术以找到崩溃原因,即确定进程退出时正在执行的函数是哪个,其状态如何. 如果系统开启了coredump,准确的说如果当前的shell环境开启了coredump,当前shell环境下的程序崩溃退出时,会把当时进程的栈的内存状态写入core文件.使用gdb可以查看这个core文件中保存的栈的状态,

IOS崩溃日志解析(crash log)

IOS的应用程序少不了crash,互联网统计分析工具友盟有一项目错误分析的功能,专门用于应用程序崩溃日志统计,最近研究友盟上统计到的崩溃日志,在此对崩溃日志做一个简单的总结. IOS崩溃日志分类: 一.低内存崩溃:IOS设备检测到低内存时,虚拟内存系统发出通知请求应用释放内存.这些通知发送到所有正在运行的应用和进程,试图收回一些内存.如果内存使用依然居高不下,系统将会终止后台线程以缓解内存压力.如果可用内存足够,应用将能够继续运行而不会产生崩溃报告.否则,应用将被iOS终止,并产生低内存崩溃报告