monkey——安卓压力测试,稳定性测试

一、monkey测试

  1. 用户量比较大
  2. 用户使用时间比较长
  • 压力测试:在一定时间内进行大量操作
  • 稳定性测试:在一段时间内的趋势

实施阶段:功能基本稳定,项目验收前

二、什么是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  输出第三方安装的

  • 三个忽略用的参数如果使用了标蓝色的这两个参数,执行时发生崩溃、闪退、超时的问题会结束app,重新启动app执行操作并继续之前未完的事件数,直到事件数结束,并且会在日志中记录该问题
  • 序列值和日志详细程度的参数

     可以写1~3个-v,-v越多打印出的日志越详细

  • 设置延迟时间即等待时间的参数

     所以测的时候就是,测某个包名,35万次的事件数,加上等待时间450毫秒,构成一条命令,但这条命令会执行完成会需要8-10小时,所以一般下班的时候执行命令,第二天上班的时候查看结果 

 3、测试成功与失败

打印日志结尾出现 //Monkey finished 表示monkey测试成功

其他均为失败,可能是bug,需要提交日志

  1.  crash崩溃 ----  logcat日志
  2.  anr无响应 ---- adb shell    /data/anr/traces.txt
  3.  monkey 测试未完成,异常中断
  4. 关机
  5. 重启

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超时之类的异常出现或者反应比较慢之类

posted @ 2023-11-10 01:02  云啊云的囤粮地  阅读(1206)  评论(0编辑  收藏  举报