monkey 压力测试概述

一、命令adb shell monkey 

  1. -p 指定packageName ,如果是多个则每个包名前面都要加上 -p
  2. count 设置执行次数,adb shell monkey 100
  3. -s 设置种子数,相当于设置一条路径,以便复现问题的时候,能按照同一路径进行回归
  4. --throttle 设置每次随机事件的时间间隔(单位:毫秒) 例:adb shell monkey 100 --throttle 500
  5. -v 日志详细级别,默认一个最多三个,例:adb shell monkey 100 --throttle 500 -v -v -v 100(100次时间,间隔500毫秒,最细log)
  6. --ignore-crashes 运行中忽略crash ,直至用例事件跑完
  7. -ignore-timeouts 忽略运行中的超时,直至用例事件跑完
  8. >d:\monkey001.txt    打印输出日志
  9. 设置事件百分比:  
  • --pct-touch    触摸事件
  • --pct-motion    滑动事件
  • --pct-pinchzoom    缩放事件
  • --pcy-trackball    轨迹球事件
  • --pct-rotation    屏幕旋转事件
  • --pct-nav    基本导航事件
  • --pct-majornav    主要导航事件【(menu等)】
  • --pct-syskeys    系统事件百分比【系统按键事件(音量,home,返回按键等)】
  • --pct-appswitch    Activity启动事件比分比
  • --pct-flip    键盘翻转事件
  • --pct-anyevent    其他事件百分比

例如: adb shell monkey 1000  -p 包名 -s 123 --throttle 500 --ignore-crash --ignore-timeout -v -v --pct-touch 50 --pct-motion 50 2>d:/error.txt 1>d:/verbose.txt【详细级别为1 的主要是用来观看日志信息和事件分布信息,为2的主要是用来观看error的信息,做进一步的bug分析】

二、报告分析

一般执行完毕后日志结尾处都会有finish及用时等信息。Monkey test跑出来crashbug等级永远为1,版本release前,Monkey跑出的结果中crash要为0。业内标准:final release前,Monkey跑完的总次数应为25W次,其结果里不允许有nullPointException出现.

结果分析可以通过关键字定位:ANR、CRASH、GC、Exception

1、无响应问题搜索关键字:ANR【 ANR问题:在日志中搜索“ANR”(“Application Not Responding"),说明有bug,出现ANR,一般是主线程的响应超过5秒,或者BroadcastReceiver没有在10秒内作出响应。这个就是一个比较严重的缺陷。】

2、崩溃问题搜索:CRASH

3、内存泄漏:GC

4、空指针:Exception

发布了34 篇原创文章 · 获赞 12 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/qq_32327737/article/details/100667619