Monkey测试方法总结
monkey工具介绍及用法

monkey⼯具介绍及⽤法monkey是android 系统⾃带的⼀个命令⾏⼯具,可以向被测应⽤程序发送伪随机的⽤户事件流(如按键、触屏、滑动等操作),实现对应⽤程序进⾏测试的⽬的。
monkey测试也叫猴⼦测试,是指测试时可以像好奇的猴⼦⼀样,不停的对应⽤程序进⾏随机操作,以便验证应⽤程序的稳定性和健壮性。
因此,monkey测试是软件稳定性,健壮性的测试⼯具下⾯是monkey提供的⼀些参数:参数:事件相关参数表:-s <seed> 这个参数是伪随机数⽣成器的种⼦值,如果⽤相同的随机种⼦值再次运⾏相同的monkey命令时,前、后两次执⾏的操作事件序列相同,也就是相同的操作。
--throttle <milliseconds> 这个参数是设定在两个事件之间插⼊⼀个固定延时,它可以减缓Monkey的执⾏速度。
如果您不指定选项,Monkey将不会被延迟,事件将尽可能快地⽣产和发送消息。
--pct-touch <percent> 这个参数是设定触屏事件⽣产的百分⽐,触屏事件是⼀个有⼿指按下、抬起事件的操作。
--pct-motion <percent> 这个参数是设定滑动事件⽣成的百分⽐,滑动事件是⼀个先在某⼀个位置⼿指按下,滑动⼀段距离后再抬起⼿势的操作。
--pct-trackball <percent> 这个参数是设定轨迹球事件⽣成的百分⽐,轨迹球事件是包含⼀系列随机移动和单击事件的操作。
--pct-nav <percent> 这个参数是设置基本的导航事件的百分⽐,基本导航事件的模拟⽅向性设置输⼊向上、向下、向左、向右的操作。
--pct-majornav <percent> 这个参数是设定主要导航事件的百分⽐,主要导航事件通常是导致UI产⽣回馈事件,如:单击BACK键,单击MENU键。
--pct-syskeys <percent> 这个参数是设定系统按键事件的百分⽐,系统按键是指这些按键通常被保留,由系统使⽤,如HOME,BACK,拨号,挂断及⾳量控制键。
MonkeyTest

Monkey Test1.环境搭建1.1 软硬件环境开发机:X86 PC Linux (推荐ubuntu10.04及以上)测试机:P1015 Gingerbread1.2建立连接通过network连接:Step1:将P1015接上网线。
Step2:进入Android Debug模式,修改init.rc文件修改eths service,在init.rc末尾。
如下service start_eths /system/bin/ifconfig eth0 10.66.3.222oneshotdisabled10.66.3.222:IP地址根据各自的网络环境设定Android Debug模式:我们Port的Gingerbread,启动的时候可以进入debug模式Step3:exit 退出debug,启动androidStep4:进入android命令行模式alt + F1, 查看network信息netcfg,确保网络被开启eth0 UP 10.66.3.222 255.0.0.0 0x00001043Step5:如果网络未被开启,请执行netcfg eth0 up然后repeat第四步,确保android能连上网Step6:在ubuntu在输入export ADBHOST = 10.66.3.222Step7:在ubuntu在输入adb devices查看连接状态List of devices attachedemulator-5554 device当然也有其他连接方式,可以参看网络资源。
采用两台device,测试端和被测端的目的是:1)可以同时查看UI变化和Log的输出2)防止android 死掉,从而丢失所有的测试信息2. 命令使用Monkey是一个命令行工具,可以运行在仿真器里或实际设备中。
它向系统发送伪随机的使用者事件流,实现对正在开发的应用程序进行压力测试。
Monkey包括许多选项,它们大致分为四大类:基本配置选项,如设置测试的事件数量。
《MTK平台Monkey测试用例及报告》(中)

