常州天启建设公司网站,租用服务器做视频网站,深圳华强北招聘网,公司排行榜前言
上一次推文我们分享了性能测试工作原理、事务、检查点#xff01;今天给大家带来性能测试参数化#xff0c;检查点知识#xff01;后续文章都会系统分享干货#xff0c;带大家从0到1学会性能测试#xff0c;另外还有教程等同步资料#xff0c;文末免费获取~ 01、性…
前言
上一次推文我们分享了性能测试工作原理、事务、检查点今天给大家带来性能测试参数化检查点知识后续文章都会系统分享干货带大家从0到1学会性能测试另外还有教程等同步资料文末免费获取~ 01、性能测试参数化
什么情况下需要参数化 通常以下情况必须参数化 1.唯一数约束 如果在数据库对某个字段有唯一的约束那么这种情况下必须参数化; 2.日期约束 如果涉及一些日期方面的约束过期之后业务会失败那么这种情况一定得参数化; 3.缓存约束 在做检索时如果每次检索出来的内容是一至的那么数据库不会到硬盘去取数据只会在缓存取数据这个时select查询时间不是真实的查询时间这种情况下一定得参数化; 4.数据约束 如果发送的请求有一部分要求必须不同这种情况必须参数化; 02、参数化步骤
1.参数化类型
参数化类型有很多种但一般我们只用文件参数化的方式
2.文件
表示参数所存储的文件位置如果参数比较多时我们会对参数进行合并
3.列的选择
选择列有两种方式一是按列名来选择二是按列号来选择
4.update value on更新值
更新值有三个选项每次迭代更新、每次使用时更新、一直使用某个数
每次迭代时更新数据在同一迭代中不管某参数使用到多少次都只使用一个参数
每次使用时更新数据是指某个参数只使用到就更新数据不管是不是在同一次迭代中即使在同一迭代某个 参数如何使用到多次我们也要更新新的数据
5.select next row选择下一行数据
如何选择下一数据有几种方式顺序选择、随机选择、唯一数、与某参数相同
顺序选择是指按顺序的从文件中读取数据来使用
随机选择是指在文件中随机选择一个数据来使用
唯一数是指每个虚拟用户只能使用某部分的数据例如设置块大为10
那么表示每个虚拟用户只能使用到10个数据
第一个虚拟用户只能使用到1-10条数据
第二个虚拟用户只能使用到11-20条数据
以此类推
以某行相同是指该参考选择的策略与另外一个参数选择的策略一至如A与B行选择相同那么是指B选择哪行的数据A就必须也选择该行数据进行执行。 03、数据库参数化
数据库参数化的步骤如下
1、在控制面板-数据管理中创建数据源
2、在参数列表中单击“data wizard”按钮
3、在弹出的数据查询向导对话框中选择数据查询方式
一是:使用Microsoft query模块来查询
二是:使用sql语句来查询;
4、选择数据源
5、输入查询的SQL语句 性能测试关联技术
为什么需要关联
1、发送请求需要带一个类似ID号的内容这个ID号是由服务器返回给客户端的
2、这个ID是一个动态每次发送情况这个值都会发现改变。
如果出现以上特征时一般这个业务都是需要关联的。 关联的原理
由于服务器返回给客户端的值是一个变化的值所以我们不可能直接得到这串值这样不可能直接取到我们需要的那串变化的值。
但我们可以能从服务器返回给客户端的所有的值来去匹配我们要的值正常情况下服务器返回给客户的内容都在response body中简单说这些返回的内容就是一串字符串但是返回的字符串不可能所有的内容都是变化只有很少数部分内容是变化。
虽然我们不可能直接取到变化的值的内容但是可以通过找到变化值所对应的左右边界值来得到变化的值即固定左边的字符串容和右边的字符串内容然后将符合左右边界规则的字符串的值取出来。取出来之后将这个值存放在一个变量中。
再将这个变量放到请求中来即可原来录制代码时这是固定才导致请求不成功现在换一个变量就可以解决 这个问题。也就说关联的核心原理就是找到变化值的左右边界内容。 关联的左右边界值
通常查找左右边界值的步骤如下 1、录制两个操作完全一至的脚本 2、使用wdiff工具比较这个两个脚本 3、找到需要关联的值 4、到所有请求的response body中找到需要关联的值所在的BODY内容 5、通过这个返回的response body中的值来确定需要关联值的左右边界值 6、在录制设置对话框中创建规则LoadRunner关联规则有两种
一是:内置关联规则二是:自定义关联规则(常用) 7、重新录制脚本录制完成后LoadRunner会对脚本自动的进行关联 关联函数
关联函数的语法int web_reg_save_param( const char *ParamName, List of Attributes, LAST );参数说明ParamName参数名LB表示左边界值需要匹配内容的左边界值如果LB的值不设置那么说明匹配的从左边第一个字符开始直到符合右边界值为止。如果需要对左边界进行更精准的匹配那么左边界还有以下一些参数可以设置---/IC不区分大小写---/BIN表示在指定的二进制数进行匹配---/DIG表示使用#做通配符匹配0-9的任意一个数---/ALNUMcase表示匹配一个字符可以是数字、大写字母、小写字母RB表示右边界值设置的方法与LB一至如果RB的值不设置那么说明匹配的内容从左边界值开始直到右边最后一个字符。ORD表示选择第几次符合左右边界值规则的值因为有可能会出现多个符合左右边界值的默认值为1表示第一个符合这个左右边界值的数据。如果设置为All那么会将所有符合左右边界值的数据保存保存一个数组中。SaveLen表示在匹配的数据中取一个子符串字符串长度SaveLen如果不设置长度就是取所有的内容从第几个字符开始取是由saveoffset来决定。SaveOffset表示偏移量是指从第多少个字符开始取值。默认值为零表示从第一个字符开始取。 关联函数的使用
第一种写法int irand;char flightnum[10],flightele[10];....srand(time(NULL));irand rand() % atoi(lr_eval_string({outboundFlight_count})) 1;sprintf(flightnum,{outboundFlight_%d},irand);lr_save_string(lr_eval_string(flightnum),flightele);第二种写法int irand;char *flightnum,*flightele;....srand(time(NULL));irand rand() % atoi(lr_eval_string({outboundFlight_count})) 1;flightnum lr_paramarr_idx(outboundFlight, irand);lr_save_string(lr_eval_string(flightnum),flightele); 关联与参数化的区别
关联与参数化的区别如下
1、关联的内容是由服务器发送给客户端的
2、参数化是客户端提交给服务器的
3、关联的值是动态的值是不确定
4、参数化的值是确定是我们自己设置好 绵薄之力【资源分享】
最后感谢每一个认真阅读我文章的人看着粉丝一路的上涨和关注礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走
下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码朋友们如果需要可以自行免费领取 【保证100%免费】 这些资料对于想进阶【自动化测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你凡事要趁早特别是技术行业一定要提升技术功底。希望对大家有所帮助……基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等配套学习资源免费分享~