zoukankan      html  css  js  c++  java
  • loadrunner参数化的数据分配与更新方式

    脚本设置完参数化,脚本运行的每一遍所取的参数化的值都不一样,那么这个值按照个什么情况来取呢?会有很多种方式

    Select next row【选择下一行】:

    顺序(Sequential):按照参数化的数据顺序,一个一个的来取。(假设10个vuser,参数数据只有8个,那么剩下的2个虚拟用户重复取开头的两个数据)

    随机(Random):参数化中的数据,每次随机的从中抽取数据。

    唯一(Unique):为每个虚拟用户分配一条唯一的数据(假设10个vuser,参数数据只有8个,那么将有2个虚拟用户分配不到参数)

     

    Update value on【更新时的值】: 

    每次迭代(Each iteration) :每次迭代时取新的值,假如50个用户都取第一条数据,称为一次迭代;完了50个用户都取第二条数据,后面以此类推。一组迭代数据(不管多少个虚拟用户,都是迭代一次所有用户取相同的一个值)

    每次出现(Each occurrence):每次参数时取新的值,这里强调前后两次取值不能相同。

    只取一次(once) :参数化中的数据,一条数据只能被抽取一次。(如果数据轮次完,脚本还在运行将会报错)

     

    上面两个选项都有三种情况,如果将他们进行组合,将产生九种取值方式。

    Select Next Row

    【选择下一行】

    Update Value On

    【更新时的值】

    Replay Result

    【结果】

    顺序(Sequential)

    每次迭代(Each iteration)

    结果:分别将15条数据写入数据表中

    功能说明:每迭代一次取一行值,从第一行开始取。当所有的值取完后,再从第一行开始取

    如:如果参数化文件中有15条数据,而迭代设置为16次,那执行结果中,参数化文件第一行的数据有两条

    顺序(Sequential)

    每次出现(Each occurrence)

    结果:分别将15条数据写入数据表中

    功能说明:每迭代一次取一行值,从第一行开始取。当所有的值取完后,再从第一行开始取

    如:如果参数化文件中有15条数据,而迭代设置为16次,那执行结果中,参数化文件第一行的数据有两条

    顺序(Sequential)

    只取一次(once)

    结果:表中写入15条一模一样的数据。

    功能说明:每次迭代都取参数化文件中第一行的数据。

    随机(Random)

    每次迭代(Each iteration)

    结果:表中写入15条数据,但可能有重复数据出现

    功能说明:每次从参数化文件中随机选择一行数据进行赋值

    随机(Random)

    每次出现(Each occurrence)

    结果:表中写入15条数据,但可能有重复数据出现

    功能说明:每次从参数化文件中随机选择一行数据进行赋值

    随机(Random)

    只取一次(once)

    结果:表中写入15条相同数据

    功能说明:第一次迭代时随机从参数化文件中取一行数据,后面每次迭代都用第一次迭代的数据。

    唯一(Unique)

    每次迭代(Each iteration)

    自动分配块大小

    结果:分别将15条数据写入数据表中

    功能说明:第一次迭代取参数化文件中的第一条数据,第二次迭代取第二条数据,以此类推。

    注:如果设置迭代次数为16次。结果:在执行第16次迭代时会抛异常,异常日志可在LoadRunner的回放日志(replayLog)中看到。

    唯一(Unique)

    每次出现(Each occurrence)

    步长为1

    结果:分别将15条数据写入数据表中

    功能说明:第一次迭代取参数化文件中的第一条数据,第二次迭代取第二条数据,以此类推。

    注:如果设置迭代次数为16次,而参数化文件中只有15条数据,明显数据不够。此时可以设置“when out of values”属性来判断当数据不够时的处理方式

    Abort Vuser:中断虚拟用户

    Countinue in a cylic manage:循环取参数化文件中的值,即:当参数化文件中的值取完后又从参数化文件的第一行开始取值。

    Countinue with last value:继续用最后一条数据

    唯一(Unique)

    只取一次(once)

    结果:表中写入15条相同数据

    功能说明:每次都取参数文件中的第一条数据进行赋值

    最后, Ctroller中的参数取值方式

    在Vuser中参数取值在压力测试中将是不同的,以下简单列举常用的几个压力类型:

    (1)50个用户压力测试,要求测试时间内,用户登录的账号没有重复

    取值选择unique,eachinteraction;由于需要全部为不重复账号,一定要保证参数化文件中的账号充足,或者设置好合理的缺值处理方式。

    (2)50个用户压力测试,且要求每个用户用一个固定账号,在整个测试周期中,各个用户之间的账号不重复。

    取值选择unique,once;由于需要全部为不重复账号,一定要保证参数化文件中的账号充足,通常会在50个账号外留有余裕。

    注:要用于压力测试的场景中的脚本的用户账号等信息使用each interaction的情况更为普遍,账号信息很少会使用each occurrence。测试中需要每个虚拟用户都不同的情况就需要用到unique,其他两种取值方式(顺序、随机)都可能出现重复。

  • 相关阅读:
    软件工程实践项目课程的自我目标
    个人作业3——个人总结(Alpha阶段)
    结对编程2——单元测试
    个人作业2——英语学习APP案例分析
    结对编程1
    个人作业1——四则运算题目生成程序(基于控制台)
    关于在写5-3路上的一点趣事
    第一次课堂作业
    第四次作业
    面向对象程序设计课-第三次作业(改)
  • 原文地址:https://www.cnblogs.com/chxtdbk/p/7725844.html
Copyright © 2011-2022 走看看