SW_Str_002
SW_Str_003
SW_Str_004
SW_Str_005
1. SIM卡已经安装 2. SD卡已经安装 Contacts 3. 手机和SIM卡中已经 存有多个联系人 1. SIM卡已经安装 2. SD卡已经安装 SMS 3. 手机上已经存有若干 短信和彩信 1. SIM卡已经安装 2. SD卡已经安装 Settings 3. 多个应用程序已经启 用 4.打开WIFI或数据流量 1. 相机图库中已经存有 Gallery/Cam 多张照片 era
SW_Str_006 deskclock SW_Str_007 calculator SW_Str_008 Email 1、登陆email帐号且存 在邮件 2.打开WIFI或数据流量
SW_Str_009 FM SW_Str_010 File Manager SW_Str_011 Sound Recorder SW_Str_012 System
系统应用压力测试
编号 SW_Str_001 Launcher 项目名称 预置条件 1. SIM卡已经安装 2. SD卡已经安装
SW04_KAZAM_Thunder3_4.7_2014_06_30 执行步骤 1.输入命令“adb shell monkey - p uncher3 --throttle 500 --pct-anyevent 100 -v 14400”
com.and roid.setti ngs
1.终端运行正常, 整个过程中无异常 发生 1.终端运行正常, 整个过程中无异常 发生 1.终端运行正常, 整个过程中无异常 发生 1.终端运行正常, 整个过程中无异常 发生
com.and roid.calc ulator2
1.终端运行正常, 整个过程中无异常 发生 1.终端运行正常, 整个过程中无异常 发生 1.终端运行正常, 整个过程中无异常 发生 1.终端运行正常, 整个过程中无异常 发生
Monkey测试方法总结

monkey测试方法总结测试策略:全模块、单模块测试步骤:1、测试前准备:1.PC侧安装adb驱动,使用adb shell命令不报错2.手机设置:锁屏方式设置为无,屏幕亮度建议设成最低(防止电量消耗过大导致关机)3.手机为刚刷的新版本或者进行一次恢复出厂设置备注:或测试前请先删除自行安装的第三方:手机助手、测试工具apk等等4.休眠设成最长时间或不休眠5.设置-开发者选项中勾选不锁定屏幕6.设置手机时间为当前正确时间7.若要测试上网请连接可用wifi或打开数据业务8.测试前需开启aplog*#*#201206#*#*备注:测试前请确保日志功能开启,测试完成后先保存日志adb rootadb remountadb shell rm -rf /data/logs/*作用就是删除以前的旧log工具使用前请确定手机版本为debug版本,PC 的adb命令使用正常附件解压到任意目录,双击InstalllogClient.bat会自动安装logClient客户端并重启手机配置:1. 连接热点360WiFi-6CDC31,连接密码为xdjatest2. 输入密码后勾选下面的高级选项-》将DHCP选项改为静态-》设置IP地址为11.12.112.196至199之间的IP,设置完IP直接点击连接,连接上热点后即配置完毕2、测试执行:先执行命令adb shell再输入如下的命令:全模块:monkey--throttle500--ignore-crashes--ignore-timeouts--ignore-security-exc eptions--ignore-native-crashes--monitor-native-crashes-v-v-v180000>/st orage/sdcard0/monkey_log.txt&单模块:monkey-p.xdja.ncser--throttle500--ignore-crashes--ignore-timeouts--ign ore-security-exceptions--ignore-native-crashes--monitor-native-crashes-v-v-v180000>/storage/sdcard0/monkey_log.txt&备注:1、单模块命令加:-p模块包名;2、测试9小时使用180000,测试18小时使用3750003、测试开始后将手机从PC上拔出并连接充电器继续进行测试,测试完成后手机会自动停止操作4、事件数量180000基本9小时,跑时间太久日志会被冲掉,因此建议每天跑2次3、日志导出:分别将手机中的aplog、monkey运行日志、trace导出到PC侧1、Aplog:可以使用MTP方式直接将手机侧logs文件夹拷贝到PC侧2、Monkey运行日志:adb pull/storage/sdcard0/monkey_log.txt e:\monkey_log.txt备注:前面的路径为手机侧存储monkey运行日志的路径和文件名,后者为PC 侧的存储路径3、anr获取trace:adb pull/data/anr目标目录;比如:adb pull /data/anr d:/,就会在d盘;备注:当ANR发生的时候,系统会将ANR信息写入到手机的data/anr/这个文件夹,若报anr问题,请使用adb pull命令将这个文件夹导出4、BUG提交:描述:【主题】:Monkey测试音乐模块出现1次crash【预制条件】:1.测试机电量充足2.测试前恢复出厂设置【操作步骤】:Monkey测试命令adb shellmonkey --throttle 500 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -v -v -v 180000 > /storage/sdcard0/monkey_log.txt &【实际结果】:Aplog目录例如:All2015-09-21-18-53-18-0600\logs\crashlog1\system_app_crash56.txtAplog实际报错信息例如:ng.IllegalStateException: Can not perform this action after onSaveInstanceStateat android.support.v4.app.y.c(Unknown Source)at android.support.v4.app.y.enqueueAction(Unknown Source)at mitInternal(Unknown Source)at mit(Unknown Source)at .cyanogenmod.eleven.ui.activities.i.run(Unknown Source)at android.os.Handler.handleCallback(Handler.java:739)at android.os.Handler.dispatchMessage(Handler.java:95)at android.os.Looper.loop(Looper.java:135)at android.app.ActivityThread.main(ActivityThread.java:5221)at ng.reflect.Method.invoke(Native Method)at ng.reflect.Method.invoke(Method.java:372)at .android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:898)at .android.internal.os.ZygoteInit.main(ZygoteInit.java:693)at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:116)【期望结果】:测试无问题【出现概率】:1【对比机现象】:无【LOG地址】:\\11.12.111.153\public\\软件测试\测试LOG\ROM快速定制LOG\ ROMDZ-1673【备注】:R19【联系人】:侯璐Log:aplog、monkey运行日志、trace提交至服务器:\\11.12.111.153\public\\软件测试\测试LOG\ROM快速定制LOG\备注:aplog需附上全部的log日志,方便研发分析其他:1、查看当前在运行的包名:手机连接PC端,打开模块,运行命令如下:adb shell dumpsys window |findstr mFocusedWindowu0和/之间的部分为包名2、参数说明命令:monkey-p.android.contacts--throttle500--ignore-crashes--ignore-timeouts--ignore-s ecurity-exceptions--ignore-native-crashes--monitor-native-crashes-v-v-v180000>/s torage/sdcard0/monkey_log.txt&参数:--throttle:每个事件结束后的间隔时间(单位毫秒)(如不指定,系统会尽快的发送事件序列)。
Monkey测试详解

