您好,欢迎访问三七文档
Monkey一、什么是MonkeyMonkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。二、Monkey的特征1、测试的对象仅为应用程序包,有一定的局限性。2、Monky测试使用的事件流数据流是随机的,不能进行自定义。3、可对MonkeyTest的对象,事件数量,类型,频率等进行设置。三、Monkey的基本用法基本语法如下:$adbshellmonkey[options]options选项(adb-dshellmonkey):usage:monkey[-pALLOWED_PACKAGE[-pALLOWED_PACKAGE]...][-cMAIN_CATEGORY[-cMAIN_CATEGORY]...][--ignore-crashes][--ignore-timeouts][--ignore-security-exceptions][--monitor-native-crashes][--ignore-native-crashes][--kill-process-after-error][--hprof][--pct-touchPERCENT][--pct-motionPERCENT][--pct-trackballPERCENT][--pct-syskeysPERCENT][--pct-navPERCENT][--pct-majornavPERCENT][--pct-appswitchPERCENT][--pct-flipPERCENT][--pct-anyeventPERCENT][--pkg-blacklist-filePACKAGE_BLACKLIST_FILE][--pkg-whitelist-filePACKAGE_WHITELIST_FILE][--wait-dbg][--dbg-no-events][--setupscriptfile][-fscriptfile[-fscriptfile]...][--portport][-sSEED][-v[-v]...][--throttleMILLISEC][--randomize-throttle]COUNT如果不指定options,Monkey将以无反馈模式启动,并把事件任意发送到安装在目标环境中的全部包。下面是一个更为典型的命令行示例,它启动指定的应用程序,并向其发送9999个伪随机事件:$adbshellmonkey-pyour.package.name-v9999四、Monkey测试的一个实例通过这个实例,我们能理解Monkey测试的步骤以及如何知道哪些应用程序能够用Monkey进行测试。Windows下(注:2—4步是为了查看我们可以测试哪些应用程序包,可省略):1、通过eclipse启动一个Android的emulator2、在命令行中输入:adbdevices查看设备连接情况C:\DocumentsandSettings\AdministratoradbdevicesListofdevicesattachedemulator-5554deviceemulator-5556device015ED9A50C00A01Adevice3、在有设备连接的前提下,在命令行中输入:adbshell进入shell界面C:\DocumentsandSettings\Administratoradbshell4、查看data/data文件夹下的应用程序包。注:我们能测试的应用程序包都在这个目录下面C:\DocumentsandSettings\Administratoradbshell#lsdata/datalsdata/datacom.google.android.btroutercom.android.providers.telephonycom.android.mmscom.android.providers.downloadscom.android.deskclockcom.android.emailcom.android.browsercom.android.calculator2....5、以com.android.calculator2作为对象进行MonkeyTest#monkey-pcom.android.calculator2-v9999其中:-p表示对象包–v表示事件数量运行过程中,Emulator中的应用程序在不断地切换画面。按照选定的不同级别的反馈信息,在Monkey中还可以看到其执行过程报告和生成的事件。注:具体参数的设定可参考:五、关于Monkey测试的停止条件MonkeyTest执行过程中在下列三种情况下会自动停止:1、如果限定了Monkey运行在一个或几个特定的包上,那么它会监测试图转到其它包的操作,并对其进行阻止。2、如果应用程序崩溃或接收到任何失控异常,Monkey将停止并报错。3、如果应用程序产生了应用程序不响应(applicationnotresponding)的错误,Monkey将会停止并报错。通过多次并且不同设定下的Monkey测试才算它是一个稳定性足够的程序。BenchmarkTestOnAndroidDevices一、Android设备上的Benckmark测试概述同PC相比,在Android设备上的性能测试还没有一个公认的标准。也没有PC上那么多的测试程序集。但我们可以通过一些工具所得到的信息更好的了解设备的特性,毫无疑问,这也是非常有价值的参考信息。BenchmarkTest的关键就在于如何找到这一个标准以及能够提供测试各种性能的功能强大的程序集。二、目前Android平台上的测试工具收集(以Android手机为例)1、Quadrant(AuroraSoftworks推出)针对CPU、内存、I/O输入输出、2D及3D图像的性能,提供了一键式的完整测试,或是根据需要选择其中某些测试项目单独测试。它还提供了内容格式清晰的系统信息查看功能,让你方便的了解非常详尽的手机处理器、内存及系统版本等特性。该公司网站为:版本一:QuadrantStandard免费版,2010年8月18日更新最新版本v1.1.2,在Google应用商店有超过3000个评论,综合评分高达4.5星,免费的标准版可以提供所有的测试功能,唯一不便的地方是在测试后需要向极光软件(AuroraSoftworks)的服务器提交数据进行分析后,才能显示结果。版本二:QuadrantAdvanced高级版,2010年8月8日更新最新版本v1.1.1,售价2.99美元,这个版本在测试功能上与免费的标准版完全一样,但在测试结束后会直接显示一个测试结果直方图:版本三:QuadrantProfessional专业版,2010年8月8日更新最新版本v1.1.1,售价高达24.99美元,主要的差别其实就是“授权”费,允许使用此版本进行测试获得的结果可以用于商业用途,包括将测试结果出版在商业媒体上。2、Benchmark1.03一个测试系统性能的软件,可以测试Android系统的2D图形、cpu、内存和文件系统等方面的性能.测试项目非常多,且测试速度快,可以给出一个参考分数供用户参考使用。3、Linpackforandroid用于测试系统整体性能,偏向单任务下的表现。官方网址:、Sunspiderbenchmark测试webkit内核浏览器的JavaScript表现。测试地址:测试方式:直接在浏览器上打开该网页即可,测试结果会直接显示在网页上。5、GoogleV8benchmarkGoogleV8Benchmark测试是Google放出的Javascript测试集。V8BenchmarkSuite会载入JavaScript代码,对系统的内核、加密、解密、渲染等进行速度测试。测试地址:测试方式:直接在浏览器上打开该网页即可,测试结果会直接显示在网页上。说明:测试得分越高说明浏览器的网页显示速度越快。6、Dromaeobenchmark由Mozilla基金会发布,它提供了浏览器表现的第三方视角。测试网址:测试方式:在浏览器上打开该网页,可以选择自己想做的测试。分类:Android自动化测试Android自动测试之monkeyrunner工具monkeyrunner工具前言:最近开始研究Android自动化测试方法,对其中的一些工具、方法和框架做了一些简单的整理,其中包括android测试框架、CTS、Monkey、Monkeyrunner、benchmark、其它testtool等等。因接触时间很短,很多地方有不足之处,希望能和大家多多交流。一、什么是monkeyrunnermonkeyrunner工具提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器。通过monkeyrunner,您可以写出一个Python程序去安装一个Android应用程序或测试包,运行它,向它发送模拟击键,截取它的用户界面图片,并将截图存储于工作站上。monkeyrunner工具的主要设计目的是用于测试功能/框架水平上的应用程序和设备,或用于运行单元测试套件,但您当然也可以将其用于其它目的。二、monkeyrunner工具同Monkey工具的差别Monkey:Monkey工具直接运行在设备或模拟器的adbshell中,生成用户或系统的伪随机事件流。monkeyrunner:monkeyrunner工具则是在工作站上通过API定义的特定命令和事件控制设备或模拟器。三、monkeyrunner的测试类型1、多设备控制:monkeyrunnerAPI可以跨多个设备或模拟器实施测试套件。您可以在同一时间接上所有的设备或一次启动全部模拟器(或统统一起),依据程序依次连接到每一个,然后运行一个或多个测试。您也可以用程序启动一个配置好的模拟器,运行一个或多个测试,然后关闭模拟器。2、功能测试:monkeyrunner可以为一个应用自动贯彻一次功能测试。您提供按键或触摸事件的输入数值,然后观察输出结果的截屏。3、回归测试:monkeyrunner可以运行某个应用,并将其结果截屏与既定已知正确的结果截屏相比较,以此测试应用的稳定性。4、可扩展的自动化:由于monkeyrunner是一个API工具包,您可以基于Python模块和程序开发一整套系统,以此来控制Android设备。除了使用monkeyrunnerAPI之外,您还可以使用标准的Pythonos和subprocess模块来调用AndroidDebugBridge这样的Android工具。四、运行monkeyrunner您可以直接使用一个代码文件运行monkeyrunner,抑或在交互式对话中输入monkeyrunner语句。不论使用哪种方式,您都需要调用SDK目录的tools子目录下的monkeyrunner命令。如果您提供一个文件名作为运行参数,则monkeyrunner将视文件内容为Python程序,并加以运行;否则,它将提供一个交互对话环境。monkeyrunner的命令语法为:monkeyrunner-pluginplugin_jarprog
本文标题:软件测试测试工具
链接地址:https://www.777doc.com/doc-3650967 .html