一、压测命令参数说明
执行参数 | 参数说明 | 颗粒度指标 | |
基础参数 | --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稳定性测试参数设置和测试用例示例:
- 事件百分比和操作延迟 在设置事件百分比和操作延迟时,应该尽可能地接近实际用户的操作情况,以保证测试的真实性。例如,对于一个普通的移动应用程序,可以按照以下方式进行设置:
|
其中,--pct-touch表示触摸事件的发送概率为50%,--pct-motion表示手势事件的发送概率为30%,--pct-nav表示导航事件的发送概率为10%,--pct-majornav表示主要导航事件的发送概率为5%,--pct-appswitch表示应用程序切换事件的发送概率为5%,--throttle表示事件之间的操作延迟为500ms。 2. 测试时长和事件数量 在设置测试时长和事件数量时,应该根据被测应用程序的规模和复杂程度来确定。例如,对于一个普通的移动应用程序,可以按照以下方式进行设置:
|
其中,-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. 异常处理和稳定性指标 在设置异常处理和稳定性指标时,应该根据被测应用程序的性质和运行环境来确定。例如,对于一个普通的移动应用程序,可以按照以下方式进行设置:
|
其中,--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