monkey——安卓压力测试,稳定性测试
一、monkey测试
- 用户量比较大
- 用户使用时间比较长
- 压力测试:在一定时间内进行大量操作
- 稳定性测试:在一段时间内的趋势
实施阶段:功能基本稳定,项目验收前
二、什么是monkey测试
操作随机,对整体app进行验证(无法对指定模块功能测试),模拟人操作(调节亮度、调节声音、截屏、设置),伪随机(本质中有逻辑,仅对代码而言)
三、如何做monkey测试
1.基本环境准备
电脑端环境——环境变量
- sdk压缩包,找官方的,解压缩即可使用----解出来后找到adb.exe所在的目录,添加到系统变量的path里,adb环境
- jdk,同添加到环境变量里,java环境
验证是否成功
java -version adb -version #cmd里打这两个命令能识别出相应版本号就说明成功
手机端的准备工作
手机数据线连接电脑,打开开发者模式—— 打开usb调试
连接后电脑要安啥就安?然后cmd输入adb device能显示出设备就行,如下
2、执行monkey测试
monkey的命令全在cmd中执行
通过adb shell monkey 这条命令能显示出所有相关参数
- []内的可写可不写
- count表示次数/事件数,它必须写,写数字,如:adb shell monkey 200 ---针对手机整机进行了200次的事件操作
- 所有参数都写在monkey和事件数之间
- adb shell monkey -p 被测app的包名 事件数 ---对指定应用进行指定次数的事件操作
-
-
- 如何查看包名-------adb shell pm list packages (输出所有应用的包名)
-s 输出系统级别的
-3 输出第三方安装的
- 如何查看包名-------adb shell pm list packages (输出所有应用的包名)
-
- 三个忽略用的参数如果使用了标蓝色的这两个参数,执行时发生崩溃、闪退、超时的问题会结束app,重新启动app执行操作并继续之前未完的事件数,直到事件数结束,并且会在日志中记录该问题
-
序列值和日志详细程度的参数
可以写1~3个-v,-v越多打印出的日志越详细
-
设置延迟时间即等待时间的参数
所以测的时候就是,测某个包名,35万次的事件数,加上等待时间450毫秒,构成一条命令,但这条命令会执行完成会需要8-10小时,所以一般下班的时候执行命令,第二天上班的时候查看结果
3、测试成功与失败
打印日志结尾出现 //Monkey finished 表示monkey测试成功
其他均为失败,可能是bug,需要提交日志
- crash崩溃 ---- logcat日志
- anr无响应 ---- adb shell /data/anr/traces.txt
- monkey 测试未完成,异常中断
- 关机
- 重启
4、bug提交
日志关键字
崩溃:fatal 致命的,reboot 重启,OOM内存泄漏
超时:ANR
APP测试之monkey测试实战_哔哩哔哩_bilibili
怎么查看logcat?
做monkey测试的流程?
启动安卓模拟器/真机,进入开发者模式,打开打开usb调试,cmd通过命令adb device查看设备连接情况,然后输入相应的adb shell monkey 包名 事件数 加上延迟时间 命令运行。
如果monkey需要指定的设备怎么做?
一般是做一些什么样的事件?
我们直接用monkey对我们的app包做了一些随机事件发送,大概35万次,加上设置的延迟时间450毫秒会持续8小时左右,没有指定它的具体事件,然后主要看这个app有没有一些像crash崩溃,anr超时之类的异常出现或者反应比较慢之类