Monkey测试详解概念:monkey test,也有⼈叫做搞怪测试,⼀般指⽤毫⽆规律的指令或操作去测试被测系统,观察被测系统的稳定性和容错性。
这种测试⽅式在产品周期中的早期阶段会找到很多很好的bug,为⽤户节省不少的时间。
介绍:Monkey是Android系统⾃带⼀个命令⾏⼯具,可以运⾏在模拟器⾥或者真实设备中运⾏。
monkey向系统发送伪随机的⽤户事件流,实现对正在开发的应⽤程序进⾏压⼒测试。
monkey包括很多选项,⼤致四⼤类:1.基本配置选项,如设置尝试的事件数量。
2.运⾏约束选项,如设置只对单独的⼀个包进⾏测试。
3.事件类型和频率。
4.调试选项Monkey 命令启动⽅式:a. 可以通过PC机CMD窗⼝中执⾏: adb shell monkey {+命令参数}来进⾏Monkey测试b. 在PC上adb shell 进⼊Android系统,通过执⾏monkey {+命令参数} 来进⾏Monkey 测试c. 在Android机或者模拟器上直接执⾏monkey 命令,可以在Android机上安装Android终端模拟器monkey命令特性:不可能使⽤monkey来指定做⼀样测试,重复做很多次。
因为monkey产⽣的是伪随机的事件流。
但是我们可以通过添加命令选项将操作限制在⼀定的范围内。
⼀、⾸先你要先搭建环境1.先下载jdk具体安装流程请参考:JDK教程2.再下载sdk 具体安装流程请参考:SDK教程⼆、在开发者选项⾥打开⼿机的usb调试,⽤usb数据线连接⼿机,允许电脑连接⼿机。
三、monkey前的准备命令1.windows+R 输⼊cmd进⼊dos命令⾏;2.输⼊adb devices 下⾯出现类似下图的组合你就成功了;3.输⼊ adb shell pm list packages查看⼿机所有的包名,输⼊ adb shell pm list packages -3 查看⼿机上所有的第三⽅包名。
monkey压测命令

monkey压测命令
Monkey压测命令是一种常用的压力测试工具,它可以模拟大量
的用户请求,以测试系统的性能和稳定性。
使用Monkey命令进行压
测需要进行以下步骤:
1. 安装Monkey:Monkey是一个基于Java的命令行工具,可以
通过在终端输入命令进行安装。
安装完成后,可以在终端输入“monkey”命令来检查安装是否成功。
2. 配置Monkey:在进行压测前,需要进行一些配置,包括设置测试的目标地址、请求的数量、并发数等参数。
可以通过在终端中输入“monkey --help”来查看可用的配置选项。
3. 运行Monkey:一旦完成了配置,就可以在终端中输入“monkey run”命令来启动压测。
Monkey会自动发送请求,并在测试完成后输出测试结果。
需要注意的是,在进行压测时,需要确保测试环境与真实环境尽可能相似,以避免测试结果的误差。
同时,也需要谨慎设置请求的数量和并发数,以避免对系统造成严重的影响。
- 1 -。
monkey的使用

