首页 > 其他分享 >money详细日志分析--转

money详细日志分析--转

时间:2023-09-10 19:23:24浏览次数:36  
标签:logcat monkey -- money App 测试 日志 异常

一、Monkey 日志详解
Monkey 日志由以下几部分组成:
(1) 测试命令信息:随机种子 seed、运行次数、可运行应用列表、各事件百分比。 ​​​​​​​

 

(2) App 切换和 Activity 跳转:可以看到切换到了哪个 App,从哪个 Activity 跳转到了哪个 Activity,如果发生了异常,就可以看出是在哪个 App 和 Activity 中发生的。注:在允许一次测试多个应用时,会看到多次 App 切换;只测试一个应用时,一般只看到一次 App 切换,除非应用异常后重启。

​​​​​​​

 

 


(3) 伪随机事件流:记录各种随机操作及中间的延迟时间,主要是以下几种操作:

​​​​​​​ ​​​​​​​ ​​​​​​​

(4) 异常信息:应用崩溃、无响应等异常相应信息。

​​​​​​​

 

 

​​​​​​​
(5) 测试结果信息:完成事件数、其他信息。

​​​​​​​

 

 

二、从日志中发现并提交 bug

使用 Monkey 进行测试结束后,我们关注的是应用在测试中是否出现崩溃或无响应这类问题。测试结果可以通过如下方法判断:
(1) 在日志中搜索“CRASH”,如果搜到,可以判断 App 在测试过程中发生过崩溃问题;
(2) 在日志中搜索“ANR”,如果搜到,可以判断 App 在测试过程中发生过无响应的问题;
我们可以把这些关键字,连同其上下文,包括 Java 异常信息和其他相关信息一起提交。其中,Java 异常信息主要有以下类型:
算术异常类:ArithmeticExecption
空指针异常类:NullPointerException
类型强制转换异常:ClassCastException
数组负下标异常:NegativeArrayException
数组下标越界异常:ArrayIndexOutOfBoundsException
违背安全原则异常:SecturityException
文件已结束异常:EOFException
文件未找到异常:FileNotFoundException
字符串转换为数字异常:NumberFormatException
操作数据库异常:SQLException
输入输出异常:IOException
违法访问错误:IllegalAccessError
内存不足错误:OutOfMemoryError
堆栈溢出错误:StackOverflowError

三、ANR 异常和 traces.txt 文件
Monkey 日志中 ANR 相关信息不够详细,当发现 APP 运行中存在 ANR 问题时,我们还需要使用 adb pull 命令从被测设备的/data/anr 目录下导出名为traces.txt 的对应 log 文件,一并交给开发人员排查问题。命令如下:adb pull /data/anr/traces.txt D:\logs\logcat 日志

四、adb logcat 查看 Android 系统日志
使用 monkey 进行测试时,还要注意 logcat 日志。这是 Android 系统日志,包含更详细的内容,可以帮助开发人员定位问题。如果要获取 logcat 日志,需要在执行 monkey 测试前开始记录 logcat 日志。完整步骤如下:
(1) adb logcat -c 清理现有日志
(2) adb logcat -v time > D:\logcat.log 开始记录日志
(3) 运行 monkey 程序。运行 monkey 程序结束后,可以把 logcat 日志文件 logcat.log 也提交给开发作为定位问题的参考。

五、复现问题
如果需要复现问题,可以在日志中找到当时执行的 Seed 值,再构建 monkey命令运行几次。构建命令时,seed 值自定义,定义成与第一次运行相同。程序运行的初始界面也跟第一次运行相同。后续回归问题也用同一个命令,seed 值保持相同。 如果问题不易复现,需要多运行几次,或多运行一段时间。

六、一次测试发现多个问题
monkey 执 行 时 如 果 加 了 --ignore-crashes 和--ignore-native-crashes,App 出现崩溃退出后,还会自动重启并继续发送事件(否则 monkey 中断)。我们可以等 monkey 进程结束后,去日志里直接搜索 CRASH。可能会看到多处问题。所以加这两个选项可以帮助我们在一次测试中发现多处崩溃问题。monkey 执行时如果加了--ignore-timeouts,App 出现无响应后还会继续发送事件;我们可以等 monkey 进程结束后,去日志里直接搜索 ANR,可能会看到多处问题。所以加这个选项可以帮助我们在一次测试中发现多处无响应的问题。上述三个选项都加,则可能在一次测试中发现多处 CRASH 或 ANR 问题。

