首页 > 其他分享 >Android压测测试事件行为参数对照表

Android压测测试事件行为参数对照表

时间:2023-10-26 12:02:59浏览次数:38  
标签:Monkey 压测 pct 对照表 ignore -- 事件 测试 Android


一、压测命令参数说明

执行参数

参数说明

颗粒度指标

基础参数

--throttle <ms>

用于指定用户操作间的时延。

-s

随机数种子,用于指定伪随机数生成器的seed值,如果seed值相同,则产生的时间序列也相同。多用于重测、复现问题。

-v

指定输出日志的级别,共有3个级别。

1) -v : 仅提供启动提示、测试完成和最终结果等少量信息;

2) -v -v : 提供较为详细的日志,包括每个发送到Activity的信息;

3) -v -v -v : 提供包括了测试中选中/未选中的Activity信息。

发送的事件类型

(注意:各事件类型的百分比总数不能超过100%)

--pct-touch <percent>

调整轻触事件所占百分比。(轻触事件是指屏幕上的单个位置的按下/释放事件)

--pct-motion <percent>

调整动作事件所占百分比。(动作事件包括屏幕上某个位置的按下事件,一系列伪随机动作和一个释放事件)

--pct-trackball <percent>

调整轨迹球事件所占百分比。(轨迹球事件包括一个或多个随机动作,有时后跟点击)

--pct-nav <percent>

调整“基本”导航事件所占百分比。(导航事件包括向上/向下/向左/向右,作为方向输入设备的输入)

--pct-majornav <percent>

调整“主要”导航事件所占百分比。(这些导航事件通常会导致界面中的操作,例如5方向键的中间按钮、返回键或菜单键)

--pct-syskeys <percent>

调整“系统”按键事件所占百分比。(这些按键通常预留供系统使用,例如“主屏幕”、“返回”、“发起通话”、“结束通话”或“音量控件”)

--pct-appswitch <percent>

调整Activity启动次数所占百分比。Monkey会以随机间隔发起startActivity()调用,以最大限度覆盖软件包中的所有Activity。

--pct-anyevent <percent>

调整其他类型事件所占百分比。这包括所有其他类型的事件,例如按键、设备上的其他不太常用的按钮等等。

约束

-p <allowed package-name>

-p 后接app包名,指定要测试的包名。如:

1) 指定1个包:

adb shell monkey -p 包名 1000 (其中1000是操作次数)

2) 指定多个包:

adb shell monkey -p 包名1 -p 包名2 -p 包名n 1000

3) 不指定包:

adb shell monkey 1000  (随机启动APP并发送1000个随机事件)

-c <main-category>

如果通过该方式指定一个或多个类别,Monkey将仅允许系统访问其中一个指定类别中的所列的Activity。如果没有指定任何类别,Monkey会选择Intent.CATEGORY_LAUNCHER或Intent.CATEGORY_MONKEY类别所列的Activity。要指定多个类别,请使用-c选项 -每个类别对应一个 -c选项。

调试选项

--dbg-no-events

指定后,Monkey将初始启动到测试Activity,但不会生成任何其他事件。为了获得最佳结果,请结合使用 -v、一个或多个软件包约束条件以及非零限制,以使Monkey允许30秒或更长时间。这提供了一个环境,可以在其中监控应用调用的软件包转换操作。

--hprof

如果设置此选项,则会在Monkey事件序列之和和之后立即生成分析报告,这将在data/misc下生成大型(约为5Mb)文件,因此请谨慎使用。

--ignore-crashes

通常,当应用崩溃或遇到任何类型的未处理异常时,Monkey将会停止。若指定此选项,Monkey会继续向系统发送事件,直到计数完成为止。

--ignore-timeouts

通常,如果应用遇到任何类型的超时错误(如“应用无响应”对话框),Monkey将会停止。若指定此选项,Monkey会继续向系统发送事件,直到计数完成为止。

--ignore-security-exceptions

通常,如果应用遇到任何类型的权限错误(如,它尝试启动需要特定权限的Activity),Monkey将会停止。若指定此选项,Monkey会继续向系统发送事件,直到计数完成为止。

--kill-process-after-error

通常,当Monkey因出错而停止运行时,出现故障的应用将保持运行状态。设置此选项后,它将会提示系统停止发生错误的进程。注意:在正常(成功)完成情况下,已启动的进程不会停止,并且设备仅会处于最终事件之后的最后状态。

--monitor-native-crashes

监视并报告Android系统原生代码中发生的崩溃。若设置了--kill-process-after-error,系统将会停止。

