测试进阶?你不得不会的Monkey压力测试

一.为什么要开展压力测试

a.提高产品的稳定性
b.提高产品的留存率

二.什么时候开展压力测试

a.首轮功能测试通过后
b.下班后的夜间进行

三.7个基础知识(理论部分)

3.1 手动测试场景与自动测试场景
测试进阶?你不得不会的Monkey压力测试
测试进阶?你不得不会的Monkey压力测试

Monkey测试工具介绍

Monkey是发送伪随机用户事件的工具;Monkey在手机系统里;Monkey需要借助ADB使用;

测试进阶?你不得不会的Monkey压力测试
MonkeyScript测试命令集合介绍
测试进阶?你不得不会的Monkey压力测试
测试进阶?你不得不会的Monkey压力测试
测试进阶?你不得不会的Monkey压力测试
测试进阶?你不得不会的Monkey压力测试
测试进阶?你不得不会的Monkey压力测试
异常测试结果分析
测试进阶?你不得不会的Monkey压力测试

四.6个实践小案例

一次Android App的压测实践

需要准备的环境:
1.Android SDK环境
2.python环境
测试进阶?你不得不会的Monkey压力测试
测试进阶?你不得不会的Monkey压力测试
测试进阶?你不得不会的Monkey压力测试
测试进阶?你不得不会的Monkey压力测试
测试进阶?你不得不会的Monkey压力测试
测试进阶?你不得不会的Monkey压力测试
Monkey高级参数——throttle实践
测试进阶?你不得不会的Monkey压力测试
测试进阶?你不得不会的Monkey压力测试
Monkey高级参数——seed实践
每一个seed值对应一个操作序列,seed值相同,操作序列就相同,最终的结果也是相同的,设定seed值可以用来复现bug
测试进阶?你不得不会的Monkey压力测试
测试进阶?你不得不会的Monkey压力测试
Monkey高级参数——触摸事件实践
测试进阶?你不得不会的Monkey压力测试
测试进阶?你不得不会的Monkey压力测试
加 -v 可以看到每次事件的详情

Monkey高级参数——其他事件实践
测试进阶?你不得不会的Monkey压力测试测试进阶?你不得不会的Monkey压力测试
测试进阶?你不得不会的Monkey压力测试
测试进阶?你不得不会的Monkey压力测试
测试进阶?你不得不会的Monkey压力测试
测试进阶?你不得不会的Monkey压力测试
测试进阶?你不得不会的Monkey压力测试
测试进阶?你不得不会的Monkey压力测试
测试进阶?你不得不会的Monkey压力测试
测试进阶?你不得不会的Monkey压力测试
crash异常测试结果析取
测试进阶?你不得不会的Monkey压力测试
测试进阶?你不得不会的Monkey压力测试
anr异常测试结果析取

测试进阶?你不得不会的Monkey压力测试
测试进阶?你不得不会的Monkey压力测试
MonkeyScript常用命令介绍
测试进阶?你不得不会的Monkey压力测试
测试进阶?你不得不会的Monkey压力测试
一般只需要关注标红的3个参数就可以了;x,y坐标点可以通过uiautomatorviewer获取;
测试进阶?你不得不会的Monkey压力测试
测试进阶?你不得不会的Monkey压力测试
测试进阶?你不得不会的Monkey压力测试
测试进阶?你不得不会的Monkey压力测试
测试进阶?你不得不会的Monkey压力测试
MonkeyScript实践
测试进阶?你不得不会的Monkey压力测试
实现上述流程的MonkeyScript脚本如下:
测试进阶?你不得不会的Monkey压力测试
前4行的数据原文照抄就可以了
测试进阶?你不得不会的Monkey压力测试
测试进阶?你不得不会的Monkey压力测试
这两条命令完成“点击”的操作

测试进阶?你不得不会的Monkey压力测试
如图,坐标(100,100)通过uiautomatorviewer获取

MonkeyScript实践问题解决

遇到的问题:脚本执行后,调用的不是被测试app
测试进阶?你不得不会的Monkey压力测试问题出在第一行LaunchActivity这一行语句上,这一行语句没有生效!

测试进阶?你不得不会的Monkey压力测试
具体原因是,测试app的工程文件内缺少一个属性值!如果缺少这一个属性值的话,app是不允许被外部调用的,也就是说通过命令行的方式是无法调用app的!

测试进阶?你不得不会的Monkey压力测试
所以,在执行monkeyscript脚本时,要确认的几个点:

  • 被测app试被允许外部调用的!

测试进阶?你不得不会的Monkey压力测试

  • 通过adb logcat获得的activity名需要和package名合在一起作为第二个参数!
  • 因为执行monkeyscript脚本没有调试功能,出现问题需要自己查找,所以在写monkeyscript脚本时一定要更加注意,特别是标点符号(一定是英文下的半角符号)!

MonkeyRunner常用API介绍

monkeyscript最大的弊端是在跑自动化脚本的时候不能截屏,而MonkeyRunner能做到这一点
测试进阶?你不得不会的Monkey压力测试
测试进阶?你不得不会的Monkey压力测试
MonkeyRunner的脚本用Python实现,如下图:
测试进阶?你不得不会的Monkey压力测试
执行.py文件的方式如下图:用 monkeyRunner .py 文件的形式
测试进阶?你不得不会的Monkey压力测试
测试进阶?你不得不会的Monkey压力测试
测试进阶?你不得不会的Monkey压力测试
测试进阶?你不得不会的Monkey压力测试
测试进阶?你不得不会的Monkey压力测试
测试进阶?你不得不会的Monkey压力测试
测试进阶?你不得不会的Monkey压力测试
测试进阶?你不得不会的Monkey压力测试
测试进阶?你不得不会的Monkey压力测试
测试进阶?你不得不会的Monkey压力测试
MonkeyRunner实践

目标:实现在搜索框中输入查询词,并截图

MonkeyRunner的实现脚本如下图:
测试进阶?你不得不会的Monkey压力测试
测试进阶?你不得不会的Monkey压力测试
MonkeyRunner补充说明

MonkeyRunner只能实现功能性的自动化过程,如果想让MonkeyRunner执行多次的话,可以通过python脚本来实现,也就是说用python来实现多线程、

循环操作等来执行脚本,可以帮助我们完成重复的操作过程!

点赞关注~~持续分享,加入我们,642830685,免费领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!技术大牛解惑答疑,同行一起交流。
测试进阶?你不得不会的Monkey压力测试