monkey测试===通过monkey测试检查app内存泄漏情况_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > monkey测试===通过monkey测试检查app内存泄漏情况

monkey测试===通过monkey测试检查app内存泄漏情况

 2017/12/1 12:05:19  botoo  程序员俱乐部  我要评论(0)
  • 摘要:最近一直在研究monkey测试。网上资料很多,但都是一个抄一个的。原创的很少我把检查app内存泄漏的情况梳理一下:参考资料:Monkey测试策略:https://testerhome.com/topics/597AndroidMonkey测试详细介绍:http://www.jikexueyuan.com/course/1619.htmlMonkey总结:https://testerhome.com/topics/3517http://www.linuxidc.com/Linux/2014
  • 标签:KEY 情况 测试 APP 内存

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

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

参考资料:

  • Monkey测试策略:https://testerhome.com/topics/597 
  • Android Monkey测试详细介绍:http://www.jikexueyuan.com/course/1619.html
  • Monkey总结:https://testerhome.com/topics/3517
  • http://www.linuxidc.com/Linux/2014-03/97563.htm
  • https://www.cnblogs.com/jinjiangongzuoshi/p/5203738.html

首先基础的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  进程的名称

 

 

 

 

 

 

 

 

 

发表评论
用户名: 匿名