Loadrunner性能测试初级知识点总结(实际案例分析)

1. 性能测试的概念


1.模拟真实的生产环境,以各种不同的压力(模拟大量用户)去测试被测系统,去"攻击"被测系统,同时记录下被测系统中各台服务器的各种重要资源情况,包括cpu、内存、磁盘和网络资源。
目的:识别系统中的弱点、评估系统能力、进行系统的调优,提高系统的可靠性和稳定性。

性能测试之前要做好系统备份

性能测试需要的背景知识:

  • 数据库(大部分性能测试问题都与数据库有关)

  • 操作系统(Linux)

  • 网络协议(TCP、HTTP)等

2、性能测试时首先看性能需求,如果没有需求,这时要根据与客户交流、被测系统的相关资料、以及性能测试工程师的经验,去编写测试计划,性能测试。
(请求的响应时间=客户端请求时间+网络时间+服务器响应时间(如果在内网测试的话,可以规避掉网络的问题、如果响应时间长,性能瓶颈出现在服务器端)

                                                                      

2. LoadRunner的工作原理


2.1 工作方式:基于录制-回放

1、录制时,LoadRunner记录下客户端和服务器二者之间的对话

2、回放时,模拟真实的客户端,向服务器发起请求,并按照脚本去验证服务器的应答

LoadRunner的安装

下载loadrunner11安装文件和汉化包,下载loadrunner11破解(注意:破解时替换两个dll库文件)

2.2 LoadRunner录制脚本打不开浏览器或者为空的问题

解决方法:百度后发现有很多问题会导致脚本录制为空或者调不出浏览器

1、关掉杀毒软件和防火墙
2、建议使用IE8,高版本浏览器可以通过卸载降低版本
3、打开IE里的Internet选项,单击选修卡,单击最下面的局域网设置,自动配置栏里的自动检测设置选项不要勾选
4、打开Virtual User Generator - Recording Options->Network->PortMapping->Capture level:变成了Socket level data ,将其变换成WinlNet level data
5、把IE浏览器设置为默认浏览器就OK了:工具->Internet 选项->程序->设置默认值
6、如果还是不能录制脚本,也许是你打开的网页干扰了你要录制脚本的网页,建议把浏览器关闭后再重新录制,这样就可以录制脚本了
7、看看是不是录制的协议选错了,协议选错的话录制脚本也会为空
8、ie去掉工具—internet选项中->高级—>去掉“启用第三方浏览器扩展”,重启ie
9、我的电脑—属性—系统属性-高级—性能-数据执行保护中,“为除下列制定程序之外的所有程序和服务启用DEP”,添加loadrunner安装目录中的vugen.exe
10、在录脚本的那个弹出框里(Internet explorer那个东东),替换成IE的安装路径

2.3 LoadRunner的基本测试流程

一、分析需求、搭建测试环境、编写性能测试计划

a、测试设计阶段

1、拿到客户需求之后,对被测系统进行详细分析,确定测试模块以及测试范围,即功能模块和功能点。

2、了解被测系统的技术信息,如系统为C/S或B/S架构,使用的开发语言是什么?

3、确定测试方案,设计测试场景。

主要关注的测试点:

  • 比较重要的功能点

  • 用户使用比较频繁的功能点 

  • 用户比较关心的功能点 

  • 与DB密切相关的,如查询、增加 

  • 模拟未来用户产生的数据量

b、测试环境准备阶段

  1. 测试工具的选择:lr11

  2. 搭建测试环境(要保证测试环境是能够正常运行的)

  3. 对被测系统录入初始数据(业务数据)

c、测试的执行阶段(lr工作流程)

二、创建脚本、录制脚本,对脚本进行编辑与调试,进行回放(可以查看log或者result看是否回放成功)  

调试脚本:对脚本进行参数化、添加检查点、集合点、事务点、关联....

三、设计场景、运行场景、监控场景、收集场景中产生的数据

四、对场景中产生的数据进行结果分析(包括事务的响应时间、点击率、吞吐量、资源利用率等)

事务的响应时间:前提是在录入脚本的时候加入事务点,事务点分为开始事务点和结束事务点,用来度量服务器性能.

点击率:每秒中用户向web服务器端提交的http请求数(不是指鼠标点击的次数,比如点击一个按钮,返回一个页面,页面中包含了3个图片,则当前发起的请求数是1+3=4个http请求)

吞吐率:服务器每秒处理客户端请求的数据量(吞吐量反应服务器的处理速度和性能,也是衡量网络性能的重要指标,点击率越大、对服务器的压力也越大)

资源利用率:cpu、内存、磁盘、网络

2.4 LoadRunner的三大组件

  • 虚拟用户脚本生成器(Virtual User Generator)

 功能:录制、编辑、调试脚本
 lr脚本的基本组成:分为3部分:(vuser_init、Action、vuser_end)+头文件globals.h
 录制过程比较慢,等待页面资源下载完毕后再进行下一步操作

  • 压力调度控制台 (Controller)

 功能:创建场景、运行场景、监控场景、收集测试数据
  • 压力结果分析器 (Analysis)

 功能:把收集到的数据以图标的形式展示出来,生成测试报告

2.5 LoadRunner小例子程序(可参考LoadRunner官方文档介绍,里面操作步骤很详细)

LR自带一个B/S架构的系统 航空订票系统

启动:HP LoadRunner -> Samples -> Web -> Start Web Server先启动服务器

访问:HP LoadRunner -> Samples -> Web -> HP Web Tours Application 

   (系统地址:http://127.0.0.1:1080/WebTours/)

录制:对简单的一个登陆操作进行录制

  • 脚本中增加集合点

  概念:所有虚拟用户到达集合点,进行并发(集合点在事务开始之前)
 设置集合点策略
 1、控制台中可以设置并发策略:所有虚拟用户到达集合点后释放

  • 脚本中的事务

  什么时候需要插入事务?
 关心哪段操作,就将此过程作为一个事务。比如只关心订票,就可以不考虑登录。
 目的:LR后续会统计事务的响应时间。
  • 脚本中添加检查点

  概念:检查点是帮助验证请求发送出去后,服务器的返回是不是期望的内容
 lr中有三种检查点:文本、图像、页面title(比较常用)(可以手动添加也可以录制时添加)

2.6 主要的测试策略

    基准测试:单用户、单测试点确保脚本正常运行

    并发测试:多用户并发访问同一个应用、模块

    综合场景的测试:找到相关的测试点,设计综合场景

    疲劳强度测试:基于综合场景,增加测试压力

2.7 LoadRunner的并发测试

多用户并发执行某一操作(同一时刻,LR精确到毫秒级别)。

注意:并发测试是一种严格的测试,主要考察系统对瞬时较大压力的承受能力

案例:就以我们公司的互联运力商城web端为例,对用户登录、搜索运力票,及提交订单操作进行并发测试。

1、登陆脚本录制与回放流程
a、新建-选择协议-创建-开始录制-输入正确的URL地址、要录制的程序-确定-打开web商城首页-点击进入login登陆页面-输入用户信息-在点击“登陆”前插入检查点,然后插入事务开始点-点击登录按钮-添加文本检查点-插入事务结束)
b、脚本录制成功后,调试脚本,进行参数化、进行回放,回放后检查是否回放成功
2、添加脚本、场景设计-场景运行流程
a、将回放成功的脚本添加到场景中
b、场景设计,比如我虚拟用户是100个,每15s加载10个虚拟用户,进行并发策略设置:所有虚拟用户到达集合点后释放
c、连接压力机(负载生成器:压力生成器:就是一台物理机,负责运行大量的虚拟用户产生负载,如何添加同事的主机,协同作战?代理程序(agent):如果想让其他机器参与联机测试,需要启动agent,就能接收到总控制台的命令)
d、开启场景
e、监控系统:对被测服务器进行监控(添加指标,监控服务器机器,添加机器信息,主机名及平台,实时监控)
3、结果分析
可以看到具体的数据,比如事务的响应时间,多少pass,多少fail了等

2.8 LoadRunner初级拓展

  • ip欺骗器

  • lr里面有很多函数,可以研究一下每个函数是干什么的,通过查看lr的帮助文档即可

  • 参数化

  • 关联

  • 综合场景测试

anzhihe安志合个人博客,版权所有丨 如未注明,均为原创 丨转载请注明转自:https://chegva.com/2176.html | ☆★★每天进步一点点,加油!★★☆

您可能还感兴趣的文章!

发表评论

电子邮件地址不会被公开。 必填项已用*标注