App测试:Monke压力测试

Posted 说笑谈古松

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了App测试:Monke压力测试相关的知识,希望对你有一定的参考价值。

通过APP测试之Monkey压力测试(一),我们了解了Monkey是什么,Monkey是如何实现对APP进行压力测试,也熟悉了Monkey基本的命令,今天将在之前的基础上进行补充和拓展,一起深入接触并掌握Monkey,这之后,我们还将总结APP测试常见问题!

Monkey参数的约束限制规范:

  1. 一个 -p 选项只能用于一个包,指定多个包,需要使用多个 -p 选项;

2.-s 伪随机数生成器的seed值,如果用相同的seed值再次运行monkey,它将生成相同的事件序列,对9个事件分配相同的百分比;

3.-v 命令行的每一个-v将增加反馈信息的级别:
Level 0为一个-v的命令,除了启动的提示、测试完成和最终结果之外,提供较少的信息 ;
Level 1为两个-v的命令,提供较为详细的测试信息,如逐个发送到Activity的事件 ;
Level 2为三个-v的命令,提供更加详细的测试信息,如测试中被选中或未被选中的Activity;

常见命令组合:
1.monkey -p com.package -v 500 :简单的输出测试的信息;
2.monkey -p com.package -v -v -v 500 :以深度为三级输出测试信息;
3.monkey -p com.package --port 端口号 -v :为测试分配一个专用的端口号,不过这个命令只能输出跳转的信息及有错误时输出信息;
4.monkey -p com.package -s 数字 -v 500 :为随机数的事件序列定一个值,若出现问题下次可以重复同样的系列进行排错;
5.monkey -p com.package -v --throttle 3000 500
:为每一次执行一次有效的事件后休眠3000毫秒;

Monkey测试参数建议
间隔时间:500毫秒;
种子数:随机;
遇到错误:不停止;
执行时长:每机型不小于12小时或点击次数:100万次;
机型覆盖建议:覆盖高中低端机型
不同芯片平台(高通、海思、MTK等)
不同分辨率(480*800以上主流分辨率)
不同安卓版本(安卓8.0以上主流安卓版本);

Monkey参考命令
adb shell monkey -p com.tencent.XXX(替换包名) --throttle 500 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes -v -v -v 1000000>d:\\monkeyScreenLog.log
这条命令会将日志文件重定向放到你的D盘根目录下。
测试可以发现的问题
android平台应用程序可能产生以下两种问题:
1、Crash
2、ANR (响应延时)

Monkey日志定位问题
1 .典型Monkey测试日志文件输出,如下:

//主要Log文件说明
anr目录:从手机/data/anr导出的日志,保存发生anr crash 时的相关信息;

2 .通过日志定位问题步骤
(1) 在MonkeyScreen.Log日志文件搜索关键词“Fatal”、“Crash”、“ANR”定位到发生Crash的详细堆栈信息,或分析发生Crash前后的日志事件;
如图:


然后把相应的日志发给开发即可。

以上是关于App测试:Monke压力测试的主要内容,如果未能解决你的问题,请参考以下文章

App测试:Monke压力测试

App测试:Monke压力测试

APP测试之-网址

APP压力测试Monkey工具--新手入门

Monkey环境搭建

App机型测试