--wait-dbg

阻止Monkey执行,直到为其连接了调试程序。

二、稳定性测试参数标准表

参数

标准值

说明

事件百分比

50%

事件百分比指的是Monkey测试中各种事件类型的被触发概率,包括按键、手势、导航等。一般来说,事件百分比应该尽可能地接近实际用户的操作情况,以保证测试的真实性

操作延迟

500ms

操作延迟指的是Monkey测试中各种事件之间的时间间隔,包括事件之间的等待时间和操作执行时间。一般来说,操作延迟应该尽可能地接近实际用户的操作情况,以保证测试的真实性。

测试时长

10-30min

测试时长指的是Monkey测试的持续时间,一般应该根据被测应用程序的规模和复杂程度来确定。测试时长过短可能无法检测到潜在的问题,而测试时长过长可能会导致测试效率低下。

事件数量

1万-10万

事件数量指的是在Monkey测试中发送的事件总数,一般应该根据被测应用程序的规模和复杂程度来确定。事件数量过少可能无法检测到潜在的问题,而事件数量过多可能会导致测试效率低下

超时时间

5s

超时时间指的是在Monkey测试中等待程序响应的最长时间。如果程序在超时时间内没有响应,Monkey将终止当前事件并发送新的事件。超时时间应该根据被测应用程序的性能和网络环境来确定。

异常处理

记录并报告异常

异常处理指的是在Monkey测试中遇到程序异常时的处理方式。一般来说,应该记录并报告所有的异常情况,以便后续进行分析和修复。

稳定性指标

ANR率、崩溃率

稳定性指标指的是评估被测应用程序稳定性的标准,包括ANR率、崩溃率等。这些指标应该根据被测应用程序的性质和运行环境来确定,以确保测试的有效性和可靠性。

三、通用设置说明

在进行Monkey稳定性测试时,需要根据被测应用程序的性质和运行环境来设置测试参数和测试用例,以确保测试的有效性和可靠性。下面是一些常用的Monkey稳定性测试参数设置和测试用例示例:

  1. 事件百分比和操作延迟 在设置事件百分比和操作延迟时,应该尽可能地接近实际用户的操作情况,以保证测试的真实性。例如,对于一个普通的移动应用程序,可以按照以下方式进行设置:
adb shell monkey --pct-touch 50 --pct-motion 30 --pct-nav 10 --pct-majornav 5 --pct-appswitch 5 --throttle 500

其中,--pct-touch表示触摸事件的发送概率为50%,--pct-motion表示手势事件的发送概率为30%,--pct-nav表示导航事件的发送概率为10%,--pct-majornav表示主要导航事件的发送概率为5%,--pct-appswitch表示应用程序切换事件的发送概率为5%,--throttle表示事件之间的操作延迟为500ms。 2. 测试时长和事件数量 在设置测试时长和事件数量时,应该根据被测应用程序的规模和复杂程度来确定。例如,对于一个普通的移动应用程序,可以按照以下方式进行设置:

adb shell monkey --throttle 500 --pct-touch 50 --pct-motion 30 --pct-nav 10 --pct-majornav 5 --pct-appswitch 5 --monitor-native-crashes --ignore-crashes --ignore-timeouts --ignore-security-exceptions --kill-process-after-error --kill-processes-after-error --pct-syskeys 0 --pct-anyevent 0 -v -v -v 10000

其中,-v表示输出详细的测试日志,10000表示发送的事件总数。此外,还设置了一些其他的参数,如--monitor-native-crashes表示监控应用程序的崩溃情况,--ignore-crashes表示忽略应用程序的崩溃情况,--ignore-timeouts表示忽略超时错误,--ignore-security-exceptions表示忽略安全异常,--kill-process-after-error表示在发生错误后杀死应用程序进程,--kill-processes-after-error表示在发生错误后杀死所有相关进程,--pct-syskeys表示系统按键事件的发送概率为0%,--pct-anyevent表示任意事件的发送概率为0%。 3. 异常处理和稳定性指标 在设置异常处理和稳定性指标时,应该根据被测应用程序的性质和运行环境来确定。例如,对于一个普通的移动应用程序,可以按照以下方式进行设置:

adb shell monkey --pct-touch 50 --pct-motion 30 --pct-nav 10 --pct-majornav 5 --pct-appswitch 5 --throttle 500 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --kill-process-after-error --kill-processes-after-error --monitor-native-crashes --kill-processes-on-exit --ignore-native-crashes --ignore-native-crashes-during-setup -v -v -v 10000

