Android Crash问题定位与实践

发表于:2013-10-28 10:30

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:李红玲 王晓芹    来源:51Testing软件测试网

  摘要:本文介绍了如何在Android手机发生Crash时进行Log分析的方法,它可以帮助测试人员快速定位Android手机 Crash发生的原因,同时给研发人员提供有效修改Bug的Log信息。
  关键词:Android;Crash;Log;Bug
  引言
  用自动化测试工具对Android手机进行压力测试和稳定性测试,往往通过模拟实际使用场景中所发生的业务量来测试手机性能是否满足要求,测试过程中系统状态信息被实时记录到Log文件中,通过对Log信息的分析,可以检查到错误发生的根源和运行痕迹,因此,有效利用Log信息并对其进行分析与实时的监控管理,对于分析Android手机发生Crash的原因具有极为重要的作用。
  自动化测试工具在运行过程中会产生多种类型的Log信息,而这些Log信息又往往分布在不同的目录中,在超大规模的Log数据上做分析不是一件容易的事情,需要测试人员分析大量的脚本文件和代码去寻找自己所关心的答案。基于以上问题,本文介绍了如何进行Log分析的方法,有了这些方法会让Crash的问题定位变得简单,并让复杂的分析变得可行。
  1. Android Log 文件类型
  由于Android上的应用程序千差万别,出现的问题也不尽相同。不过Bug类型还是有规律可循的,可以根据生成的Log文件找到相应的错误,通常错误信息里记录了错误的大致位置,据此可以捕获到问题的关键信息。
  Log文件记录着每次操作的信息,在出现问题后可以借助log信息分析以达到解决问题的目的,Log文件类型主要分为以下几种:
  (1) Logcat: Main缓存日志,通过运行logcat命令,可以获得系统中使用的标记和优先级的列表,也可以加上过滤器进行表达式限制,只输出测试人员及研发人员感兴趣的标记-优先级组合。

……………………

查看全文请点击下载:http://www.51testing.com/html/88/n-853288.html

  (2) Bugreport: Java应用程序Crash时会产生一个Bugreport文件,该文件主要包括三个方面的内容:
  Dumpstate:内存信息,Cpu信息,Procrank信息,系统日志,Vm Trace信息等。
  Build.Prop:当前版本、当前命令、显示系统Build的一些属性等;
  Dumpsys:Dump Of Service Meminfo(显示某个进程更详细的内存消耗情况以及Native And Java (Dalvik)堆栈的统计数) ;
  (3) Crashdump: 每次Crash都会产生一个Crashdump文件,文件包括主日志,Java 堆栈信息,本地调用堆栈,虚拟机/进程堆,Log缓存,内存信息,进程列表,Modem信息,Adb Log等信息;
  (4) Bratlog: 测试用例及详细信息;
  (5) Logalong: 事件,如手机通讯功能信息等;
  (6) Pullfs: Traces(Java 堆栈信息);
  (7) Procrank: Uss(Unique Set Size) 值,进程独自占用的物理内存。
21/212>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • threadingtest
    2015-6-16 17:39:32

    推荐看下threadingtest,它是白盒级别的崩溃分析工具,可以捕捉和分析和可视化展示崩溃发生前的程序的执行的详细的执行路径(逻辑走向和条件、分支走向),相比腾讯bugly,testin等的的基于崩溃日志分析方法,可以直接的给出崩溃的原因,帮助开发和测试迅速的修复缺陷。可以参照这个:http://www.teststars.cc/news03.html

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号