参数化数据设置

作者: Jane93 | 来源:发表于2020-02-01 14:38 被阅读0次

说明

文章内容来源 高楼老师-极客时间-《性能测试实战30讲》

怎么设计参数化

参数化数据的疑问根据我的经验,在参数化测试数据的获取和考虑上,我们一般会有以下四个常见的疑问。

  • 参数化数据应该用多少数据量?
  • 参数化数据从哪里来?
  • 参数多与少的选择对系统压力有什么影响?
  • 参数化数据在数据库中的直方图是否均衡?

参数化数据量

根据高老师的文章,

1、数据量的多少可以先自己做一次基准测试,根据对应的tps来进行估算:例如tps=100,如果测试的场景是需要运行5min,且每个请求的参数不可重复,那需要的数据量为:560100 = 30000;

若数据部分可重复,就需要看我们测试过程中,线程组和循环的设计了:

图片来源:高老师极客时间《性能测试实战30讲》

image

以上仅仅为技术层面的评估,在真实进行测试时,我们还需要参考业务场景,综合设计。以下业务场景内容来源:

高老师极客时间《性能测试实战30讲》

场景一:

用户在早上登录系统之后,一直在系统中带着登录 session 做业务操作,并且不会退出,只有在下班时才退出系统。当我们要模拟一天中的业务峰值时,可以这样配置:

image

在这样的场景中,所需要的数据量就等于线程数量。

参数化数据量=线程数

场景二:

电商中,用户购买商品。

在常见的促销活动中,用户购买商品,很少会有一个用户不停的循环购买商品,这个时候,就需要按照业务处理能力来进行估算数据量了。

image

在这种场景中,用户是不允许重复的,所需要的数据量就等于请求量。

参数化数据=TPS请求时间(单位s)*

参数化数据来源

参数化数据的来源,有些是数据库有保存的,比如一些查询操作,我们可以直接从数据库取出(根据业务来判断是否需要脱敏),将其放入到参数化文件中;

有些数据是数据库不存在的,比如一些新增操作,这时需要我们自己通过工具进行数据的生成,并将数据放入到参数化文件中,用于测试。

以下为高老师对数据来源的说明:

参数化数据从大体上划分,主要有两个来源。   
第一类用户输入的数据在后台数据库中已存在,比如我们上面示例中的用户数据。 
这类数据的特点是什么呢?
 * 存在后台数据库中;
 *需要用户主动输入; 
*用户输入的数据会和后台数据库中的数据做比对。 
这类数据必须查询数据库之后再参数化到工具中。   

第二类用户输入的数据在后台数据库中不存在。
 在业务流中,这些数据会 Insert 或 Update 到数据库中。 
这类数据的特点是什么呢?
 *数据库中原本不存在这些数据;
 *在脚本执行成功后会将这些数据 insert 或 update 到数据库中; 
 *每个用户输入的数据可能相同,也可能不同,这取决于业务特点。
 这类数据必须通过压力工具做参数化,同时也必须满足业务规则。   

 总之,参数化时需要确保数据来源以保证数据的有效性,千万不能随便造数据。
 这类数据应该满足两个条件: 
*要满足生产环境中数据的分布; 
*要满足性能场景中数据量的要求。

参数化数据的多与少对系统的影响

关于数据量的多少,会影响到测试结果,同时测试结果一定要表明是基于多少的数据量,得出当前的测试结果。

参数取得过多,对系统的压力就会大; 参数取得过少,不符合真实场景中的数据量,则无法测试出系统真实的压力。

参数化数据是否均衡

数据是否均衡,主要是关于业务相关的数据,我们需要明确客户的业务获取真实的数据。

比如我们在将某id值设置为10000,而实际情况下,此id值大多为300左右,此时就会影响到系统的处理能力,最终的TPS就会有偏差。

在涉及到业务处理操作时,对数据进行参数化之前,先看一下数据库,已有的数据分布是怎样的。如果是一个新的系统,可同产品等业务人员进行确认,而后进行数据设计。如果时间允许,可分别设计不同的参数,进行压测,统计后作为此次测试的结果。

相关文章

  • 参数化数据设置

    说明 文章内容来源 高楼老师-极客时间-《性能测试实战30讲》 怎么设计参数化 参数化数据的疑问根据我的经验,在参...

  • LoadRunner——参数化

    1,找到设置参数化的对象 参数化的步骤 2,设置参数化 3,添加参数和设置方式 4,同理设置密码参数 5,用户名和...

  • mysql基础管理-初始化配置

    初始化配置 方式: 源码安装->编译过程中设置初始化参数 配置文件->数据库启动之前,设置配置文件参数。/etc/...

  • NDK -使用CMake集成Lame

    lame 方法介绍 初始化编码 lame_init:初始化一个编码参数的数据结构,给使用者用来设置参数。 设置编码...

  • JMeter(3) 参数化请求

    参数化请求url 配置用户参数服务器设置,读取参数值用户参数里面设置参数具体值 参数化请求参数 函数助手参数化例子...

  • 第五章 机器学习基础

    》拟合训练数据和寻找能够泛化到新数据的参数有哪些不同。 》如何使用额外的数据设置超参数。 》机器学习本质上属于应用...

  • 波士顿房价预测-一元线性回归与多元线性回归

    波士顿房价预测-房间数这一个属性来预测房价 加载数据集 数据处理 设置超参数 设置模型参数初始值 训练模型 可视化...

  • Jmeter篇:参数化

    CSV参数化1.线程组 --- 配置元件 --- CSV数据文件设置 数据文件: 文件名:选择数据文件路径 文件编...

  • Pytest和Allure测试框架-超详细版+实战4

    四,参数化与数据驱动框架实现 参数化1 参数化2: 单个参数附上多个值 参数化3: 多个参数的 参数化4: 登录参...

  • circos 学习手册(二十八)

    技巧(三) 10. ID 字段 本节将演示如何根据 ID 字段格式化数据 每个数据点都可以为格式化参数设置值,如 ...

网友评论

    本文标题:参数化数据设置

    本文链接:https://www.haomeiwen.com/subject/dofxxhtx.html