• APP稳定性测试-monkey日志分析及内存泄漏分析


    一.monkey日志分析

    1、程序无响应的问题:在日志中搜索“ANR

    2、崩溃问题:在日志中搜索“Exception“

    看前后执行事件进行复现

    如果Monkey测试顺利执行完成,在log的最后,会打印出当前执行事件的次数和所花费的时间;// Monkey finished代表执行完成。

    Monkey执行中断,在log的最后也能查看到当前已执行的次数。

    二、monkey内存泄露

    1.内存泄露发现方法

    执行monkey测试时有时会有内存泄露情况,可以进行排查

    a.手机弹出out of memory对话框–基本确定有内存泄露

    b.手机没有提示但是实际有内存泄露:排除方法通过logcat文件GC输出lgo信息,搜关键词GC,如果有下面四个中的一个,就可能存在内存泄露。(可以打开两个命令窗口,一个执行adb logcat,再执行monkey,待monkey结束后,ctrl+c中断log抓取)

    GC_FOR_ALLOC, 因为在分配内存时内存丌够引发的

    GC_EXPLICIT, 表明GC被显式请求触发的,如System.gc调用

    GC_CONCURRENT, 表明GC在内存使用率达到一定的警戒值时,自动触发

    GC_BEFORE_OOM, 表明在虚拟机抛出内存丌够异常OOM之前,执行最后一次回收内存垃圾

    2.发现内存泄露–内存报告分析(利用hprof参数的内存快照生成内存报告)

    在发现内存泄露后,可以执行相同的monkey,只需多加一个参数–hprof

    adb shell monkey -p 包名 --hprof --throttle 100 --pct-touch 50 --pct-motion 50 -v -v -v 1000 >c:\monkey.txt

    如果指定了这个选项,monkey会在发送时间的前后生成app内存快照文件,一般会在手机设备的/data/misc目录下生成hprof的文件。(注: /data/misc 需要root权限,可以在手机上安装个RE查看或通过手机助手查看)

    ps:文件转换:配置monkey测试时的sdk-tools下查看是否有hprof-conv命令,在命令行输入hprof-conv -help得知文件转化用法,直接转化就行,由.hprof转化成.conv格式。

    转化后的文件用eclipse的Memory Analyzer tool(MAT)查看,可以点击 Reports->Leak Suspects链接来生成报告。

    最后感谢每一个认真阅读我文章的人,下面这个网盘链接也是我费了几天时间整理的非常全面的,希望也能帮助到有需要的你!

    在这里插入图片描述

    这些资料,对于想转行做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……

    如果你不想一个人野蛮生长,找不到系统的资料,问题得不到帮助,坚持几天便放弃的感受的话,可以点击下方小卡片加入我们群,大家可以一起讨论交流,里面会有各种软件测试资料和技术交流。

    敲字不易,如果此文章对你有帮助的话,点个赞收个藏来个关注,给作者一个鼓励。也方便你下次能够快速查找。

    自学推荐B站视频:

    零基础转行软件测试:38天自学完软件测试,拿到了字节的测试岗offer,堪称B站最好的视频!

    自动化测试进阶:已上岸华为,涨薪20K,2022最适合自学的python自动化测试教程,自己花16800买的,无偿分享

    在这里插入图片描述

  • 相关阅读:
    about linux的一部分学习笔记
    使用QGIS转换矢量数据投影
    Zabbix6通过ODBC方式监控Oracle 19C最佳实践
    浅谈精密配电多回路监控装置在轨道交通项目上的应用
    java并发编程 BlockingQueue-阻塞队列(七)
    【乐吾乐2D可视化组态编辑器】连线
    YOLO目标检测——卫星遥感舰船检测数据集下载分享【含对应voc、coco和yolo三种格式标签】
    如何在 Ubuntu上使用 Nginx 设置密码验证
    快来体验快速通道,netty中epoll传输协议详解
    VUE 笔记 基础语法篇
  • 原文地址:https://blog.csdn.net/weixin_57805858/article/details/126404866