测试任务是指,通过在不同压测点执行一系列测试脚本,持续对系统发起压力测试,通过测试获取并分析系统运行的性能数据。
压测宝中,根据测试任务的执行状态,可将其分为以下类型:
待执行任务 | 已创建成功但还未开始执行的测试任务,根据是否准备压测点资源,已预约任务又分为正在准备的待执行任务和未开始准备的待执行任务。 正在准备:已创建成功并已经为其分配了压测点资源,该任务随时可以开始执行。 未开始准备:创建成功但还没有为其分配压测点资源,需等待分配压测点资源后该任务才能执行。 |
执行中任务 | 正在执行中的测试任务,可实时查看测试结果。 |
已完成任务 | 正常执行结束的测试任务,可实时查看测试结果。 |
已终止任务 | 非正常结束的测试任务,包括手动终止和异常终止两种情况。如果是在任务执行一段时间后终止的任务,可查看这段时间 的测试结果;如果是在任务之前终止的则没有测试结果。 手动终止:准备执行或执行时被用户手动终止的测试任务。 异常终止:准备执行或执行时因系统错误等异常原因而被终止的测试任务。 |
创建测试任务时,需设置测试任务的基本信息、测试脚本信息、压力曲线和压力点分布策略。
基本信息
在基本信息中,需要设置测试任务的名称和开始时间。目前,测试任务默认在1小时之后开始执行,您也可以自定义时间,包括任务执行的日期和时间点。设置后,测试任务会在设置的时间自动执行。
测试脚本信息
在测试脚本信息中,需要添加测试脚本并设置对应的测试数据、虚拟用户占比和测试数据加载模式。
一个测试脚本即是一个事务,测试脚本和测试数据是对应的,测试数据的变量名必须与测试脚本相匹配,测试数据中必须包含测试脚本中的所有变量。
为测试脚本关联测试数据后,在执行测试任务时会读取对应测试数据中的数据。
虚拟用户(VU):性能测试中通过线程或进程执行脚本来模拟典型用户访问系统行为的用户。 |
虚拟用户占比用于设置测试脚本中虚拟用户的压力占比,所有测试脚本的虚拟用户占比综合应该为100%;测试数据加载模式用于设置执行测试脚本时,测试数据的加载顺序,包括随机加载和顺序加载。
压力曲线设置
在压力曲线设置中,需要设置发起压力测试的策略,即整个压力测试过程中虚拟用户数量(即并发用户)的变化曲线及曲线模式。设置压力曲线后,压测宝会自动计算出消耗的总VUm。
VUm即VU*m,指每分钟虚拟用户数,其中,VU是指压测任务虚拟用户数峰值;m是指压测任务执行时长,以分钟为单位,不满一分钟按一分钟计算。 |
比如,设置刚刚发起压测时为500虚拟用户,持续时间为5分钟,曲线模式为平行;之后压测时并发为1500虚拟用户,持续时间为10分钟,曲线模式为坡度,则压力曲线如下图所示。
从上图可以看出,在压力测试时前5分钟,有500虚拟用户持续对系统同时施加压力;5分钟到15分钟的这10分钟内,对系统同时施加压力的虚拟用户数从500逐渐增加到1500。整个压力测试共消耗12500VUm。
压力点分布策略
在压力点分布策略中,需要选择发起压力测试的压测点。目前,压测宝支持中国范围内的分布式压测,选择压测点后能够模拟来自各压测点用户接入后台所带来的真实流量和压力。
首先选择区域,然后设置具体压测点占所有压测点的百分比,所有压测点百分比之和为100%。