Jmeter性能测试系列——测试模型构建&场景用例设计
上次分享了Jmeter性能测试系列,性能测试工作实施中的指标分析与定义,今天讲讲测试模型构建和场景用例设计。
01、测试模型构建
确定测试需求及对应指标后,测试工程师可针对被测业务分析其业务模型,便于测试场景及脚本的设计。
1.登陆业务操作模型
(1) 打开首页;
(2) 输入用户名及密码,登陆;
(3) 退出系统。
2.商品浏览购买操作模型
(1) 打开首页;
(2) 输入用户名及密码,登陆;
(3) 随机选择商品购买;
(4) 设置收货地址;
(5) 设置物流方式及付款方式,提交订单;
(6) 退出系统。
02、场景用例设计
性能测试过程中,首先应该设计测试场景,模拟真实业务发生的情境,然后是针对场景设计脚本。
为了真实的反映被测对象可能存在的性能问题,需要尽可能模拟被测对象可能发生瓶颈的业务场景。测试需求分析过程中已经确定了需要测试的业务类型,在此,则需要设计针对每种或综合业务的测试场景。
性能测试场景通常包括单业务基准测试、单业务压力测试、单业务负载测试、综合业务基准测试、综合业务压力测试、综合业务负载测试、综合业务稳定性测试等7种常用测试场景。
1. 单业务基准测试
测试某个具体业务是否满足系统设计或用户期望的性能指标,如用户期望系统支付接口支持50个用户并发支付,如果满足了,则认为基准测试完成,否则失败。基准测试过程中,性能指标的任何一项均需成功,才认为基准测试完成。基准测试可分为并发基准及业务量基准两种,其目的都在于验证是否满足预期目标设定。
2. 单业务压力测试
测试某个具体业务在最大负载下,持续服务的时长,以此验证被测业务的稳定性。压力测试过程中所设计的负载,是以系统基准负载为标准,如系统基准负载为50个并发用户,则压力测试的负载设为50个,通过运行时长的变化,验证服务器在系统预设负载下持续服务的能力。具体的时长从需求分析、运行日志、系统设计规划等来源获取。
3. 单业务负载测试
测试某个具体业务能够承受的最大负载,验证被测业务能够承受的最大负载数,如系统基准负载为50个,则通过多次测试,逐步加大负载,最终获得被测业务的最佳负载。在最佳负载下,系统仍需满足各项性能指标。
4. 综合业务基准测试
与单业务基准测试类似,但综合业务需考虑业务与业务间的联系,如果相互之间存在资源争用,则需单独组合测试。
假设系统需测试的业务有三个:A、B、C,综合业务基准测试是将ABC一起运行,那么加上A、B、C三个基准测试,共计4个基准测试场景,分别是ABC、A、B、C,但A与C存在资源争用,则需单独将A与C组合,构成一个单独的测试场景,则一共为ABC、A、B、C、AC等5个基准测试场景。
综合业务测试中的数据分配,根据实际业务、用户需求、运行日志、运营规划等分析确定。