Android平台Monkey测试标准
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>:指定任意事件的百分比。
Android压力测试工具Monkey简介
Android压⼒测试⼯具Monkey简介测试步骤:1.安装ADB2.连接被测⼿机和电脑3.打开CMD命令⾏4.输⼊monkey命令adb shell monkey -p --pct-touch 30 --ignore-crashes --ignore-timeouts--throttle 250 -s 2 -v -v -v 5000000⼀.monkey测试命令有哪些选项?1:常⽤选项--help:打印帮助信息-v:指定打印信息的详细级别,⼀个 -v增加⼀个级别,默认级别为 0 。
-v -v -v 为最详细⽇志。
2:事件选项-s:指定产⽣随机事件种⼦值,相同的种⼦值产⽣相同的事件序列。
如: -s 200--throttle:每个事件结束后的间隔时间——降低系统的压⼒(如不指定,系统会尽快的发送事件序列)。
如:--throttle 100--pct-touch:指定触摸事件的百分⽐,如:--pct-touch 5% ,相关的还有以下option:--pct-motion <percent> (滑动事件)--pct-trackball <percent> (轨迹球事件)--pct-nav <percent> (导航事件 up/down/left/right)--pct-majornav <percent> (主要导航事件 back key 、 menu key)--pct-syskeys <percent> (系统按键事件 Home 、Back 、startCall 、 endCall 、 volumeControl)--pct-appswitch <percent> (activity之间的切换)--pct-anyevent <percent>(任意事件)3:约束选项-p:指定有效的package(如不指定,则对系统中所有package有效),⼀个-p 对应⼀个有效package,如:-p com.ckt -p com.ckt.asura;-c:activity必须⾄少包含⼀个指定的category,才能被启动,否则启动不了;4:调试选项--dbg-no-events:初始化启动的activity,但是不产⽣任何事件。
monkey参数
monkey参数Monkey参数是一种用于Android应用程序测试的工具,它可以模拟用户在应用程序中的各种操作,如点击、滑动、输入等。
通过使用Monkey参数,测试人员可以快速地发现应用程序中的潜在问题,从而提高应用程序的质量和稳定性。
Monkey参数的使用非常简单,只需要在命令行中输入相应的参数即可。
以下是一些常用的Monkey参数:1. -p:指定要测试的应用程序的包名。
2. -v:输出详细的日志信息。
3. --throttle:指定事件之间的延迟时间,单位为毫秒。
4. --pct-touch:指定触摸事件的百分比。
5. --pct-motion:指定运动事件的百分比。
6. --pct-trackball:指定轨迹球事件的百分比。
7. --pct-nav:指定导航事件的百分比。
8. --pct-majornav:指定主要导航事件的百分比。
9. --pct-syskeys:指定系统按键事件的百分比。
10. --pct-appswitch:指定应用程序切换事件的百分比。
11. --pct-anyevent:指定任何事件的百分比。
12. --ignore-crashes:忽略应用程序崩溃。
13. --ignore-timeouts:忽略超时错误。
14. --ignore-security-exceptions:忽略安全异常。
15. --monitor-native-crashes:监视本地崩溃。
通过使用这些Monkey参数,测试人员可以对应用程序进行全面的测试,发现潜在的问题,并及时修复它们。
同时,Monkey参数还可以帮助测试人员提高测试效率,减少测试时间和成本。
总之,Monkey参数是一种非常有用的Android应用程序测试工具,它可以帮助测试人员快速地发现应用程序中的问题,并提高应用程序的质量和稳定性。
如果你是一名Android应用程序测试人员,那么一定要掌握Monkey参数的使用方法,以便更好地完成测试工作。
什么是Monkey测试?
什么是Monkey测试?Monkey测试: 是Andriod是⾃动化测试的⼀种⼿段,Monkey测试本⾝⾮常简单,就是模拟⽤户的按键输⼊,触摸屏输⼊,⼿势输⼊等,看设备多久时间会出现异常(⽐如调节⾳量,亮度调节,横竖屏切换,截图,播放⾳乐)为什么要做Monkey测试?模拟⽤户,稳定性 模拟⼈的操作 模拟⼈长时间的测试 模拟⼈不同场景操作怎么去做Monkey测试?准备⼯作:1)电脑端:androidsdk/JDK配置环境变量2)⼿机端:⼿机选择3)建议真机测试,学习可以试⽤模拟器(夜神,逍遥,天天,雷电),⼯作不要⽤个⼈⼿机和模拟机monkey测试不需要root,也不建议刷机测试机:获取root权限获取底层数据4)配置:版本号,连续点击5-7次,开发者模式开启USB调试:开发者选项------>打开USB调试连接⼿机:USB/Wifi同⼀局域⽹cmd命令:输⼊adb devivcesdevices:表⽰正常offline:拔插USB即可模拟器---模拟器升级到最新版本no devices:驱动unauthorized:未授权可能遇到的问题?端⼝占⽤,检查端⼝占⽤的命令:netstat-ano|findstr “5037”360、⼿机助⼿可能会占⽤5037的端⼝,卸载掉Monkey测试:简单命令参数:1.count 事件数,必填2.--ignore-crashes:崩溃,闪退--ignore-timeouts:超时,⽆响应如果使⽤这个参数,发⽣奔崩溃或者⽆响应的时候,会结束应⽤进程,重新打开继续执⾏,直到事件次数结束不使⽤该参数,发⽣上述问题,monkey测试赛停⽌在问题界⾯--缺乏稳定性测试的意义adb shell monkey:得到所有monkey的参数--ignore-security-exceptions :安全认证忽略测试过程中发⽣的安全⽅⾯的认证等的问题,⼀旦发⽣该类的问题后,结束app的进程,或者继续操作,知道设置的次数完成,⼀般情况都要⽤上怎么固定到具体的app?-p包名,指定到具体的某⼀个appadb shell pm list package -3 获取⽤户安装的第三⽅app的包名adb shell pm list package -s 获取系统的app包名确认包名:adb shell dumpsys activity| find “mFocusedActivity”显⽰当前正在使⽤的app-s SEED 定义明确的seedN个seed每⼀个seed可能会发N个bugbug总量会特别多--不利于测试,稳定性验证======>要定义唯⼀seed值,monkey测试赛从头到尾都⽤这个seed值[-v [-v] ... ]:⽇志的详细程度共3个v越多,⽇志越详细常⽤命令:-p 指定包名 com.hpbr.bosszhipinadb shell monkey -p com.hpbr.bosszhipin 200----> boss直聘App,执⾏200次的事件操作-v 输出⽇志的级别:-v -v -v 根据项⽬的质量要求,⼀般-v -v。
monkey命令参数
monkey命令参数Monkey是Android平台上一款压力测试工具,可以模拟用户的随机操作来检测应用程序的稳定性和性能。
它可以通过命令行参数来控制测试的行为,以下是一些常用的Monkey命令参数。
1.操作相关的参数:- `--pct-touch <百分比>`:触摸事件的百分比。
- `--pct-motion <百分比>`:滑动和拖动事件的百分比。
- `--pct-trackball <百分比>`:轨迹球事件的百分比。
- `--pct-nav <百分比>`:导航事件的百分比。
- `--pct-majornav <百分比>`:主要导航事件的百分比。
- `--pct-syskeys <百分比>`:系统按键事件的百分比。
- `--pct-appswitch <百分比>`:应用程序切换事件的百分比。
- `--pct-anyevent <百分比>`:任意事件的百分比。
- `--pct-pinchzoom <百分比>`:缩放事件的百分比。
2.时间相关的参数:-`-s<种子值>`:随机数生成器的种子值。
- `--throttle <延迟毫秒>`:事件之间的延迟时间。
-`-v<日志级别>`:日志的详细级别,可用值为0到5,默认为23.限制相关的参数:-`-c<事件数量>`:执行的总事件数量。
- `--dbg-no-events`:不执行任何事件,仅输出调试信息。
- `--dbg-clear-hist`:清除历史事件信息。
- `--pkg-blacklist-file <文件路径>`:指定一个包名黑名单文件,禁止访问黑名单中的应用程序。
4.安全相关的参数:- `--ignore-crashes`:忽略应用程序崩溃,继续执行测试。
- `--kill-process-after-error`:在发生错误后立即终止应用程序进程。
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测试简介1. 什么是Monkey测试2. Monkey在哪⾥3. ⼿机如何与monkey通讯4. Monkey测试适⽤于什么时候1.什么是monkey测试Monkey测试呢,⼜称“猴⼦测试”,可以⽤来对Android⼿机或应⽤做压⼒测试。
顾名思义,它可以像猴⼦⼀样上蹿下跳、盲⽬的对应⽤做测试,校验应⽤的稳定性和健壮性。
它向系统发送伪随机的⽤户事件流,可以通过⾃动化⾼效地弥补app稳定性对测试⼈⼒和测试时间的要求。
伪随机:因为可以通过设置相同的seed值来⽣成相同的事件序列,因此成为伪随机事件流包括:点击、滑动、Application切换、横竖屏、应⽤关闭、按键输⼊、触摸屏输⼊等官⽹⽂档:https:///studio/test/monkey.html2.Monkey测试在哪⾥每台android⼿机⾥都有Monkey⼯具,但是我们是看不到的,因为Monkey不是⼀个可视化的⼯具,例如⼿机⾥的微信,这是⼀个可视化的,能打开,有图形化界⾯,但是Monkey没有。
3.⼿机与Monkey如何通讯我们需要借助 ADB 才能与Monkey进⾏通讯。
4.什么是ADB全称是 Android Debug Bridge,就是起到调试桥的作⽤。
⽤来操作android设备的。
adb ⼯具存在SDK中,也可以单独下载。
借助adb⼯具,我们可以管理设备或⼿机模拟器的状态,还可以进⾏很多⼿机操作,⽐如安装软件,系统升级,运⾏shell命令等等,其实简⽽⾔之,adb就是连接Android⼿机与PC端的桥梁,可以让⽤户在电脑上对⼿机进⾏全⾯的操作。
如下图:5.Monkey测试适合什么适合应⽤可⽤于产品早期,在产品不稳定、崩溃问题较多,通过monkey能尽早发现,且有清晰的错误⽇志,便于开发排查解决问题。
在就是⽤于应⽤发布前,作为最后⼀轮测试,以上就是Monkey测试的简介,如有不⾜和错误之处望⼤家指正,⼤家共同学习和进步~Monkey测试实战请看下⼀篇吧~参考博客:https:///u011541946/article/details/77142045。
monkey
ANR
• 应用响应超时;
• 在设备上一般系统弹出窗口询问用户选择 “Force Close”或者“Wait”。 • “Force Close”将杀掉发生ANR的应用进程。 “Wait”将会等待系统择机恢复此应用进程。
VMreboot
• 手机在测试过程中出现虚拟机重启,即为 系统上层重启。
• 清除之前log • adb shell • cd sdcard • ls • 若存在mtklog文件夹,进行删除 • rm –r /sdcard/mtklog • 开启mtklog : adb shell am start -n com.mediatek.mtklogger/.MainActivity • ,设置mtklog大小 • 设置手表时间为当前时间 • 重启手机 生成MTKlog文件夹
Monkey测试标准
• Monkey测试标准如下:
1.整机测试时间在12小时以上;
2.无死机定屏重启等严重问题;
3.无anr、crash、vmreboot等严重问题
Log分析
• • • • • • 1.monkey log介绍 2.关键字Monkey finished 3.关键字Crash 4.关键字ANR 5.关键字NullPointerException 6.Vm reboot
• 05-16 07:16:24.503: E/AndroidRuntime(17625): FATAL EXCEPTION: main 0516 07:16:24.503: E/AndroidRuntime(17625): ng.RuntimeException: Unable to start activity ComponentInfo{com.example.fdc/com.example.fdc.Medical_Record}: ng.NullPointerException 05-16 07:16:24.503: E/AndroidRuntime(17625): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651) 05-16 07:16:24.503: E/AndroidRuntime(17625): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667) 05-16 07:16:24.503: E/AndroidRuntime(17625): at android.app.ActivityThread.access$1500(ActivityThread.java:117) 05-16 07:16:24.503: E/AndroidRuntime(17625): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935) 05-16 07:16:24.503: E/AndroidRuntime(17625): at android.os.Handler.dispatchMessage(Handler.java:99) 05-16 07:16:24.503: E/AndroidRuntime(17625): at android.os.Looper.loop(Looper.java:123) 05-16 07:16:24.503: E/AndroidRuntime(17625): at android.app.ActivityThread.main(ActivityThread.java:3687) 05-16
Monkey软件测试工具介绍
Monkey软件测试⼯具介绍⼀、 Monkey测试⼯具简介 是Android \ SDK 中附带的⼀个⼯具 Monkey测试的原理:利⽤socket通讯(Android客户端和服务器以TCP/UDP ⽅式)的⽅式来模拟⽤户的按键输⼊、触摸屏输⼊、⼿势输⼊等 Monkey测试的⽬的:该⼯具可进⾏压⼒测试,更多的是⼀种随机测试和稳定性测试;开发⼈员可以结合Monkey打印的⽇志和系统打印的⽇志来分析测试的结果⼆、 Monkey的特征 1、 测试的对象仅为应⽤程序包,有⼀定的局限性。
2、 Monkey测试使⽤的事件流数据流是随机的,不能进⾏⾃定义。
3、 可对MonkeyTest的对象、事件数量、类型、频率等进⾏设置三、关于Monkey测试的停⽌条件 Monkey Test执⾏过程中在下列三种情况下会⾃动停⽌: 1、如果限定了Monkey运⾏在⼀个或⼏个特定的包上,那么它会监测试图转到其它包的操作,并对其进⾏阻⽌。
2、如果应⽤程序崩溃或接收到任何失控异常,Monkey将停⽌并报错。
3、如果应⽤程序产⽣了应⽤程序不响应(application not responding)的错误,Monkey将会停⽌并报错。
四、Monkey的命令 Monkey可分四⼤类:常⽤选项、事件选项、约束选项、调试选项 1、常⽤选项 -help : 打印帮助信息 monkey命令的简单帮助:adb shell monkey -help -v :⽤于指定反馈信息级别(信息级别就是⽇志的详细程度),总共分3个级别 ⽇志级别 Level 0 ⽰例:adb shell monkey -p com.htc.Weather -v 100 ⽇志级别 Level 1 ⽰例:adb shell monkey -p com.htc.Weather -v -v 100 ⽇志级别 Level 2 ⽰例:adb shell monkey -p com.htc.Weather -v -v -v 100 2、事件选项 -s : ⽤于指定伪随机数⽣成器的seed(种⼦)值,如果seed相同,则两次monkey测试所产⽣的事件序列也相同 ⽰例:adb shell monkey -p com.htc.Weather -s 10 100 --throttle:每个事件结束后的间隔时间——降低系统的压⼒(如不指定,系统会尽快的发送事件序列) 如:--throttle 100 --pct-touch:指定触摸事件的百分⽐,如:--pct-touch 5% , 相关的还有以下option: --pct-motion (滑动事件)、 --pct-trackball (轨迹球事件) 、 --pct-nav (导航事件 up/down/left/right)、 --pct-majornav (主要导航事件 back key 、 menu key)、 --pct-syskeys (系统按键事件 Home 、Back 、startCall 、 endCall 、 volumeControl)、 --pct-appswitch (activity之间的切换)、 --pct-anyevent (任意事件) 3、约束选项-c: activity必须⾄少包含⼀个指定的category,才能被启动,否则启动不了 -p: ⽤于约束限制,⽤此参数指定⼀个或多个包 如:指定⼀个包:adb shell monkey -p com.example.sellclientapp 100 指定多个包:adb shell monkey -p com.htc.Weather -p com.htc.pdfreader 100 说明:com.example.sellclientapp为包名,100是事件计数(即让monkey程序模拟100次随机⽤户事件) 要查看设备中所有的包,在CMD窗⼝中执⾏以下命令:4、调试选项 --dbg-no-events:初始化启动的activity,但是不产⽣任何事件。
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。
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测试是Android自动化测试的一种手段。
Monkey测试本身非常简单,就是模拟用户的按键输入,触摸屏输入,手势输入等,看设备多长时间会出异常。
当Monkey程序在模拟器或真实设备运行的时候,程序会产生一定数量或一定时间内的随机模拟用户操作的事件, 如点击,按键,手势等,以及一些系统级别的事件。
通常也称随机测试或者稳定性测试。
2 测试步骤2.1 测试前提条件∙ 1.将手机恢复出厂设置∙ 2.恢复出厂设置后,进入设置-->关于手机-->高级设置-->勾选‘保持唤醒状态’∙ 3.在设置->安全中设置解锁图案以及PIN码∙ 4.连接adb tool∙ 5.手机开启后台log(*#*#3646633#*#*),开启main log,,mobile log和net log∙ 1.使用USB线连接手机和电脑∙ 2.在电脑中输入Monkey命令:adb shell monkey -p <> --throttle 380 -v -s 3500 300000 > C:\monkey_log.txt2.2 测试步骤∙ 3.在Monkey结束以后查看它停留的界面并且做一些简单的测试,如拨打电话,发送信息等2.3 测试结果∙在运行Monkey命令时,遇到Crash 或者ANR,就会自动终止,Monkey的测试结果可以通过monkey_log.txt查看,如果测试结果正常,在log最后一行会有monkey finished显示并且手机运行正常∙通过monkey_log.txt查看测试结果,在log最后一行显示crashed at event ####of 300000 using seed 3500,如下图:如果应用程序产生了应用程序不响应(application not responding)的错误,Monkey将会停止并报错,如果应用程序崩溃或接收到任何失控异常,Monkey也会停止并报错,一般我们执行Monkey时,在3万次以内发生Crash的话就认为Monkey是有问题的,要提交PR。
APP测试--Monkey命令
shell, monkey, system, Android, 文件系统Monkey, 示例, 简介一、Monkey测试简介Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕、滑动Trackball、按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常。
二、Monkey程序介绍1) Monkey程序由Android系统自带,使用Java语言写成,在Android文件系统中的存放路径是:/system/framework/monkey.jar;2) Monkey.jar程序是由一个名为“monkey”的Shell脚本来启动执行,shell脚本在Android 文件系统中的存放路径是:/system/bin/monkey;这样就可以通过在CMD窗口中执行: adb shell monkey {+命令参数}来进行Monkey测试了。
三、Monkey命令的简单帮助要获取Monkey命令自带的简单帮助,在CMD中执行命令:adb shell monkey –help四、Monkey命令参数介绍1) 参数:-p参数-p用于约束限制,用此参数指定一个或多个包(Package,即App)。
指定包之后,Monkey将只允许系统启动指定的APP。
如果不指定包,Monkey将允许系统启动设备中的所有APP。
* 指定一个包:adb shell monkey -p com.htc.Weather 100说明:com.htc.Weather为包名,100是事件计数(即让Monkey程序模拟100次随机用户事件)。
* 指定多个包:adb shell monkey -p com.htc.Weather–p com.htc.pdfreader -p com.htc.photo.widgets 100* 不指定包:adb shell monkey 100说明:Monkey随机启动APP并发送100个随机事件。
如何利用Monkey工具进行Android自动化测试
如何利用Monkey工具进行Android自动化测试自动化测试在软件开发中起到了至关重要的作用,它可以有效地提高测试效率、节省测试时间,并且能够减少人为错误的可能性。
而在Android开发领域,Monkey工具是一种非常实用的自动化测试工具,它可以模拟用户在设备上的随机操作,从而对应用程序进行全面的测试。
本文将介绍如何使用Monkey工具进行Android自动化测试。
一、Monkey工具简介Monkey工具是Android平台提供的一种压力测试工具,它通过产生伪随机事件(如点击、滑动、触摸等)来模拟用户操作。
Monkey工具不需要源代码,只需要一个APK文件即可进行测试。
因此,它可以对任何已安装的Android应用进行测试,包括系统应用和第三方应用。
二、Monkey工具的使用步骤1. 连接设备首先,将Android设备连接到开发电脑上,确保设备处于调试模式下,并且已安装好ADB工具。
2. 启动Monkey工具在命令行窗口中输入以下命令来启动Monkey工具:```adb shell monkey <参数>```其中,参数是指定Monkey工具的具体配置和行为方式。
3. 配置参数根据测试需求,设置不同的参数来指导Monkey工具的行为。
以下是常用的参数配置示例:- `--pct-touch`:设置触摸事件的百分比。
- `--pct-motion`:设置手势事件的百分比。
- `--throttle`:设置事件之间的间隔时间,单位为毫秒。
- `--ignore-crashes`:忽略崩溃错误。
- `--ignore-timeouts`:忽略超时错误。
- `--package`:指定要测试的应用程序包名。
4. 运行Monkey测试配置完参数后,输入以下命令来运行Monkey测试:```adb shell monkey -p <应用程序包名> <事件次数>```其中,应用程序包名是指定要测试的应用程序包名,事件次数是指定Monkey工具执行事件的总次数。
解密Android测试中的Monkey工具
解密Android测试中的Monkey工具Android测试中的Monkey工具是一种用于模拟用户行为的自动化测试工具,它可以帮助开发人员发现和解决应用程序中的潜在问题。
本文将介绍Monkey工具的原理、用法以及常见的使用场景。
一、Monkey工具简介Monkey工具是Android SDK自带的一个命令行工具,用于模拟随机用户行为,例如点击、滑动、按键等,以测试应用程序在各种情况下的稳定性和健壮性。
它可以生成大量的随机事件,帮助开发人员发现并解决应用程序中的潜在问题。
二、Monkey工具的原理Monkey工具的原理是基于事件序列生成器,它通过随机生成用户事件序列来模拟用户在手机上的操作。
事件包括点击、滑动、按键等。
Monkey工具可以设置事件百分比来控制每种事件在序列中的出现频率,还可以设置事件数量、时延等参数。
三、Monkey工具的用法1. 安装Android SDK:首先需要安装Android SDK,并确保adb (Android Debug Bridge)工具可用。
2. 连接设备:连接Android设备或启动模拟器,确保设备已正确连接到电脑。
3. 打开命令行终端:打开终端或命令提示符窗口,进入到Android SDK的platform-tools目录下。
4. 运行Monkey工具:输入以下命令来运行Monkey工具:```adb shell monkey [选项] <事件数量>```其中,[选项]可以根据需要设置不同的参数,比如设置事件百分比、事件数量等。
5. 等待测试结果:Monkey工具将在设备上执行生成的随机事件序列,并输出相应的测试结果。
四、Monkey工具的使用场景1. 压力测试:通过设置大量的事件数量和频率,可以模拟应用程序在高负载情况下的运行状态,以测试其在压力下的稳定性和性能。
2. 稳定性测试:通过随机事件序列的生成,可以模拟用户的各种操作,从而发现应用程序中可能存在的崩溃、ANR(Application Not Responding)等问题。
monkey 参数
Monkey 参数1. 什么是 Monkey 参数?Monkey 参数是指在进行 Android 平台的 Monkey 测试时,用于控制 Monkey 行为的一系列参数。
Monkey 测试是一种自动化的压力测试方法,通过生成伪随机的用户事件序列,模拟用户对应用程序的操作,以检测潜在的崩溃和异常情况。
2. Monkey 参数的作用通过设置 Monkey 参数,可以控制 Monkey 测试的行为,以满足测试的需求。
常见的 Monkey 参数包括事件百分比、事件数量、随机种子等。
2.1 事件百分比Monkey 测试通过产生各种随机事件来模拟用户的操作,如点击、滑动、按键等。
通过设置事件百分比,可以指定每种事件在测试中的触发频率。
例如,设置点击事件百分比为 50%,表示点击事件在测试中触发的频率为 50%。
2.2 事件数量Monkey 测试可以设置事件数量,即要执行的事件总数。
通过设置事件数量,可以控制测试的持续时间和覆盖范围。
较小的事件数量可能只测试应用程序的一小部分功能,而较大的事件数量可以更全面地测试应用程序的各个方面。
2.3 随机种子随机种子是一个整数,用于初始化随机数生成器。
通过设置随机种子,可以确保每次运行 Monkey 测试时生成的事件序列是相同的。
这对于重现问题和调试非确定性问题非常有用。
3. 如何设置 Monkey 参数在 Android 设备上执行 Monkey 测试时,可以通过命令行参数来设置 Monkey 参数。
以下是常见的设置 Monkey 参数的方法:3.1 设置事件百分比通过-pct参数可以设置每种事件的触发百分比。
例如,-pct-touch 50表示点击事件的触发百分比为 50%。
3.2 设置事件数量通过-v参数可以设置要执行的事件数量。
例如,-v 1000表示要执行 1000 个事件。
3.3 设置随机种子通过-s参数可以设置随机种子。
例如,-s 1234表示设置随机种子为 1234。
Android 平台及整机测试测试标准要求大纲(初稿)
Android 平台及整机测试测试标准要求大纲(初稿)一、Android系统测试1.Android 平台Monkey测试标准详细看研发保护机制方案二、整机测试GB 191-2000 包装储运图示标志GB 1002-1996 家用和类似用途单相插座形式尺寸GB 2099.1-1996 家用和类似用途插头插座第一部分:通用要求GB/T 2421-1999 电工电子产品环境试验第一部分:总则GB/T 2422—1995 电工电子产品环境试验术语GB/T 2423.1—2001 电工电子产品环境试验规程试验A:低温试验方法GB/T 2423.2—2001 电工电子产品环境试验规程试验B:高温试验方法GB/T 2423.3—1993 电工电子产品环境试验规程试验Ca:恒定湿热试验方法GB/T 2828.1-2003 计数抽样检验程序第1部分:按接收质量限(AQL)检索的逐批检验抽样计划GB/T 4857.2-1992 包装件基本试验温湿度调节处理GB/T 4857.5-1992 包装件基本试验跌落试验方法GB 4943-2001 信息技术设备(包括电气事物设备)的安全GB 5080.7-1986 可靠性试验恒定失效率假设下的失效率与平均无故障时间的验证试验方案。
GB 6882-1986 声学噪声源声功率级的测定消声室和半消声室精密法(neq ISO3745:1977)GB 9254-1998 信息技术设备的无线电干扰极限值和测量方法试验GB/T 9813-2000 微型计算机通用规范GB 17625.1—2003 电磁兼容限值谐波电流发射限值(设备每相输入电流≤16A)2)安全要求,B. 功能和性能检查按产品标准中规定的各项功能、性能、软件配置和文档逐项进行检查,应符合产品标准的要求。
C. 外观和结构试验用目测法和有关检测工具进行外观和结构检查,产品应符合4.3的要求。
D. 安全试验a) 接触电流试验按GB4943中5.1条规定进行。
Android_Monkey_测试执行策略及标准--text
-v -v -v
--throttle 3000 --randomize-throttle 99999
设置事件间的时间延时 执行事件次数
2016/5/28
华为机密,未经许可不得扩散
第4页,共4页
针对各种crash的忽略,监控,停止 进程操作
2016/5/28
华为机密,未经许可不得扩散
359149537.xlsx --pkg-whitelist-file /data/whitelist/whitelist.txt --wait-dbg 在data\misc文件夹下产生一个“.hprof”的文件 (heap-dump-tm1312534653-pid159.hprof)
文档密级
可以进行特定apk的Monkey测试 所有类别: * CATEGORY_DEFAULT * CATEGORY_BROWSABLE * CATEGORY_TAB * CATEGORY_ALTERNATIVE * CATEGORY_SELECTED_ALTERNATIVE * CATEGORY_LAUNCHER * CATEGORY_INFO * CATEGORY_HOME * CATEGORY_PREFERENCE * CATEGORY_TEST * CATEGORY_CAR_DOCK * CATEGORY_DESK_DOCK * CATEGORY_CAR_MODE
-c intent.CATEGORY_LAUNCHER
--ignore-crashes --ignore-timeouts --ignore-security-exceptions --monitor-native-crashes --ignore-native-crashes --kill-process-after-error --pct-touch 20 --pct-motion 20 --pct-trackball 10 --pct-syskeys 5 --pct-nav 5 --pct-majornav 10 --pct-appswitch 10 --pct-flip 10 --pct-anyevent 10 --pkg-blacklist-file /data/blacklist/blacklist.txt 1.需要新建黑白名单文件夹和同名 txt文件。 2.然后在txt文件中编辑apk列表。 第3页,共4页 所有的事件的百分比应该是100%, 从Monkey测试报告中没有发现特定 事件的影响:比如在U8800上进行 100%的轨迹球事件测试,没有发现 任何影响。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Android 平台及整机测试测试标准要求大纲(初稿)一、Android系统测试
平台Monkey测试标准
1)系统稳定性测试
2.StabilityTest系统测试
主要对对CPU、CPU+GPU、内存运行灯作稳定性测试,测试过程中不发生任何异常和报错为通过,测试时间>5小时,至少测试10次,样机>5台。
4.WDT等保护机制测试
详细看研发保护机制方案
二、整机测试
测试整机发热及散热情况、监控CPU等主要芯片工作时温度情况
3.整机跑分测试
CPU、GPU、内存等用不同跑分软件测试,要求至少使用主流的三款以上跑分软件分别测试整机性能,并与目前已有的对手整机(同解决方案)进行对比,要求同一配置下整机跑分不低于对手同级别设备;
4.整机压力挂机测试
全功能开启,加载大应用情况下,挂机一周,中间无异常情况,而MTBF暂无测试方法5.环境及电气参数测试(高低温测试要求达标标准按照此前需求文档,但不能低于此文档要求)
硬件环境测试
1)依据标准
GB 191-2000 包装储运图示标志
GB 1002-1996 家用和类似用途单相插座形式尺寸
GB 家用和类似用途插头插座第一部分:通用要求
GB/T 2421-1999 电工电子产品环境试验第一部分:总则
GB/T 2422—1995 电工电子产品环境试验术语
GB/T —2001 电工电子产品环境试验规程试验A:低温试验方法
GB/T —2001 电工电子产品环境试验规程试验B:高温试验方法
GB/T —1993 电工电子产品环境试验规程试验Ca:恒定湿热试验方法
GB/T 计数抽样检验程序第1部分:按接收质量限(AQL)检索
的逐批检验抽样计划
GB/T 包装件基本试验温湿度调节处理
GB/T 包装件基本试验跌落试验方法
GB 4943-2001 信息技术设备(包括电气事物设备)的安全
GB 可靠性试验恒定失效率假设下的失效率与平均无故障时间的验证试验方案。
GB 6882-1986 声学噪声源声功率级的测定消声室和半消声室精密法(neq ISO 3745:1977)
GB 9254-1998 信息技术设备的无线电干扰极限值和测量方法试验
GB/T 9813-2000 微型计算机通用规范
GB —2003 电磁兼容限值谐波电流发射限值(设备每相输入电流≤16A)
2)安全
A.接触电流
产品接触电流的允许值不得超过 mA。
B.抗电强度
产品的相线和交流地线与机壳之间应承受有效值为1500V的交流电压,历时1min而无闪烁或击穿现象。
C. 接地连续性
产品的接地电阻不超过Ω。
D. 电源输入口附近的明显部位应标明输入电压、频率及电流容量。
E. 用于国内销售的工业控制计算机电源插头线应符合GB1002和GB2099的规定,插头,连结器和绝缘线必须有CCC的安全认证。
2) 电源适应能力
A. 产品在198V~242V、49Hz~51Hz的条件下运行系统诊断程序工作应正常。
B. 对于直流供电部位应能在直流电压标称值变化±3%的条件下运行系统诊断程序,工作应正常。
3) 噪声
产品工作时,产品的噪声不得高于55dB,加装两个风扇以上的产品,其噪声要求应在产品标准中规定。
4) 电磁兼容性
产品的电源端子干扰电压的极限值和辐射干扰场强的极限值,应符合GB9254中A级ITE要求,产品的谐波电流的限值,应符合中A类设备的限值要求。
表 1 A级ITE电源端子传导干扰限值
表 2 A级ITE在10m测量距离处的辐射干扰限值
5) 环境条件
A. 气候环境适应性见表4
表 4 气候环境适应性
B. 机械环境适应性
C. 运输包装件跌落适应性见表 5
表 5 运输包装件跌落适应性
3)测试方法
A 环境条件试验
本标准中除气候环境试验和耐电强度试验外,其他试验均在下述正常大气条件下进行。
温度:15℃35℃
相对湿度:45%75%
大气压力:86kPa 106kPa
B. 功能和性能检查
按产品标准中规定的各项功能、性能、软件配置和文档逐项进行检查,应符合产品标准的要求。
C. 外观和结构试验
用目测法和有关检测工具进行外观和结构检查,产品应符合的要求。
D. 安全试验
a) 接触电流试验按GB4943中条规定进行。
b) 耐电强度试验按GB4943中条规定进行,在交收检验时不进行预处理。
C) 接地连续性试验按GB4943中条规定进行。
E. 噪声试验
按GB 6882规定进行,测试点距离受试样品各表面1m处,在打印机不工作,软、硬盘不寻道的情况下进行测试,取最大值。
F. 电源适应能力试验
交流电源适应能力试验
按表6组合对受试样品进行试验,每种组合运行系统诊断程序一遍,受试样品工作应正常。
G. 电磁兼容性试验
无线电骚扰限值的测量按GB9254规定的方法进行,谐波电流的测量按照规定的方法进行,试验过程中运行系统诊断程序,工作正常。
H. 环境试验
a)一般要求
本标准规定的环境试验方法的总则、名词述语应符合GB2421,GB2422的有关规定。
以下各项试验中规定的初始检测和最后检测,统一按本标准条进行外观和结构检查,并运行系统诊断程序一遍,工作应正常。
b) 温度下限试验
工作温度下限试验
按照“试验Ad”进行,受试样品须进行初始检测。
在受试样品不工作的条件下,将箱(室)温度逐渐降至10℃,待温度稳定后,加电运行系统诊断程序2h,受试样品工作应正常,试验完成后,待箱内温度自然回到室温,取出样品,在正常大气条件下恢复2h。
贮存运输温度下限试验
按“试验Ab”进行将受试样品放入低温箱(室),使箱(室)温度降至-40℃,受试样品在不工作条件下存放16h,恢复时间为2h,进行最后检测。
并运行系统诊断程序一遍,工作应正常。
为防止试验中受试样品的结霜和凝露,允许将受试样品用聚乙烯薄膜密封后进行实验。
必要时还可以在密封套内装吸潮剂。
c)温度上限试验
工作温度上限试验
按“试验Bd”进行,受试样品须进行初始检测,在受试样品不工作的条件下,将箱(室)温度逐渐上升至35℃,待温度稳定后,加电运行系统诊断程序2h试样品工作应正常,试验完成后,待箱(室)内温度自然下降至室温,取出受试样品,在正常大气条件下恢复2h 贮存运输温度上限试验
按“试验Bb”进行,将受试样品放入高温箱(室)内,使箱(室)温度上升至55℃,受试样品在不工作条件下存放16h,恢复时间为2h,并进行最后检测,运行系统诊断程序一遍,工作应正常。
d) 恒定湿热试验
按中“试验Ca”进行。
工作条件下的恒定湿热试验
将受试样品放入试验箱内,进行初始检验,在受试样品不工作的条件下,将箱(室)温度升至35℃进行预热,待温度稳定后保持1h,再加湿。
试验期间箱内温度保持在规定的工作温度上限值(允许偏差±2℃),相对湿度保持在78%~82%的范围内,当箱内达到湿热平衡后,给受试样品加电,运行系统诊断程序2h,工作应正常,试验结束后,先将相对湿度降至72%~78%的范围内,打开试验箱,使温度自然降至室温条件,在正常大气压下恢复2h,并进行最后检测。
储存运输条件下的恒定湿热试验
对受试样品进行初始检测,将其放入箱内温度升至40℃进行预热,待温度稳定后保持1h,再加湿,试验期间箱内温度应保持在38℃~42℃范围内,相对湿度为91%~95%的范围内。
受试样品不工作的条件下,试验持续时间为48h。
试验结束后,先将箱内相对湿度降至72%~78%的范围内,打开试验箱,使温度自然降至室温条件,在正常大气压下,恢复2h,进行最后检测。
并运行系统诊断程序一遍,工作应正常。
I 运输包装件跌落试验
将运输包装件按中条5的要求和本标准表5的规定值进行跌落,任选四面,每面跌落一次。
对有木托的包装只做一次底面跌落。
试验后按产品标准的规定检查包装件的损坏情况,并对受试样品进行最后检测。
并运行系统诊断程序一遍,工作应正常。