读书笔记 – 第4章 Controller 控制器

我们在 VuGen 里编辑并编译好脚本,就可以加载到 Controller 里进行运行场景设计,设计完,就可以执行场景了。两种方式可以启动 Controller:

“开始” -> “所有程序” -> “HP LoadRunner” -> “Applications” -> “Controller”;

VuGen -> Tools -> Create Controller Scenario;

4.1 场景类型介绍

4.1.1 手动测试场景:我们最常用的就是这种,更灵活,更容易接近用户真实的使用场景。其中又包括两种模式:用户组模式与百分比模式,在于计算虚拟用户的方式不同

4.1.2 面向目标测试场景:相当于一个闭环回馈关系。首先定义要达到的目标,接着 LoadRunner 会自动基于该目标创建场景,在运行过程中, LoadRunner 会不断地比较结果和目标,以决定下一步如何执行。

4.2 场景设计

手动和面向目标两种场景设计的区别主要在 Schedule 参数设置。该设置主要用来设置用户的行为方式,包括按场景计划和按用户组计划两种。

4.2.1 手动场景 Schedule 配置

1. 场景名称(Schedule Name);

2. 按场景计划(Schedule by Scenario)

(1)Initialize 设置。
设置脚本运行前如何初始化每个虚拟用户。
默认选项也就是最常用的选项,在脚本运行前初始化所有虚拟用户。
(2)Start Vuser 设置。
设置虚拟用户加载的过程。
默认设置也就是最常用的设置,每隔一定的时间加载一定数目的虚拟用户。
(3)Duration 设置。
设置场景执行的时间。
一般情况下,在进行压力测试时,只需要测试15~30 min即可,但如果需要测可靠性和稳定性时,则需要持续运行 24h或 3*24h。
(4)Stop Vusers 设置。
设置场景执行完后虚拟用户释放的策略,前提是上一步设置了执行时间。
一般我们跟加载用户一样去逐步释放。

3. 按用户组计划(Schedule by Group)

比按场景计划设计场景的设置项中多出了 Start Group 选项卡,以组为单位进行计划,每个组都要设置自己的 Start Vusers、Duration 和 Stop Vusers。这种方式理论上看更加灵活,能够创建更符合实际应用中脚本与脚本之间的约束关系。比如一组用户执行后产生的数据记录为另一组用户的输入。但实际应用中还未使用该模式,后续会深入了解实践。

4. 场景开始时间(Scenario Start Time)

Without delay:场景立即开始,没有延迟时间
With a delay of HH:MM:SS:延迟指定的时间后才开始运行
At HH:MM:SS on:在指定的时间开始运行

5. 百分比模式:

百分比模式是先设定好虚拟用户总数,然后按百分比的形式对所有的虚拟用户进行分配。一般在运行综合业务时常用,所以需要在设计阶段确定业务的百分比模型:

(1)分析历史数据。
(2)参考其他同类产品。
(3)试上线运行。

4.2.2 面向目标场景 Schedule 配置

该配置在我目前的实际应用中,还未被使用过,所以后续实践过了再来阐述。

4.2.3 配置 View Script

这里需要注意的是,如果对脚本修改了,需要在 Controller 中重新加载,才能确保场景执行的是修改后的脚本。

4.2.4 配置 Load Generator

Load Generator 称为负载发生器,负责分发 Controller 发出的执行命令给其他的负载机器,建立起联系并强制执行。所以我们在实际应用中,可以通过 Controller 机器同时控制多个负载机器去模拟多用户场景。

【读书笔记】《深入性能测试-LoadRunner性能测试》【第4章 Controller 控制器】
添加负载机

在 Name 里输入目标负载机的 IP 地址,点击 OK。然后在 Load Generators 窗口选中对应的负载机,点击 Connect 按钮,测试是否能连接成功。Status 为 Ready,表示连接成功。

在使用负载机模拟多用户测试时,需要注意几个问题:

(1)计算需要负载机的台数;
(2)在 Controller 和 Load Generator 机器上都要启动 LoadRunner Agent Process;
原理:Controller 通过 LoadRunner Agent Process 去控制负载机运行;

4.3 场景执行

4.3.1 场景控制

主要监控场景、Vuser 组和 Vuser 三个对象。

【读书笔记】《深入性能测试-LoadRunner性能测试》【第4章 Controller 控制器】
Vuser

运行中,你可以点击 Vusers… 按钮打开 Vuser 窗口,针对 Vuser 做一些操作。比如添加、查看日志等。

(1)右键菜单里的 Show Vuser Log, 可以查看指定 Vuser 的运行日志,方便检查出错日志。这里其实有一个建议,就是在脚本目录里有个 reslog 目录,里面的日志就是对应的 Vuser 运行日志,可以直接用 Notepad++ 或 UltraEdit 打开,较为方便查错。

(2)Add Vuser:我们再场景运行过程中,会经常遇到,事先设定的 Vuser 数不够,需要增加的情况,这时候可以在 Vusers 窗口里点击“Add Vuser(s)…”按钮打开下面的对话框,设置 Quantity to add 和 Select Script,点击 OK button 返回到 Vusers 窗口,默认你新增的 Vuser都是 Down Status,所以你可以在筛选菜单里选择 Down Status 查看,选中适当数量的 Vusers,再点击 Run button,这些 Vusers 就会被启动并加入场景运行。

【读书笔记】《深入性能测试-LoadRunner性能测试》【第4章 Controller 控制器】
Add Vusers

4.3.2 场景执行期间查看场景

我们在场景运行过程,可以查看 Vuser 执行的情况,主要包括:

Vuser 运行状态:

 

【读书笔记】《深入性能测试-LoadRunner性能测试》【第4章 Controller 控制器】
Scenario Groups
【读书笔记】《深入性能测试-LoadRunner性能测试》【第4章 Controller 控制器】
状态含义表

事务详细信息:

【读书笔记】《深入性能测试-LoadRunner性能测试》【第4章 Controller 控制器】
Scenario Status
【读书笔记】《深入性能测试-LoadRunner性能测试》【第4章 Controller 控制器】
场景状态含义表

点击 Passed Transactions or Failed Transaction 的数字或后面的“显示快照”按钮,会弹出下面的对话框:

TPS:表示每秒的事务数
Passed:表示运行已通过的事务数
Failed:表示运行已失败的事务数
Stopped:表示运行已停止的事务数

【读书笔记】《深入性能测试-LoadRunner性能测试》【第4章 Controller 控制器】
Transactions

查看“输出”窗口

点击 Errors 的数字或后面的“显示快照”按钮,会弹出下面的窗口,默认显示的是错误信息。

【读书笔记】《深入性能测试-LoadRunner性能测试》【第4章 Controller 控制器】
Output

在实际执行过程中,经常会使用到这个功能,用于分析出错原因:

(1)判断是由于脚本编写引起的错误还是性能测试本身引起的错误;
(2)可以根据具体的Error Code去查找为什么会抛出这个错误;

4.4 场景监视

该部分并入第9章的学习中。

       

本站文章如未特殊注明,均为原创,转载请注明出处: 未必平凡  本文链接地址: https://vv2014.com/634.html