一、事务
1.定义
测试人员可以将一个或多个操作步骤定义为一个事务,通俗的理解事务为“人为定义的一系列请求(请求可以是一个或多个)—要做性能测试的那些点(那些代码)”。
在程序上,事务表现为被开始标记和结束标记圈定的一段代码块。一个代码块中可以有多个事务数
2.特点
Loadrunner根据事务的开始和结尾标记,计算事务响应时间、成功/失败的事务数。
3.插入事务
设置开始事务名
3.事务执行时间
在脚本执行日志中查看
4.事务结束方式选择
注
选择自动事务结束方式,不管函数执行成不成功,只要服务器返回响应的状态码是200,均认为执行成功
存在问题:当登录用户名或密码不正确时,服务器返回状态码为200,且事务执行成功—并不能验证业务是否成功)
5.手动编写代码检查事务状态(加入检查点函数web_reg_find–注册型函数)
(1)添加检查点函数
(2)设置检查点函数
(3)脚本中的事务检查代码
注
(1)atoi() 字符串转整函数
(2)itoa 整数转字符串函数
6.事务成功率和失败率
controller场景中查看
7.判断事务的结果
(1)自动判断—通过服务器响应的状态码来判断
(2)手工判断
a:通过状态码判断
b:通过检查点函数判断
二、检查点函数
1.定义:检查请求触发的业务有没有成功,类似于断言
2.web_find()函数:普通型检查点函数
(1)函数设置
(2)运行设置
注
若检查点函数web_find()在响应页面上查找到指定内容,则不会报错,若查找不到指定内容,则运行日志中会报错
3.web_find()函数与web_reg_find()函数的区别
(1)这两个函数函数类型不同,web_find()是普通函数,web_reg_find()是注册函数;
(2)web_find()使用时必须开启内容检查选项,而web_reg_find()则不没有此限制;
(3)web_find()只能用在基于HTML模式录制的脚本中,而web_reg_find()没有此限制;
(4)web_find()是在返回的页面中进行内容查找,web_reg_find()是在响应中进行查找;
(5)web_find()在执行效率上不如web_reg_find();
4.web_image_find():图片检查函数
(1)插入图片检查点函数
(2)函数设置
(3)运行设置:开启图片文本检查选项
5.检查点函数为中文乱码情况解决办法
三、思考时间
1.作用
更加真实模拟用户发出请求之间的延迟,也就是用户暂停发请求的时间
2.设置策略
3.思考时间函数
3.lr_think_time(秒数)
注意
(1)实际情况下,获取真实场景的系统的性能指标时一般加入思考时间(1-2s),如果是做压力测试获取系统的峰值指标时,一般忽略思考时间
(2)一般情况下,思考时间函数不要放入事务内,以免后期影响计算事务响应时间
四、集合点
1.作用
设集合点是为了更好模拟并发操作。设了集合点后,运行过程中多个用户可以在集合点等待到一定条件后再一起发后续的请求。(等所有用户到达某个阶段后再进行下一步动作)
2.集合点函数
lr_Rendezvous(集合点名称)
3.插入集合点
(1)插入集合点函数
(2)设置集合点名称
(3)controller中原则集合点选项
5.集合点策略设置
6.controller中用户集合状态
五、压力测试曲线
作用:通过controller来找到两个测试的点(最佳并发用户数和最大并发用户数)
第一个拐点:响应时间基本不再变化,吞吐量不再变化,找出对应的时间点,再通过时间点找出对应得最佳并发用户数,
第二个拐点:吞吐量在降低,contronller运行出现错误
五、controller图标含义
1.运行按钮
2.查看并发用户数以及添加并发用户数按钮
3.添加测试脚本按钮
方式一:
方式二:
4.修改脚本运行设置按钮
5.修改脚本或运行设置后必须刷新的按钮
6.查看脚本快捷键按钮
7.controller其他设置
(1)设置新场景、保存controller文件、打开已有的controller文件
(2)压力机添加、删除和修改
(3)切换到Vugen、Analysis界面
8.controller场景运行设置
(1)初始化设置
(所有用户一次性初始化,与开始用户设置有区别)
(2)开始设置(开始设置中可实现逐步增压—模拟用户数逐步增加)
(3)场景持续时间设置
注
上图中的三条分析是针对第二个持续时间选项(选择指定执行时间)来说
(4)场景停止设置
(5)性能测试指标查看
注
通过这些指标的观察,找出性能测试得两个点