monkey稳定性测试
注意:各事件类型的百分比总数不能超过100%;
停止条件
ANR;CRASH;Exception Monkey Test执行过程中在下列三种情况下会自动停止: 1、如果限定了Monkey运行在一个或几个特定的包上,那么它会监测试图转到其它包的操作,并对其进行阻止。 2、如果应用程序崩溃或接收到任何失控异常,Monkey将停止并报错。 3、如果应用程序产生了应用程序不响应(application not responding)的错误,Monkey将会停止并报错。 通过多次并且不同设定下的Monkey测试才算它是一个稳定性足够的程序
count:事件个数 throttle:用于指定用户操Байду номын сангаас(即事件)间的时延,单位是毫秒 seed:如果seed相同,则两次Monkey测试所产生的事件序列也相同的 random
常用事件百分比
默认情况下,如果不设置,会是‐‐pct‐anyevent为百分之百,也就是纯随机事件。如果通过其他的参数配置了之 后,如果相加的百分比不为百分百,余下的百分比部分也会生成随机事件。 ‐‐pct‐touch <percent>:指定触摸事件的百分比,即在屏幕某处按下并抬起的操作。 ‐‐pct‐motion <percent>:指定滑动事件的百分比,是由屏幕上某处一个down事件、一系列伪随机的移动事件和 一个up事件组成。 ‐‐pct‐majornav <percent>:指定导航事件中,back、menu等事件的百分比,这些导航事件通常会导致UI界面中 的动作事件,如5‐way键盘的中间键,回退按键、菜单按键。 ‐‐pct‐appswitch <percent>:指定Activity之间切换的比例。在随机的时间间隔中,Monkey将执行一个 startActivity()调用,作为最大程度覆盖被测包中全部Activity的一种方法。注:**不常使用参数** ‐‐pct‐anyevent <percent>:指定任意事件的百分比。
调试参数:
‐‐ignore‐crashes:用于指定当应用程序崩溃时(Force & Close错误),Monkey是否停止运行。如果使用此参 数,即使应用程序崩溃,Monkey依然会发送事件,直到事件计数完成。 ‐‐ignore‐timeouts:用于指定当应用程序发生ANR(Application No Responding)错误时,Monkey是否停止 运行。如果使用此参数,即使应用程序发生ANR错误,Monkey依然会发送事件,直到事件计数完成 ‐‐ignore‐security‐exceptions:用于指定当应用程序发生许可错误时(如证书许可,网络许可等),Monkey是 否停止运行。如果使用此参数,即使应用程序发生许可错误,Monkey依然会发送事件,直到事件计数完成。 ‐‐kill‐process‐after‐error:用于指定当应用程序发生错误时,是否停止其运行。如果指定此参数,当应用程 序发生错误时,应用程序停止运行并保持在当前状态(注意:应用程序仅是静止在发生错误时的状态,系统并不会 结束该应用程序的进程)。 ‐‐monitor‐native‐crashes:用于指定是否监视并报告应用程序发生崩溃的本地代码。
不常用事件
‐‐pct‐trackball <percent>:指定轨迹球事件的百分比,滚动球事件由一个或多个随机的移动事件组成,有时会 伴随着点击事件。注:**不常使用参数**,现在手机几乎没有滚动球,但滚动球事件中包含曲线滑动事件,在被测 程序需要曲线滑动时可以选用此参数。 ‐‐pct‐nav <percent>:指定导航事件中,up、down、left、right等事件的百分比,导航事件由方向输入设备的 上下左右按键所触发的事件组成。注:**不常使用参数** ‐‐pct‐syskeys <percent>:指定系统按键的百分比,包括HOME、Back、音量等。注:**不常使用参数** pinchzoom flip:Keyboard flip(键盘隐藏) 测试中参数设置 count = 10800 ;throttle = 500; seed = 7562 ‐‐pct‐touch 50 ‐‐pct‐motion 30 ‐‐pct‐majornav 10 ‐‐pct‐appswitch 10** count = 20000 ;throttle = 500; seed = 7722 ‐‐pct‐touch 50 ‐‐pct‐motion 20 ‐‐pct‐majornav 15 ‐‐pct‐appswitch 15** count = 145000 ;throttle = 500; seed = 5209 ‐‐pct‐touch 45 ‐‐pct‐motion 30 ‐‐pct‐majornav 15 ‐‐pct‐appswitch 5 ‐‐pct‐anyevent 5**
用法
$ adb shell monkey [options] 如果不指定options,Monkey将以无反馈模式启动,并把事件任意发送到安装在目标环境中的全部包。下面是一个 更为典型的命令行示例,它启动指定的应用程序,并向其发送500个伪随机事件: $ adb shell monkey ‐p ‐v 500 其中‐p表示对象包 –v 表示事件数量
日志级别
日志级别 Level 0 示例 adb shell monkey ‐p com.htc.Weather –v 100 说明 缺省值,仅提供启动提示、测试完成和最终结果等少量信息 日志级别 Level 1 示例 adb shell monkey ‐p com.htc.Weather –v ‐v 100 说明 提供较为详细的日志,包括每个发送到Activity的事件信息 日志级别 Level 2 示例 adb shell monkey ‐p com.htc.Weather –v ‐v –v 100 说明 最详细的日志,包括了测试中选中/未选中的Activity信息
monkey稳定性测试
简介
Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如 按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软 件的稳定性、健壮性的快速有效的方法。
特征
测试的对象仅为应用程序包,有一定的局限性。 Monkey测试使用的事件流数据流是随机的,不能进行自定义。 可对MonkeyTest的对象,事件数量,类型,频率等进行设置。 对于Monkey也有一定缺点的,它是不支持截屏,录制回放等操作的
事件简介
monkey事件来源三种:默认随机事件、脚本定义事件、network网络事件; monkey事件根据类型比例生成事件队列,循环查找事件; monkey事件的实现使用系统内部API(activemanager,inputmanager,windowmanager)来实现;
基本事件参数配置
monkey测试结果详细分析
monkey测试结果详细分析一、为什么要用Monkey 测试?简单在说就是象猴子一样乱点,为了测试软件的稳定性,健壮性。
号称最快速有效的方法。
有时候运行相同系列的测试,即使是复杂的测试,但是以相同的顺序和路径,即使一遍又一遍地运行也很少机会能发现内存和资源使用的bug。
而此时猴子就比人更有效了。
简介Monkey是一个命令行工具,可以运行在模拟器里或实际设备中。
它向系统发送伪随机的用户事件流,实现对正在开发的应用程序进行压力测试。
Monkey包括许多选项,它们大致分为四大类:· 基本配置选项,如设置尝试的事件数量。
· 运行约束选项,如设置只对单独的一个包进行测试。
· 事件类型和频率。
· 调试选项。
在Monkey运行的时候,它生成事件,并把它们发给系统。
同时,Monkey还对测试中的系统进行监测,对下列三种情况进行特殊处理:· 如果限定了Monkey运行在一个或几个特定的包上,那么它会监测试图转到其它包的操作,并对其进行阻止。
· 如果应用程序崩溃或接收到任何失控异常,Monkey将停止并报错。
· 如果应用程序产生了应用程序不响应(application not responding)的错误,Monkey将会停止并报错。
按照选定的不同级别的反馈信息,在Monkey中还可以看到其执行过程报告和生成的事件。
二、怎么用的?首先用一个最简单的例子分析://p参数:表示指定测试的程序//v参数:表示查看monkey生成的一些详细的随机的事件名//数字100:表示测试事件数为100monkey -p com.example.android.apis -v -v -v 100结果如下::Monkey: seed=0 count=100:AllowPackage: com.example.android.apis:IncludeCategory: UNCHER:IncludeCategory: android.intent.category.MONKEY//各种事件所占的比例。
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测试是一种随机性测试方法,旨在模拟用户的随机操作来检测软件系统的稳定性和可靠性。
本文将以Monkey测试用例为标题,探讨Monkey测试的背景、原理、步骤以及该测试方法的优缺点。
一、背景介绍随着互联网的快速发展,软件系统的功能越来越复杂,代码规模也越来越庞大。
在软件开发过程中,为了确保软件系统的稳定性和可靠性,测试工作变得尤为重要。
而Monkey测试作为一种黑盒测试方法,可以帮助开发人员发现系统中的潜在问题,提高系统的质量。
二、Monkey测试原理Monkey测试的原理很简单,通过随机生成的用户操作序列对软件系统进行测试。
这些随机操作可以包括点击、滑动、输入等,目的是模拟用户在实际使用过程中的各种操作行为。
通过不断地随机操作,可以发现系统在不同场景下的异常行为和潜在问题。
三、Monkey测试步骤1. 确定测试目标:在进行Monkey测试之前,需要明确测试的目标和范围。
例如,测试某个特定的功能模块或整个软件系统。
2. 设计测试用例:根据测试目标,设计一系列随机的用户操作序列。
例如,随机点击、滑动、输入等操作,可以设置操作的频率和时长。
3. 执行Monkey测试:将设计好的测试用例作为输入,通过Monkey工具自动化执行测试。
在测试过程中,记录系统的响应时间、崩溃情况等关键指标。
4. 分析测试结果:根据Monkey测试的结果,分析系统的稳定性和可靠性。
如果发现异常行为或潜在问题,及时反馈给开发人员进行修复。
四、Monkey测试的优点1. 自动化执行:Monkey测试可以通过工具自动化执行,无需人工干预,提高测试效率。
2. 多样化测试:Monkey测试可以模拟用户的各种随机操作,覆盖系统的不同场景,发现更多的潜在问题。
3. 提高系统稳定性:通过不断进行Monkey测试,可以发现系统中的异常行为和潜在问题,及时修复,提高系统的稳定性和可靠性。
五、Monkey测试的局限性1. 难以准确重现问题:由于Monkey测试是随机性的,无法准确重现问题,对于一些复杂的问题可能无法发现。
Monkey测试2——Monkey测试策略
Monkey测试2——Monkey测试策略Monkey的测试策略⼀. 分类Monkey测试针对不同的对象和不同的⽬的采⽤不同的测试⽅案,⾸先测试的对象、⽬的及类型如下:测试的类型分为:应⽤程序的稳定性测试和压⼒测试测试对象分为:单⼀apk和apk集合测试的⽬的分为:解决问题的测试(忽略异常的测试)和验收测试(不忽略异常的测试)⼆. 应⽤程序的稳定性测试:1. 针对单个apk(1) 不忽略异常在进⾏单个apk的验收测试时,则使⽤单⼀apk且不忽略异常的命令执⾏。
例如:monkey -p com.android.mms --throttle 1000 -s 100-v -v -v 15000 > /mnt/sdcard/monkey_test.txt &(2) 忽略异常在进⾏单个apk的解决问题的测试时,则使⽤单⼀apk且忽略异常的命令执⾏,这样可以在⼀次执⾏的过程中发现应⽤程序中的多个问题。
例如:monkey -p com.android.mms --throttle 1000 -s 100--ignore-crashes --ignore-timeouts --ignore-security-exceptions--ignore-native-carshes --monitor-native-crashes -v -v -v 15000 >/mnt/sdcard/monkey_test.txt &2. 针对多个apk(1) 不忽略异常例如:monkey --pkg-whitelist-file /data/whitelist.txt--throttle 1000 -s 100 -v -v -v 15000 > /mnt/sdcard/monkey_test.txt &(2) 忽略异常例如:monkey --pkg-whitelist-file /data/whitelist.txt--throttle 1000 -s 100 --ignore-crashes --ignore-timeouts--ignore-security-exceptions --ignore-native-carshes --monitor-native-crashes-v -v -v 15000 > /mnt/sdcard/monkey_test.txt &三. 应⽤程序的压⼒/健壮性测试应⽤程序的压⼒/健壮性测试,其主要是缩短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中,如果应该程序有⼀段时间响应不够灵敏,系统会向⽤户显⽰⼀个对话框,这个对话框称作应⽤程序⽆响应对话框。
monkey测试标准
Monkey测试是一种通过向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等)来对应用程序客户端进行稳定性测试的方法。
其标准如下:
1.测试目的:验证APP的稳定性以及是否会在各种异常场景下出现未知的错误和异常。
2.测试方法:使用Google原生的Monkey测试框架,执行指定参数的测试,并记录运行日志和报
错日志。
3.测试指令:通过adb shell命令执行Monkey测试,并可以指定一系列参数进行更精细的测试。
例如:adb shell monkey -p 包名--pct-touch 16 --pct-motion 16 --pct-trackball 16 --pct-majornav 16 --pct-appswitch 16 --pct-nav 16 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --kill-process-after-error -v -v -v --throttle 500 9999999 -s 123456。
4.判定标准:关注各种指标,如ANR、CRASH、OOM、Error、Exception、GC等,并根据实
际需求制定相应的通过标准。
此外,Monkey测试的标准可能因应用场景、设备类型和特定需求而有所不同,因此在实际应用中可能需要根据具体情况进行微调。
建议参考行业内的最佳实践或专业机构的指南来完善标准,以提供更加准确和可靠的结果。
如何进行移动端Monkey测试
如何进行移动端Monkey测试移动端Monkey测试是一种全面的、自动化的黑盒测试方法,能够有效地测试移动应用程序的稳定性、可靠性、安全性和用户体验等方面。
在进行移动端Monkey测试时,需要遵循一定的步骤和技巧,下面将结合具体的案例来介绍如何进行移动端Monkey测试。
第一步:了解测试对象在进行移动端Monkey测试之前,需要先了解测试的对象——移动应用程序。
需要了解应用程序的类型、功能、操作流程、界面设计、用户群体等方面的特点,以便于制定合理的测试方案和测试用例。
举例来说,假设我们要对一款电商应用程序进行Monkey测试。
我们需要了解该应用程序的功能模块,如商品浏览、搜索、加入购物车、下单、支付等,并确定测试的重点。
同时,还需要考虑到用户的不同操作方式,如输入、触摸、滑动等,以及网络环境、设备类型等因素对测试过程的影响。
第二步:选择测试工具选择合适的测试工具是进行移动端Monkey测试的关键。
目前市面上有多款移动测试工具可供选择,如Appium、MonkeyTalk、Calabash等。
其中,Android平台自带了一个名为Monkey的测试工具,常用于移动端Monkey测试。
Monkey可以随意生成用户事件,如触摸、按键、手势等,以及随机化的用户事件序列,模拟真实用户使用应用程序的场景。
第三步:制定测试方案和用例制定测试方案和用例是移动端Monkey测试的核心步骤。
在制定测试方案和用例时,需要根据测试对象的特点和测试的目标,制定具体的测试步骤和测试用例。
举例来说,我们对电商应用程序进行测试,可以制定如下测试方案:1. 针对商品浏览功能模块,模拟不同用户的浏览行为,包括点击商品、滑动商品列表、放大图片等操作,并检查页面响应速度、显示效果、商品详细信息等方面是否符合要求。
2. 针对搜索功能模块,模拟用户不同的搜索关键词和搜索条件,包括商品名称、价格、品牌、颜色、尺寸等,测试搜索结果的准确性、排序规则、页面显示等方面是否正常。
monkey稳定性测试的步骤及策略
monkey稳定性测试的步骤及策略1、adb的作⽤是什么?adb的全称:android debug bridge 安卓调试桥梁,包含在 Android SDK 平台⼯具软件包中。
通过该命令与设备进⾏通信,以便进⾏调试adb可以同时管理多个安卓设备2、monkey测试环境搭建1)下载并安装JDK包,设置环境变量2)下载Android SDK包并解压,配置环境变量E:\Android SDK\Adt Bundle\sdk\tools monkey环境路径E:\Android SDK\Adt Bundle\sdk\platform-tools adb环境路径3)启动dos窗⼝,分别输⼊C:\Users\Administrator>java -versionjava version "1.8.0_181"Java(TM) SE Runtime Environment (build 1.8.0_181-b13)Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)C:\Users\Administrator>adb versionAndroid Debug Bridge version 1.0.31C:\Users\Administrator>monkeyrunnerJython 2.5.0 (Release_2_5_0:6476, Jun 16 2009, 13:33:26)[Java HotSpot(TM) 64-Bit Server VM (Oracle Corporation)] on java1.8.0_181命令查看环境是否搭建好3、连接设备1)⼿机与PC通过数据线连接,在⼿机系统设置⾥开启开发者模式和USB调试模式,设置屏幕为常亮2)在dos窗⼝输⼊ adb devices命令查看设备是否连接上了C:\Users\Administrator>adb devicesList of devices attached9656c4f7 deviceadb ⼦命令参考logcat 打印出安卓系统⽇志adb logcat -d >E:\1.txt-d ⼀次性返回⽇志信息,不需要实时跟踪>E:\1.txt 重定向并保存⽇志install 将某个.apk⽂件安装到指定设备adb install D:\test\weitaixin.apkuninstall 从指定设备上卸载⼀个应⽤,根据包名卸载模拟器中的APPadb uninstall cn.xxxx.xxxx获取报名⽅式1)通过解包⽅式C:\Users\Administrator>aapt dump badging E:xxx.0apkpackage: name='cn.xxx.xxx' versionCode='2701' versionName='2.7.0'sdkVersion:'19'targetSdkVersion:'26'2)通过adb命令获得所有报名adb shell pm list packages(package manager)3)模糊报名进⾏过滤(前提:知道⼤概的报名)adb shell pm list packages weitaixin4)通过管道符 grep进⾏过滤(前提:知道⼤概的报名)C:\Users\Administrator>adb shellPBEM00:/ $ pm list packages |grep weitaipm list packages |grep weitaipackage:cn.xxx.xxx5)通过启动程序,获取当前启动程序的包名C:\Users\Administrator>adb shellPBEM00:/ $ dumpsys window |grep mCurrentdumpsys window |grep mCurrentmCurrentUserId=0mCurrentFocus=Window{fe0aeaf u0 cn.xxx.xxx/cn.xxx.xxx.ui.main.MainActivity}mCurrent=[0,96][1080,2208]mCurrentAppOrientation=SCREEN_ORIENTATION_PORTRAITmCurrentRotation=ROTATION_06)找到⽬录,获取指定⽂件C:\Users\Administrator>adb shellPBEM00:/ $ cd /data/datacd /data/dataPBEM00:/data/data $ lspull 把Adroid设备中的⽂件复制到本地开发机例如:adb pull /data/data/1.txt D:\2.txt⼿机端的路径和⽂件 PC端的路径及重命名push 把本地开发机上的⽂件复制到安卓设备中例如:abd push C:\1.xt /data/dataPC端的位置和⽂件⼿机端的位置get-serialno 打印设备的序列表get-state 打印设备状态kill-server 结束adb服务进程shell 打开指定安卓设备的shell,以执⾏shell命令adb shell 进⼊安卓命令状态安卓系统是基于linux内核开发的,安卓命令和linux命令相似pwd:查看当前所在⽬录ls -l 查看当前⽬录下的资源属性date 打印当前系统时间cat /proc/meminfo 查看内存信息cat /proc/cpuinfo 查看CPU信息ps 查看当前进程信息Monkey测试:是Android中的⼀个命令⾏⼯具,可以运⾏在模拟器⾥和实际设备中。
Monkey测试方法总结
Monkey测试方法总结Monkey测试是一种随机化黑盒测试方法,它可以在不考虑内部结构和逻辑关系的情况下,对软件系统进行广泛的、自动化的测试。
通过模拟用户的随机操作,如点击、滑动、输入等,来发现潜在的程序错误和系统缺陷。
本文将从Monkey测试的原理、优点、缺点、测试方法及应用场景等方面进行详细介绍。
一、Monkey测试的原理Monkey测试是基于随机触发事件的方法,它的原理是模拟用户的操作行为,通过随机化的方式触发应用程序中的事件,如点击、滑动、输入等,以此来测试系统的稳定性和可靠性。
在Monkey测试中,测试工具会生成随机数,并按照一定的概率分布来触发各种事件,以覆盖尽可能多的应用场景和操作路径。
通过不断地随机触发事件,可以发现潜在的软件缺陷和系统错误,提高软件的稳定性和可靠性。
二、Monkey测试的优点1.自动化:Monkey测试是一种完全自动化的测试方法,测试工具可以自动生成随机事件,并按照一定的概率分布触发,大大减少了测试人员的工作量。
2.广泛性:Monkey测试可以通过随机触发事件来覆盖尽可能多的应用场景和操作路径,从而发现潜在的软件缺陷和系统错误。
3.快速性:Monkey测试可以在较短的时间内完成测试,提高了测试效率。
4.全面性:Monkey测试可以对整个系统进行测试,包括应用程序、系统服务和硬件设备等。
5.可重复性:Monkey测试可以通过设置种子数来保证测试结果的可重复性,便于后续的调试和分析。
三、Monkey测试的缺点1.未考虑内部结构和逻辑关系:Monkey测试只模拟用户的随机操作,未考虑应用程序的内部结构和逻辑关系,可能无法发现与具体业务逻辑相关的错误。
2.无需提供测试用例:Monkey测试是一种黑盒测试方法,不需要提供具体的测试用例,但有时可能无法确保测试数据的完整性和正确性。
3.随机性可能导致测试结果不准确:由于Monkey测试是基于随机触发事件的方法,测试结果具有一定的偶然性,可能无法全面覆盖系统的所有功能和路径。
monkey测试方法
monkey测试⽅法
1、Monkey测试原理:
Monkey是Android中的⼀个命令⾏⼯具,可以运⾏在模拟器⾥或实际设备中。
它向系统发送伪随机的⽤户事件流(如按键输⼊、触摸屏输⼊、⼿势输⼊等),实现对正在开发的应⽤程序进⾏压⼒测试。
Monkey测试是⼀种为了测试软件的稳定性、健壮性的快速有效的⽅法。
2、monkey常见命令:
adb shell monkey {+命令参数} 次数
adb shell monkey -help/-h
3、解析:
adb shell monkey –v –v –v –p 包名 –s 200 --throttle 1000 --ignore-crashes --ignore-timeouts 10000
-v:⽤于指定反馈信息级别,即⽇志的详细程度,总共有三个级别
-p:后边接着对应的包名,如果是整机测试,就不需要,⽤此参数指定⼀个或多个包(package,即APP名字)
-s:seed值,如果seed值相同,则两次的随机事件相同,常⽤于问题重现
--throttle <毫秒>:⽤于指定⽤户(即事件间)的时间延迟,单位是毫秒
--ignore-crashes --ignore-timeouts:在monkey测试过程中,遇到crash或者timeout的情况时忽略,⼀般不设置时,出现crash或者timeout时,monkey测试会终⽌,这⾥是防⽌monkey测试终⽌。
10000:随机事件次数
4、终⽌进程:
adb shell
ps | grep monkey
kill -9 pid。
