zoukankan      html  css  js  c++  java
  • monkey测试===通过monkey测试检查app内存泄漏和cpu占用

    最近一直在研究monkey测试。网上资料很多,但都是一个抄一个的。原创的很少

    把检查app内存泄漏的情况梳理一下:

    参考资料:

    首先基础的monkey测试,之前讲过。参照以前文档

    在monkey测试的同时我们需要关注的一个点。

    内存检测

    内存检测用批处理脚本记录,约5秒记录一次:

    脚本如下,保存为bat文件

    @echo off &color 0a&setlocal enabledelayedexpansion&title %~n0
    ::@mode con lines=18 cols=50
    
    set package1=com.xxxx.xxxxx
    
    
    adb shell dumpsys meminfo %package1% | findstr "Pss" > ./info_1.txt
    
    :start
    adb shell dumpsys meminfo %package1% | findstr "TOTAL" >> ./info_1.txt
    
    
    echo.
    echo.
    ping -n 5 127.1>nul
    goto start

    我们先可以看一下基础的命令,查看应用内存的命令:adb shell dumpsys meminfo (进程名)

    这里得到的信息非常多,重点关注如下几个字段:

    (1) Native/Dalvik 的 Heap 信息

    具体在上面的第一行和第二行,它分别给出的是JNI层和Java层的内存分配情况,如果发现这个值一直增长,则代表程序可能出现了内存泄漏。

    (2) Total 的 PSS 信息

    这个值就是你的应用真正占据的内存大小,通过这个信息,你可以轻松判别手机中哪些程序占内存比较大了。

    所以我们运行上面的bat文件。得到的数据是这样的:

    右边三列,如果执行了用户事件流10万次后,发现数值一直在增长,那么很有可能是内存泄漏了。

    左边第一列,表示app占据内存的大小,比如开四个app程序同时,我们可以比较哪个程序最占用内存,就是通过这个数据!

    cpu检查:

     bat脚本为

    @echo off &color 0a&setlocal enabledelayedexpansion&title %~n0
    ::@mode con lines=18 cols=50
    
    set package1=com.xxxx.xxxxx
    
    
    adb shell top -n 1 | findstr "PID" > ./cupInfo_1.txt
    
    :start
    adb shell top -n 1 | findstr %package1% >> ./cupInfo_1.txt
    
    
    echo.
    echo.
    ping -n 5 127.1>nul
    goto start

    用到的是adb shell top 命令参考文档:http://blog.csdn.net/kittyboy0001/article/details/38562515

     

    PID   进程id
    PR    优先级
    CPU%  当前瞬时CPU占用率
    S     进程状态:D=不可中断的睡眠状态, R=运行, S=睡眠, T=跟踪/停止, Z=僵尸进程
    #THR  程序当前所用的线程数
    VSS   Virtual Set Size  虚拟耗用内存(包含共享库占用的内存)
    RSS   Resident Set Size 实际使用物理内存(包含共享库占用的内存)
    PCY   调度策略优先级,SP_BACKGROUND/SP_FOREGROUND
    UID   进程所有者的用户id
    Name  进程的名称

     *最好的办法是做一个Excel图表,把对比数据列出来

    顺便提一下


    如果你也喜欢Python 这里有一群Python爱好者汇集在此。

    关注微信公众号:【软件测试技术】,回复 888,获取QQ群号。 

     

     

     

  • 相关阅读:
    灵活修改页面控件
    玫瑰颜色各代表什么含义?
    转:TCP端口详解
    将数据导出成text文件
    将.net布署在运行Apache服务器上
    在多线程下请注意代码的安全
    OpenWrt 设置IP地址
    WordPress 内存缓存加速插件:Batcache
    PVE 开启https 及免费SSL证书申请
    获取OpenWrt mac地址
  • 原文地址:https://www.cnblogs.com/botoo/p/7940998.html
Copyright © 2011-2022 走看看