monkey学习总结

Monkey自动化测试工具总结

Monkey自动化测试工具可以测试哪些对象?

Monkey是一款安卓应用的自动化测试工具,可以测试安卓系统安装的APP应用。

Monkey自动化测试工具可以做哪些方面的测试?

Monkey可以用来做压力测试、稳定性测试。

Monkey自动化工具的原理?

使用安卓调试桥ADB工具,调试安卓系统的后台守护进程通过ADB命令方式启动

Monkey自动化测试工具的相关功能。

Monkey可以通过运行模拟器或设备上的程序,如点击,触屏,旋转,或者抓取等一系列系统事件,通过随机和重复的操作对应用程序进行压力和稳定性测试。

Monkey事件类型有哪些?

Monkey11类事件,触摸事件、滑动事件、缩放事件、轨迹球事件、屏幕旋转事件、导航事件等。

0:触摸事件百分比         参数--pct-touch

1:滑动事件百分比         参数--pct-motion

2:缩放事件百分比         参数--pct-pinchzoom

3:轨迹球事件百分比      参数--pct-trackball

4:屏幕旋转事件百分比   参数 - -pct-rotation

5:基本导航事件百分比   参数 --pct-nav

6:主要导航事件百分比   参数--pct-majornav

7:系统事件百分比          参数--pct-syskeys
    8Activity启动事件百分比      参数--pct-appswitch

9:键盘翻转事件百分比          参数--pct-flip

    10:其他事件百分比                参数--pct-anyevent

 

Monkey运行参约束

--hprof

设置此选项,将在Monkey事件序列之前和之后立即生成profiling报告。

这将会在data/misc中生成大文件(~5Mb),所以要小心使用它,不常用。

--ignore-crashes

当应用程序崩溃或发生任何失控异常时,Monkey将停止运行。

如果设置此选项,Monkey将继续向系统发送事件,直到计数完成。

--ignore-timeouts

当应用程序发生任何超时错误(“Application Not Responding”对话框)时,

Monkey将停止运行。如果设置此选项,Monkey将继续向系统发送事件,

直到计数完成。

--ignore-security-exceptions

当应用程序发生许可错误(如启动一个需要某些许可的Activity)时,

Monkey将停止运行。如果设置了此选项,Monkey将继续向系统发送事件,

直到计数完成。

--kill-process-after-error

Monkey由于一个错误而停止时,出错的应用程序将继续处于运行状态。

当设置了此选项时,将会通知系统停止发生错误的进程。

--monitor-native-crashes

监视并报告Android系统中本地代码的崩溃事件。

如果设置了--kill-process-after-error,系统将停止运行。

 

随机种子是什么意思?

随机数种子,用于指定伪随机数生成器的seed值,如果seed相同,则两次monkey

试所产生的事件序列也相同。

Monkey测试停止条件?

(1)如果程序崩溃或者接收到任何失控异常,monkey将停止并报错。

(2)如果应用程序产生了应用程序不响应(application not responding)的错误,Monkey将会停止报错。

Monkey自动化测试在测试过程中那个阶段做比较合适?

在做完几轮功能测试后系统基本稳定没有严重BUG,再去实施Monkey自动化测试做压力测试和稳定性测试。

做过哪些自动化测试项目?是怎么去测试的?测试结果怎么样?

所做的项目:格瓦拉生活手机app的稳定性和健壮性测试。

是怎么去测试的?测试过程怎么样?

1、测试阶段:在功能测试完成后系统基本没有严重的BUG是开展自动化测试。

2、测试策略和执行过程先测试自动化测试1000次,发现程序异常退出,查看日志定位错误发现内存泄漏(out of memoly)稳定性有待提高,问题提交开发后再逐步增加自动化测试次数,分别测试了;5000,10000,200万次。持续运行了200万次,事件延迟3000ms,没有问题,结束Monkey自动化测试。

常用的ADB命令有哪些?

1adb devices  查询系统挂载设备有哪些

2adb shell    进入操作系统目录

3su - root    切换到超级用户

4adb -s emulator-5554 shell  进入某个设备(emulator-5554)的shell

5adb start-server  启动adb服务

6adb kill-server  停止adb服务

7adb shell pm list package -f  查看手机内所有apk对应的包名和路径

   adb ls /data/data 显示包名

8adb shell dumpsys window w | findstr name= com.android.caculator2  查看具体包名

9adb shell dumpsys activity >E:\log.txt 将当前系统所有当前运行的activity(程序)输出到本地目录。

10adb shell monkey –p com.Android.calculator2 –v –v 500

对计算机程序使用monkey工具测试

11adb shell monkey p com.android.calculator2  -v 500 > E\XXX.log

输出日志到本地目录

12adb install  D:\ com.tencent.qqlite.apk  本地路径apk 给设置安装apk

13adb uninstall com.tencent.qqlite  卸载apk软件

14 adb push 本地路径\filename   远程路径   PC上发送文件到安卓模拟器

15adb pull 远程路径/ filename   本地路径   PC上发送文件到安卓模拟器

16adb remount 重新装载安卓系统文件

 

MOnkey测试策略示范:

Case1、整机测试,而不测试拨号盘应用,忽略所有错误,次数100万次。

Adb shell monkey --ignore-crashes --ignore--timeouts --pkg-black list-file

/data/local/tmp/black list.txt -v -v 1000000

Case2、测试计算器30万次,随机种子为100,随机延迟0~1秒,忽略所有错误

Adb shell monkey -p com.android.calculator2 -s 100 --throttle 1000 --randomize-throttle --ignore-crashes --ignore-timeouts -v -v 300000

Case3、测试计算机,触摸时间30%,其他按键50%,错误停止,延迟200,10万次

Adb shell monkey -p com.android.calculator2 --throttle 200 --pct-touch 30 --pct-anyevent 50 -v -v

100000

Case4、对计算机进行旋转压力测试,事件延迟2秒,10万次

Adb shell monkey -p com.android.calculator2 --pct-rotation 100 --throttle 2000 -v -v 100000

Case5、仅对整机的应用开启测试,事件延迟5秒,10万次

Adb shell monkey --pct-appswitch 100 --throttle 5000 100000.

Monkey面试题:

Monkey如何模拟手动测试?

使用参数--throttle 延迟事件时间。

Monkey如何模拟事件所占比。

--pct-touch pct 参数

如何重现Monkey所测出的错误。

使用-s参数,seed随机种子。

Monkey能不能写脚本,能。

1、指定事件参数控制百分比

2、使用-f参数加脚本文件。

Monkey 一般测试多久,3小时以上。

 

posted @ 2017-08-03 14:41  Runner~  阅读(231)  评论(0编辑  收藏  举报