-------------------------------------------------------------------------

版权声明:本文为CSDN博主「LilGaage」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/chengdiyiyo/article/details/121489811

标签:logcat,monkey,--,money,App,测试,日志,异常
From: https://www.cnblogs.com/snow1211/p/17691698.html

相关文章

  • DC逻辑综合工具简介-Design Compiler
    逻辑综合:代码转变为网表FPGA:代码转变为FPGA内部的数字单元在进行综合的时候往往会使用一些脚本工具1.目标RTL--书写完成后,输入到DC,复杂的RTL设计,通常是层次化设计综合库--使用的工艺库,比如台积电5nm工艺,设计约束和技术文件了解命令,掌握分析报告的方法2.必......
  • 2023-2024-1 20211306 密码系统设计与实现课程学习笔记1
    20211306密码系统设计与实现课程学习笔记1学习任务详情自学教材第1,2章,提交学习笔记知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行苏格拉底挑战,并提交过程截图,提示过程参考下面内容“我在学***X知识点,请你以苏格拉底的方式对我进行提问,一......
  • 【matplotlib基础】--文本标注
    Matplotlib文本和标注可以为数据和图形之间提供额外的信息,帮助观察者更好地理解数据和图形的含义。文本用于在图形中添加注释或提供更详细的信息,以帮助观察者理解图形的含义。标注则是一种更加细粒度的文本信息,可以被用来为特定的数据点或区域提供更详细的信息。本篇通过示例依......
  • 20211105李宜时《信息安全系统设计基础》第一周学习总结
    20211105李宜时《信息安全系统设计基础》第一周学习总结老师好,我针对教科书和云班课上面的知识学习了这门课第一章和第二章的知识Linux的一些常用的命令ls:用于列出目录中的文件和子目录。cd:用于改变当前工作目录。pwd:显示当前工作目录的路径。mkdir:创建新的目录。rmdir:删......
  • esm中的符号绑定
    在使用结构赋值的时候,如下图,打印的count都是1,因为结构赋值其实重新开辟了一块内存空间。在用esm导出的时候会发现第二个count变成了2,这是因为他们是同一块内存空间。这叫做符号绑定。解决:导出的时候使用常量const......
  • ElasticSearch+Kibana on K8s 讲解与实战操作(版本7.17.3)
    目录一、概述二、ElasticSearch节点类型与作用三、K8s集群部署四、ElasticSearchonK8s开始部署1)下载安装包2)构建镜像3)修改yaml编排4)开始部署5)测试6)elasticsearch-head5)卸载五、Kibana编排部署1)下载安装包2)构建镜像3)修改yaml编排4)开始部署5)测试验证6)卸载六、Elasticsearch7......
  • 第一、二章学习笔记
    一、知识点总结第一章Unix和Linux是两个相关但不完全相同的概念。下面是它们的概论知识点总结:Unix:Unix是一种操作系统家族,设计目标是提供一个可移植、多用户、多任务的操作系统。Unix采用了分层架构,将操作系统划分为内核等组件。Unix引入了许多重要的概念和工具,如文件描述符......
  • 就archlinux系统中apache 无法启动php的原因
    原文连接背景,在archlinux里面想使用apache作为服务器启动php服务,根据ArchWiki 的配置,并不成功检验原因:sudosystemctlstatushttpd结果:systemctlstatusapachesystemd[1]:StartedApacheWebServerhttpd[1444]:httpd:Syntaxerroronline542of/etc/httpd......
  • 【转载】典例
    本文改编自真实事件典例[每逢夏季,折花市总是会迎来最难熬的一段日子,空气中总是有一股热浪,蝉有气无力的嘶鸣着,像是要把这难熬的痛苦一并呕出来;街上静悄悄的,偶尔会有车经过的声音,适逢六月下旬,又到了一个学期的尾声,远处依稀听到孩子们的欢声笑语,可以判断出是考试结束后,大家正满怀期待......
  • Codeforces Round 811 (Div. 3) A. Everyone Loves to Sleep
    闹钟设有\(n\)个时间点,第\(i\)个时间为\((H_i,M_i)\)。在\(h,m\)时刻入睡,响铃必须起床,问能睡多久。使用\(set<pair<int,int>>\)存储闹铃时刻,然后在其中\(lower_{bound}\)到\(<first\geqh,second\geqm>\)的迭代器\(it\)。若\(it=end\),则\(it=begin......