小学期软件工程团队项目进度4

今天我进行了安卓测试工具Monkey的学习。

Monkey的特性包括:(1)测试的对象仅为应用程序包(apk包),有一定的局限性;(2)Monkey测试使用的事件流数据流是随机的,不能进行自定义;(3)可对Monkey测试的对象、事件数量、类型、频率等进行设置。

Monkey是一个命令行工具,包含大量的操作,可以分为四类:(1)基本的配置操作,例如设置测试的事件数;(2)操作约束,例如限制在一个单一的包中测试;(3)事件类型和频率;(4)调试操作。

当Monkey运行时会生成事件序列并发送给系统,它也会观察测试中的系统并寻找三种特殊对待的条件:(1)如果用户约束Monkey在一个或多个特定的包中运行,它会观察浏览到其它包中的尝试操作,并阻止这些操作;(2)如果应用程序崩溃或收到任何种类无法处理的异常,Monkey将会停止运行并报告错误;(3)如果应用程序产生了一个无法响应的错误,Monkey将会停止运行并报告错误。

 

Monkey是Android平台自带的一个工具,因此在安装了Android SDK的机器上直接用命令启动即可。

执行Monkey的基本命令是:

$ adb shell [options]

将待测apk文件复制到Android SDK对应platform-tools目录下,如图3-1:

 

 

图 3-1 Monkey测试的应用程序的位置                             

 

用数据线将Android设备与电脑连接,检测Android设备是否成功连接的命令为adb devices,连接成功如图3-2;执行命令将应用程序安装至Android设备,如图3-2。

图 3-2 检测移动设备(手机)与电脑是否连接成功

                      

 

执行命令:

$ adb shell monkey -p com.smorgasbork.hotdeath -v 1000 --throttle 2000 -s 798

对HotDeath进行测试,结果如图 3-3、图 3-4。从图 3-3可以看出Monkey生成事 件的11种类型及所占总事件数的百分比,如序号0表示触摸事件,1表示动作事件, 2表示轨迹事件,3表示导航事件,4表示“主要”导航事件,5表示系统按键事件 等。图 3-4中可以看出运行中Monkey生成的事件操作。

 

图 3-3 Monkey生成事件的类别

                                           

图 3-4 Monkey测试过程中生成的事件操作

 

 

该资料参考于:Android应用测试工具的覆盖率分析与比较——黄晓伟

 

posted @ 2016-06-30 21:13  xxxxxdxd  阅读(224)  评论(0编辑  收藏  举报