monkey的使用以Monkey的使用为标题,我将为大家介绍一款功能强大的自动化测试工具——Monkey。
一、什么是Monkey?Monkey是一款由Google开发的自动化测试工具,主要用于测试Android应用程序的稳定性和性能。
它可以模拟用户在设备上的随机操作,如点击、滑动、手势等,以此来检测应用程序在不同场景下的稳定性和可靠性。
二、为什么选择Monkey?1.全面性能测试:Monkey可以模拟各种用户操作,随机生成事件序列,对应用程序进行全面性能测试。
通过对应用程序进行长时间、大量的随机操作,可以发现潜在的问题和性能瓶颈。
2.易于集成:Monkey可以与其他测试工具和框架进行集成,如JUnit、Robotium等。
通过与其他工具的结合,可以更加灵活地进行自动化测试,提高测试效率。
3.快速反馈:Monkey可以在短时间内生成大量的测试数据,快速发现应用程序中的问题。
这样可以及早发现和修复bug,提高应用程序的质量。
三、如何使用Monkey?1.安装Monkey:首先需要安装Android SDK,并将adb工具添加到系统环境变量中。
然后通过adb命令将Monkey安装到设备上。
2.编写Monkey脚本:Monkey的测试用例是通过一系列的命令行参数来控制的。
可以通过编写一个脚本文件,将这些参数进行组合,以实现特定的测试场景。
3.运行Monkey:通过adb命令启动Monkey,将脚本文件作为参数传入。
Monkey将根据脚本文件中的定义,模拟用户的随机操作。
四、Monkey的使用场景1.稳定性测试:Monkey可以通过模拟用户的随机操作,对应用程序进行长时间的稳定性测试。
这对于测试应用程序的内存泄漏、ANR(Application Not Responding)等问题非常有帮助。
2.压力测试:Monkey可以通过模拟大量的用户操作,测试应用程序在高负载情况下的稳定性和性能。
这对于评估应用程序在用户访问量增加时的表现非常重要。
Monkey测试

