monkey学习总结
Monkey自动化测试工具总结
Monkey自动化测试工具可以测试哪些对象?
Monkey是一款安卓应用的自动化测试工具,可以测试安卓系统安装的APP应用。
Monkey自动化测试工具可以做哪些方面的测试?
Monkey可以用来做压力测试、稳定性测试。
Monkey自动化工具的原理?
使用安卓调试桥ADB工具,调试安卓系统的后台守护进程通过ADB命令方式启动
Monkey自动化测试工具的相关功能。
Monkey可以通过运行模拟器或设备上的程序,如点击,触屏,旋转,或者抓取等一系列系统事件,通过随机和重复的操作对应用程序进行压力和稳定性测试。
Monkey事件类型有哪些?
Monkey有11类事件,触摸事件、滑动事件、缩放事件、轨迹球事件、屏幕旋转事件、导航事件等。
0:触摸事件百分比 参数--pct-touch
1:滑动事件百分比 参数--pct-motion
2:缩放事件百分比 参数--pct-pinchzoom
3:轨迹球事件百分比 参数--pct-trackball
4:屏幕旋转事件百分比 参数 - -pct-rotation
5:基本导航事件百分比 参数 --pct-nav
6:主要导航事件百分比 参数--pct-majornav
7:系统事件百分比 参数--pct-syskeys
8:Activity启动事件百分比 参数--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命令有哪些?
1、adb devices 查询系统挂载设备有哪些
2、adb shell 进入操作系统目录
3、su - root 切换到超级用户
4、adb -s emulator-5554 shell 进入某个设备(emulator-5554)的shell
5、adb start-server 启动adb服务
6、adb kill-server 停止adb服务
7、adb shell pm list package -f 查看手机内所有apk对应的包名和路径
adb ls /data/data 显示包名
8、adb shell dumpsys window w | findstr name= com.android.caculator2 查看具体包名
9、adb shell dumpsys activity >E:\log.txt 将当前系统所有当前运行的activity(程序)输出到本地目录。
10、adb shell monkey –p com.Android.calculator2 –v –v 500
对计算机程序使用monkey工具测试
11、adb shell monkey –p com.android.calculator2 -v 500 > E:\XXX.log
输出日志到本地目录
12、adb install D:\ com.tencent.qqlite.apk 本地路径apk 给设置安装apk
13、adb uninstall com.tencent.qqlite 卸载apk软件
14、 adb push 本地路径\filename 远程路径 从PC上发送文件到安卓模拟器
15、adb pull 远程路径/ filename 本地路径 从PC上发送文件到安卓模拟器
16、adb 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小时以上。