iOS monkey 稳定性测试 monkey如何进行稳定性测试_Monkey

Monkey是Andriod的一个行命令工具,可以作为Andriod的自动化测试的一种手段。

其实就是模拟一个用户在App上乱按、乱输,与其说是模拟用户,不如说就是模拟个捣乱的猴子,毕竟有时候确实不知道用户会怎样折磨软件hhh

所以Monkey测试是做app软件的稳定性、健壮性测试的有效方法 


Monkey的不足

  • Monkey可以根据一个指定的命令脚本发送按键消息,但不支持判断和读取待测界面的值来执行验证操作。毕竟只是只猴子
  • 测试对象只能是应用程序包,有局限性。不过测试是够用了
  • Monkey测试使用的事件流数据是伪(模拟)随机的,不能自定义。不过可以通过相同的Seed复现,所以是缺点也是优点吧。

因为Monkey测试多是为了满足测app的稳定性、健壮性的,Monkey要在产品稳定、没有严重bug的时候再折磨来软件。不然App一直在改,测了个寂寞


 

Monkey基本玩法

启动Andriod设备→打开cmd命令行界面→连接设备adb devices→adb shell monkey [option]

-p:被测试app的包名

-v:反馈信息的级别

-v:0级  -v-v:一级  -v-v-v:二级  (1级够用0级太详细了....)

Monkey事件

--pct-touch  触摸事件

  • 其实就是起和落的事件Touch(ACTION_DOWN)和Touch(ACTION_UP)

--pct-motion        手势事件

  • 其实就是触摸事件多个移动:ACTION_DOWN、ACTION_MOVE、ACTION_UP

--pct-pinchzoom        二指缩放事件

  • 其实就是两个手势事件同时:ACTION_DOWN、ACTION_POINTER_DOWN、ACTION_MOVE、ACTION_UP、ACTION_POINTER_UP

--pct-trackball        轨迹事件

  • 已经凉凉的操作交互......Trackball(ACTION_MOVE)

--pct-rotation        屏幕旋转事件

  • 隐藏事件,Andriod官方文档没写....rotation

--pct-nav        基本导航事件

  • 又一个凉凉的方向键交互...Key(ACTION_DOWN)、Key(ACTION_UP)

--pct-majornav        主要导航事件

  • 三大金刚键Key(ACTION_DOWN)、Key(ACTION_UP)

--pct-syskeys        系统按键事件

  • Key(ACTION_DOWN)、Key(ACTION_UP)

--pct-appswitch        启动Activity事件

  • 启动Activity事件是指在手机上启动一个Activity的操作。在随机的时间间隔中,Monkey将执行一个startActivity()方法,作为最大限度上覆盖被测包中全部Activity的一种方法。该事件是由一个Switch操作组成的。

--pct-flip        键盘事件

  • 键盘事件主要是一些与键盘相关的操作。比如点击输入框、键盘弹起、点击输入框以外区域、键盘收回等。主要是键盘的打开和关闭操作。

事件之间的延迟

--throttle 300

--throttle time --randomize-throttle

各种忽略响应

--ignore-timeouts        忽略程序无响应

  • 设置后,Monkey会执行完所有的事件,不会因ANR(Application No Responding)而停止

--ignore-crashes        忽略程序崩溃

  • 设置后,Monkey会执行完所有的事件,不会因崩溃(Crash)而停止

--ignore-native-crashes        忽略Monkey本身的异常

  • 忽略monkey本身的异常,直到事件执行完毕

--ignore-security-exceptions        忽略证书或认证异常

  • 设置后,Monkey会执行完所有的事件,不会因认证或证书异常而停止

--monitor-native-crashes        监视系统中本地代码发生的崩溃

-s        神奇的种子

  • 如果seed相同,则两次Monkey测试所产生的事件序列也相同的