近几年通过开源工具进行CNAS认可的成功率微乎其微,在软件测评实验室在参加CNAS评审时,性能测试工具LoadRunner就成了必不可少的设备。前面的文章中我们为大家讲解了LoadRunner的脚本录制和脚本回放和动作与事务,本文我们主要为大家讲解性能测试工具LoadRunner的参数使用。
参数是脚本创建过程的重要环节
指的是将脚本中的特定值用变量替代,该变量值是变化的(注意:这个值是我们自己创建的,不是服务器返回的)。 为了模拟真实世界的用户操作和创建真实的结果,真实反应服务器性能,我们需要对脚本进行参数化。
以下是参数应用的一些实际场景:
参数化输入数据:
我们在做参数化输入数据时,首先需要确定哪些字段要做参数化。然后用参数替换录制的数值。确定使用哪一种参数类型,再创建数据文件,填充数据到数据文件。选择数据访问方式和迭代次数,运行虚拟用户脚本,并分析结果以验证执行的准确性。
参数类型一共有三种:
• 内部数据
Vuser 内部生成的数据。这包括日期/ 时间、组名、迭代编号、负载生成器名、随机编号、唯一编号和 Vuser ID
• 数据文件
文件(现有文件或者用 VuGen 或 MS Query 创建的文件)中包含的数据
• 用户自定义函数
使用外部 DLL 函数生成的数据
当参数类型是‘文件’时,需要指定数据源,数据源主要有:
• 主数据
存在于数据库中的数据 。例如 – 已存在的用户 IDs, 密码, 订单编号
• 用户生成的数据
由用户通过键盘或鼠标输入而产生的数据 。例如 – 在可编辑字段中输入数据, 新的 ID, 新的邮件地址
• 外部数据
在脚本运行前无法预知的数据 。例如 – 信用卡号, 邮编, 电话区号, 订单的确认编号
使用“日期/ 时间”、“随机”、“唯一”和“用户定义的函数”参数类型时,通过 VuGen 可以指定参数的更新方法。可用的参数更新方法有:
• Each iteration: “Each iteration”方法指示 Vuser 为每次脚本迭代使用新值。如果一个参数在脚本中出现了若干次,则 Vuser 为整个迭代中所有出现的该参数使用同一个值。
• Each occurrence: “Each occurrence”方法指示 Vuser 在每次参数出现时使用新值。
• Once: “Once”方法指示 Vuser 在方案运行期间仅对参数值更新一次。
Vuser 为所有出现的该参数和所有迭代使用同一个参数值。
接下来是数据访问方式的选择,在Select next (选择下一个数据) 中告诉 LoadRunner 以什么样的顺序从文件 (数据源) 中得到数据。有以下几种模式:
• Sequential
• Random
• Unique
• Same line as XXX
Sequential Method (顺序方式):每个虚拟用户每一次迭代一次就取一行数据;第 1 行的数据用于迭代 1, 第 2 行的数据用于迭代2, 以此类推。
Random Method (随机方式):如果每次迭代都需要改变数值,那么在运行过程中,每次迭代 LoadRunner 会随机选取一行数据;不保证选取数据的唯一性。
Unique Method (唯一方式):每个虚拟用户都有一块专用的数据行;必须确保数据表中数据的唯一性。
Same line as XXX:每次迭代选择与“XXX”同一行的数据;需要有两个以上文件参数才能选择该方式;两个文件数据行数必须相同。
接下来我们一起看一下如何在记事本中创建数据文件。在数据文件中输入新增的列名和相应的数值,列与列之间用分隔符(如逗号或tab符)分隔。表格中的每一行都要开始于数据文件中新的一行。在列名和数据项中避免输入额外的空格。在最后一行数据后只能创建一个空行。
最后我们需要验证参数化脚本执行的准确性,以上就是脚本参数化的全部流程,欢迎大家交流探讨,本文着重从理论上进行了介绍,需要具体实操手册可以私信我获取。