性能测试------测试模型构建和场景用例设计

确定测试需求及对应指标后,测试工程师可针对被测试业务分析其业务模型,便于测试场景及脚本的设计

登陆业务操作过程:

  1. 打开首页
  2. 输入用户名及密码,登陆
  3. 退出系统

商品浏览购买操作过程:

  1. 打开首页
  2. 输入用户名及密码,登陆
  3. 随机选择商品购买
  4. 设置收货地址
  5. 设置物流方式及付款方式,提交订单
  6. 退出系统

场景用例设计

性能测试过程中,首先应该设计测试场景,模拟真实业务发生的情境,然后是针对场景设计脚本。

为了真实的反映被测试对象,可能存在的性能问题。需要尽可能模拟被测试对象,可能发生瓶颈的业务场景。测试需求分析过程中已经确定了需要测试的业务类型,在此,则需要设计针对每种或综合业务的测试场景。

性能测试场景通常包括单业务基准测试,单业务压力测试、单业务负载测试、综合业务基准测试、综合业务压力测试、综合业务负载测试、综合业务稳定性测试等7种常用测试场景。

单业务基准测试

测试某个具体业务是否满足系统设计或用户期望的性能指标。如用户期望系统支付接口支持50个用户并发支付,如果满足了,则认为基准测试完成;否则失败。基准测试过程中,性能指标的任何一项均需成功,才认为基准测试完成。基准测试可分为并发基准及业务量基准两种。其目的都在于:验证是否满足预期目标设定。

单业务压力测试

测试某个具体业务在最大负载下,持续服务的时长,以此验证被测业务的稳定性。压力测试过程中所设计的负载,是以系统基准负载为标准,如系统基准负载为50个并发用户,则压力测试的负载设为50个,通过运行时长的变化,验证服务器在系统预设负载下持续服务的能力。具体的时长从需求分析、运行日志、系统设计规划等来源获取。

单业务负载测试

测试某个具体业务,能够承受的最大负载,验证被测业务能够承受的最大负载数。如系统基准负载为50个,则通过多次测试,逐步加大负载,最终获得被测业务的最佳负载。在最佳负载下,系统仍需满足各项性能指标。

综合业务基准测试

与单业务基准测试类似,但综合业务需考虑业务与业务间的联系。如果相互之间存在资源争用,则需单独组合测试。假设系统需测试的业务有三个:A,B,C,综合业务基准测试是将ABC一起运行,那么加上A、B、C三个基准测试,共计4个基准测试场景,分别是ABC、A、B、C,但A与C存在资源争用,则需要单独将A与B组合,构成一个单独的测试场景,则一共为ABC、A、B、C、AC等5个基准测试场景。

综合业务测试中的数据分配,根据实际业务、用户需求、运行日志、运营规划等分析确定。

假设某银行柜员交易系统,1个小时内有4个柜员进行存款操作。6个柜员进行开户操作,10个柜员进行查询操作,则综合业务的负载比例设置为:

存款业务占比:4/(4+6+10)= 20%

开户业务占比:6/(4+6+10)= 30%

查询业务占比:10/(4+6+10)= 50%

针对综合业务稳定性测试,通常为核心业务在基准负载的基础上,运行相对长的实际,验证服务器持续提供稳定的服务能力。稳定性场景测试的时间,由需求方设定,一般为7*24小时不间断执行。

根据ECshop平台业务模型,确定本次性能测试的场景,主要为登陆并发基准测试、登陆业务量基准测试、商品随机浏览购买并发基准测试、商品随机浏览购买业务量基准测试等4个场景。

案例:要求在2小时内支持5w次用户登陆,可通过如下计算方法获取线程数。

总线程数 = 业务量 / (T  * 60 * 60/t)

T:考察时间段,设置2小时

t:单用户单次业务消耗时间,即单个用户完成一次业务过程所消耗的时间。尽可能模拟用户的真实行为。

业务量:设置5w

结果为:测试单次业务消耗时间

ECshop用户登陆系统单次消耗时间采用90% Line (抽样)为:88 + 135 = 223 毫秒,如果加上模拟用户输入用户名及密码(5秒思考时间)、登陆成功后等待返回主页(3秒思考时间)、退出后等待返回主页等操作(3秒的思考时间)。则单用户访问ecshop登陆所消耗时间为:223毫秒 + 5秒 + 3秒 + 3秒 = 11.223秒

带入之前的公式,获得模拟2小时5w用户登陆所需的线程数:5w / (2 * 60 * 60/ 11.223) = 77.88

因线程故取整为78个线程数

 

 

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值