• 11
  • 11
分享
  • APP常见崩溃原因和测试方法整理——软件测试圈
  • 北极 2022-01-04 15:20:46 字数 1289 阅读 2723 收藏 11

测试过APP的人都应该发现,app崩溃是一类非常常见的问题,很多时候还是致命性的,这就要求我们测试人员要尽最大可能去找出软件当中的缺陷,减少app崩溃出现的概率,这里我将收集到的关于针对APP崩溃测试的资料以及自己的工作经验整理如下:

一、APP中BUG的直接影响

App的Bug会直接影响用户的体验、App 商店的评级、用户的忠诚度,声誉等等...

二、App崩溃是非常常见的一类bug

例如很多时候我们正在使用某个APP,正在使用着突然应用就停止响应,界面上弹出“强制关闭错误”的窗口需要强制关闭应用,而iOS的APP呢则很多使用就会出现闪退的现象,这些问题,我想都是很多人所遇到的,这些都是app常见的崩溃现象。

设备的多样性造成了手机更加容易出现APP的崩溃,通常在网络异常时APP上还在进行数据交互,即会出现崩溃、可能的原因多种,有可能是代码中存在多余空格、程序员对该段代码的处理欠佳,未做异常处理等等;而 iOS中常见的App崩溃大多已闪退的形式出现,这些异常在最坏的情况下,不仅影响本APP的使用也可能会导致系统故障,操作系统崩溃,整个APP无法在继续使用,用户不得不卸载此APP。

三、App的测试与web端软件测试相比,所增加复杂性

  1. 操作系统: 大量的设备,各种操作系统,目前使用最多的操作系统有:Android、iOS、windows、blackberry等等,它们之间的应用软件互不兼容;

  2. 设备:触摸式和非触摸式设备、有限的内存容量,电池耗电量,屏幕尺寸、分辨率等;

  3. 网络:不同的网络和运营商,目前我国的三大运营商就有电信、联通和移动,不同的网络制式,如GSM、CDMA、3G等,在不好或无网络的情况下的App行为;

  4. 可用性:方向,触摸,缩放,分页和导航的局限性,各种干扰,如来电,来电短信,闹钟,和低电量警报等。

四、APP常见崩溃的原因

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

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

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

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

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

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

  7. 第三方服务:广告或弹出屏幕可能会导致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特定场景。


作者:择势量投

链接:https://www.jianshu.com/p/910054d4b5fb

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 一、接口测试流程1、右键点击线程组添加 HTTP请求,此时在线程组下面出现HTTP请求选项。点击该选项,出现HTTP请求界面。如下服务器名称或IP填你的服务器名或IP地址:192.168.96.8。端口号填接口所用的端口号:如:8081connect表示连接时间,比如10000毫秒;response表示响应时间,比如10000毫秒。(可以不写)Implementation选HttpClient4;(可以不写)协议填http;Content encoding填utf-8。路径填接口地址,比如登录接口/api/user/mobileLogin.jsp、/safe/0.0.1/JFFW/urlGen...
            11 12 1800
            分享
          • 最近要开展接口测试,起初打算使用公司已有的Fitnesse测试工具来进行接口测试。过程中发现,构造接口字段数据、测试数据都比较困难,接口参数多的时候,用例量就会很多,关键执行速度还慢。所以放弃了。找了一些其它工具,都不太能解决数据构造困难的问题。找不到工具,就直接使用代码来实现。考虑到代码量,结合网上的一些推荐,决定使用python+pytest来编写接口自动化用例。决定了语言和框架,接下来要考虑一下实现需求。需求一:一套用例可以测试多套环境公司的测试环境不止一套,希望在使用接口自动化用例时,可以随意的切换被测环境。为了满足这个需求,首先要完成接口地址等信息的独立配置,而且是要按照一套环境的维...
            13 13 1958
            分享
          • 工作久了发现,在互联网这个圈子里,软件测试工程师和产品经理是两个"水分"较大的岗位,在招人的时候如果不擦亮眼睛,稍有不慎就可能会踩雷。前不久面试了两位同学,面试过程有点让我大跌眼镜,为了让大家能避免相同的误区,所以才写一篇文章,分享一些我个人的经验。面试经历之前面试的一位同学简历相当漂亮,看完之后我觉得能力绝对在我之上,大致信息如下:工作时间8年 。在一家做AI的公司,从事算法测试。对持续集成及其工具比较熟悉。自己开发了测试工具平台。面试之前,我还特地的准备了几道算法题,总之是觉得碰上大牛的心态。面试过程大致如下:问:"介绍工作情况,及都做了哪些事情"。...
            0 1 3131
            分享
          •   Instagram 正在为 Threads 开发一个成熟的网络应用程序,该程序将很快登陆 Windows 11 和 Windows 10 的微软应用商店。Instagram 的 Threads 应用程序在过去几个月里一直是新闻焦点,它是 Twitter 之外最方便用户使用的选择。就下载量和炒作而言,Threads 在推广上迄今已被证明是成功的,但在功能方面却落后于 Twitter 和其他基于文本的社交媒体应用。  Instagram 主管亚当-莫塞里(Adam Mosseri)表示,Threads 应用程序没有标签、完整的搜索功能或网络支持,但这种情况很快就会改变。在一系列关于 Threa...
            0 0 1057
            分享
          •   推特首席执行官马斯克27日发文称,“每家”美国社交媒体公司都在美国政府的主导下进行了严格审查。此外,美国政府有时还会向这些公司下达明确指示,例如,谷歌经常按其要求删除指定链接。  据美国福克斯新闻网28日报道,马斯克表示,所有社交媒体平台都与美国政府合作审查内容,它们都会在美国联邦机构的明确指示下删除相关内容。据报道,马斯克在收购推特后公布的文件显示,推特与美国联邦调查局、中央情报局、五角大楼和其他政府机构合作,压制有关美国选举、乌克兰局势以及新型冠状病毒感染的信息。  报道称,马斯克27日发表的推文是对记者马特·泰比此前一系列爆料的补充。其中,在马斯克的批准下,泰比公布了推特内部通信内容...
            0 0 1073
            分享
      • 51testing软件测试圈微信