Monkey测试⼀、Monkey是什么?Monkey是Android中的⼀个命令⾏⼯具,可以运⾏在模拟器或者实际设备中向系统发送伪随机的⽤户事件流(按键输⼊、触摸屏输⼊、⼿势输⼊等)实现对正在开发的应⽤程序进⾏测试Monkey测试之⼀种为了测试软件的稳定性、健壮性的快速有效的⽅式⼆、Monkey⽤来做什么的?Monkey 主要⽤于Android的稳定性测试,⾃动的⼀个压⼒测试⼩⼯具,主要⽬的就是为了测试app 是否会Crash(崩溃).三、Monkey的特征1.测试对象仅为应⽤程序包,有⼀定的局限性(不能对源码进⾏测试)2.Monkey测试使⽤的事件流数据是随机的,不能进⾏⾃定义3.可以对MonkeyTest对象,事件数量,类型、频率等进⾏设置四、Monkey程序介绍(1) Monkey程序由Android系统⾃带,使⽤Java语⾔写成,在Android⽂件系统中的存放路径是: /system/framework/monkey.jar;(2) Monkey.jar程序是由⼀个名为“monkey”的Shell脚本来启动执⾏,shell脚本在Android⽂件系统中的存放路径是:/system/bin/monkey;(3)Monkey 命令启动⽅式:a)可以通过PC机CMD窗⼝中执⾏: adb shell monkey {+命令参数}来进⾏Monkey测试b)在PC上adb shell 进⼊Android系统,通过执⾏ monkey {+命令参数} 来进⾏Monkey 测试c)在Android机或者模拟器上直接执⾏monkey 命令,可以在Android机上安装Android终端模拟器五、Monkey测试的⽬的1.ANR问题:在⽇志中搜索“ANR”2.崩溃的问题:在⽇志中搜索“Exception”3.ANR:Application Not Responding,在Android中,如果应该程序有⼀段时间响应不够灵敏,系统会向⽤户显⽰⼀个对话框,这个对话框称作应⽤程序⽆响应对话框。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Monkey测试方法总结
Monkey测试是一种随机化黑盒测试方法,它可以在不考虑内部结构和逻辑关系的情况下,对软件系统进行广泛的、自动化的测试。
通过模拟用户的随机操作,如点击、滑动、输入等,来发现潜在的程序错误和系统缺陷。
本文将从Monkey测试的原理、优点、缺点、测试方法及应用场景等方面进行详细介绍。
一、Monkey测试的原理
Monkey测试是基于随机触发事件的方法,它的原理是模拟用户的操作行为,通过随机化的方式触发应用程序中的事件,如点击、滑动、输入等,以此来测试系统的稳定性和可靠性。
在Monkey测试中,测试工具会生成随机数,并按照一定的概率分布来触发各种事件,以覆盖尽可能多的应用场景和操作路径。
通过不断地随机触发事件,可以发现潜在的软件缺陷和系统错误,提高软件的稳定性和可靠性。
二、Monkey测试的优点
1.自动化:Monkey测试是一种完全自动化的测试方法,测试工具可以自动生成随机事件,并按照一定的概率分布触发,大大减少了测试人员的工作量。
2.广泛性:Monkey测试可以通过随机触发事件来覆盖尽可能多的应用场景和操作路径,从而发现潜在的软件缺陷和系统错误。
3.快速性:Monkey测试可以在较短的时间内完成测试,提高了测试效率。
4.全面性:Monkey测试可以对整个系统进行测试,包括应用程序、
系统服务和硬件设备等。
5.可重复性:Monkey测试可以通过设置种子数来保证测试结果的可
重复性,便于后续的调试和分析。
三、Monkey测试的缺点
1.未考虑内部结构和逻辑关系:Monkey测试只模拟用户的随机操作,未考虑应用程序的内部结构和逻辑关系,可能无法发现与具体业务逻辑相
关的错误。
2.无需提供测试用例:Monkey测试是一种黑盒测试方法,不需要提
供具体的测试用例,但有时可能无法确保测试数据的完整性和正确性。
3.随机性可能导致测试结果不准确:由于Monkey测试是基于随机触
发事件的方法,测试结果具有一定的偶然性,可能无法全面覆盖系统的所
有功能和路径。
4.可能对系统造成不可预测的影响:由于Monkey测试是一种随机触
发事件的方法,测试过程中可能会对系统造成一些不可预测的影响,如导
致系统崩溃、数据丢失等。
四、Monkey测试的方法
1.选择合适的测试工具:Monkey测试需要使用相应的测试工具,如Android的Monkey工具、iOS的UI Automation工具等。
根据具体的需求
和应用场景选择合适的测试工具。
2.设置测试参数:根据实际情况设置测试参数,如事件的触发概率、
触发事件的种类和数量等。
3.执行Monkey测试:运行测试工具,开始执行Monkey测试。
测试工
具会自动生成随机事件,并按照一定的概率分布触发。
4.收集测试结果:在测试过程中,及时收集和保存测试结果,包括应
用程序的崩溃日志、错误信息等。
5.分析测试结果:对收集到的测试结果进行分析,查找潜在的软件缺
陷和系统错误,并进行修复和改进。
六、Monkey测试的应用场景
1.稳定性测试:Monkey测试可以模拟用户的随机操作,对系统的稳
定性进行测试,发现潜在的程序错误和系统缺陷。
2.兼容性测试:Monkey测试可以通过随机触发事件来覆盖不同的应
用场景和操作路径,测试不同版本和不同设备的兼容性。
3.压力测试:Monkey测试可以模拟大量的用户操作,对系统的性能
进行测试,了解系统在高负载和极限情况下的表现。
4.安全性测试:Monkey测试可以通过模拟各种事件,如点击、滑动、输入等,检测应用程序可能存在的安全漏洞,提高系统的安全性。
总之,Monkey测试是一种随机化黑盒测试方法,通过模拟用户的随
机操作来测试软件系统的稳定性和可靠性。
它具有自动化、广泛性、快速性、全面性和可重复性等优点,但也存在未考虑内部结构和逻辑关系、随
机性可能导致测试结果不准确等缺点。
Monkey测试的方法主要包括选择
合适的测试工具、设置测试参数、执行Monkey测试、收集测试结果和分
析测试结果等。
Monkey测试的应用场景包括稳定性测试、兼容性测试、
压力测试和安全性测试等。