其中,--ignore-crashes、--ignore-timeouts、--ignore-security-exceptions、--kill-process-after-error、--kill-processes-after-error、--monitor-native-crashes、--ignore-native-crashes、--ignore-native-crashes-during-setup等参数设置与上例相同。此外,还设置了--kill-processes-on-exit参数,表示在测试结束后杀死所有相关进程。同时,还可以根据需要设置ANR率、崩溃率等稳定性指标,并记录和报告所有的异常情况。

标签:Monkey,压测,pct,对照表,ignore,--,事件,测试,Android
From: https://blog.51cto.com/u_15834920/8032031

相关文章

  • 悲哀!大厂门槛成了很多Android开发无法企及的追求?这个机会到底怎么获得!
    大厂offer是每个技术人的追求许多程序员都梦想着能够获得大厂的offer,这并不是饭后闲聊的话题,而是每个技术人的追求。像阿里、腾讯、美团、字节跳动、京东等公司的技术氛围和技术规范度,相较于一些创业型公司或小公司,显然要高得多。如果能在这类公司工作几年,对个人能力的提升无疑会非......
  • Android系统SELinux详解
    前言SELinux是一种加强文件安全的一种策略,可以更好地保护我们的Android系统,比如限制系统服务的访问权限、控制应用对数据和系统日志的访问等措施,这样就降低了恶意软件的影响,并且可以防止因代码存在的缺陷而产生的对系统安全的影响。从系统安全方面考虑,SELinux是保护神,但是从软件开......
  • 最好用的Android APK第三方下载站,替代Google play
    最好用的AndroidAPK第三方下载站,推荐以下7个替代Googleplay方案可通过第三方应用程序下载各种apk历史版本1、APKPure:APKPure 提供:网页、AppAPKPure是知名度很高的免费安卓应用商店,基本上大部分GooglePlay上架的软件都可以在这里找到,但最近也有被屏蔽的倾向。2、APKMirror......
  • H5与Android的调试
    准备工作:PC下载并安装chrome(谷歌)浏览器一台安卓手机(4.4系统以上),用usb线链接电脑,打开开发者模式,且允许WebView进行调试,需新增如下代码:WebView.setWebContentsDebuggingEnabled(true);编译并运行代码chrome浏览器地址栏输入chrome://inspect,进入后点击inspect即进入调试模式(需要......
  • 悲哀!大厂门槛成了很多Android开发无法企及的追求?这个机会到底怎么获得!
    大厂offer是每个技术人的追求许多程序员都梦想着能够获得大厂的offer,这并不是饭后闲聊的话题,而是每个技术人的追求。像阿里、腾讯、美团、字节跳动、京东等公司的技术氛围和技术规范度,相较于一些创业型公司或小公司,显然要高得多。如果能在这类公司工作几年,对个人能力的提升无疑会非......
  • unity打包 android
    第一种:手动把没有的包都放入C:\ProgramFiles\Unity\Hub\Editor\2022.3.3f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib 第二种:修改镜像urlC:\ProgramFiles\Unity\Hub\Editor\2022.3.3f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools......
  • 基于Android的视频资讯-计算机毕业设计源码+LW文档
    摘 要随着互联网的发展,尤其是视频互联网的发在,越来越多的人喜欢在闲暇的时候通过刷视频来度过自己的闲暇时光,为了让更多的人能够看到跟多有趣的视频,我们开发了本次的基于Android的视频资讯APP。本基于Android的视频资讯APP是根据当前的实际情况开发的,在系统语言选择上我们使用......
  • 基于Android的心理咨询信息系统-计算机毕业设计源码+LW文档
    安卓框架:uniapp安卓开发软件:HBuilderX开发模式:混合开发后台:开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:Maven3.3.9浏览器:谷歌浏览器DROPTABLEIFEXISTSconfig;/*......
  • Android VNDK
     1.VNDK是什么VNDK的全称是VendorNativeDevelopmentKit,中文翻译过来叫“供应商原生开发套件”。本身实际上指的是Google提供给Vendor用来开发自己HAL的一套库。但实际上这个概念的引入有一个很大的背景,就是Treble项目。自AndroidO(8.0)以来,Google引入了Treble......
  • Android Kotlin 协程初探
    1它是什么(协程和Kotlin协程)1.1协程是什么维基百科:协程,英文Coroutine[kəru’tin](可入厅),是计算机程序的一类组件,推广了协作式多任务的子程序,允许执行被挂起与被恢复。作为Google钦定的Android开发首选语言Kotlin,协程并不是Kotlin提出来的新概念,目前有协程概念的编程语言......