LoadRunner培训教程
LoadRunner入门培训教程
目录
1 概要介绍
1.1 软件性能介绍
1.2 LoadRunner介绍
2 LoadRunner测试过程
2.1 计划测试
2.2 创建Vuser脚本
2.3 创建场景
2.4 运行、监控场景
2.5 分析测试结果
3 LoadRunner测试实例演示
3.1 脚本录制、调试、回放
3.2 创建负载测试场景
3.3 运行、监控负载测试场景
3.4 结果分析
1 概要介绍
1.1 软件性能介绍
1.1.1 软件性能的理解
性能是一种指标,表明软件系统或构件对于其及时性要求的符合程度;同时也是产品的特性,可以用时间来进行度量。
表现为:对用户操作的响应时间;系统可扩展性;并发能力;持续稳定运行等。
1.1.2 软件性能的主要技术指标
响应时间:响应时间=呈现时间+系统响应时间
吞吐量:单位时间内系统处理的客户请求数量。(请求数/秒,页面数/秒,访问人数/秒)
并发用户数:业务并发用户数;
[注意]系统用户数:系统的用户总数;同时在线用户人数:使用系统过程中同时在线人数达到的最高峰值。
1.2 LoadRunner介绍
LoadRunner是Mercury Interactive的一款性能测试工具,也是目前应用最为广泛的性能测试工具之一。该工具通过模拟上千万用户实施并发负载,实时性能监控的系统行为和性能方式来确认和查找问题。
1.2.1 LoadRunner工具组成
虚拟用户脚本生成器:捕获最终用户业务流程和创建自动性能测试脚本,即我们在以后说的产生测试脚本;
压力产生器:通过运行虚拟用户产生实际的负载;
用户代理:协调不同负载机上虚拟用户,产生步调一致的虚拟用户;
压力调度:根据用户对场景的设置,设置不同脚本的虚拟用户数量;
监视系统:监控主要的性能计数器;
压力结果分析工具:本身不能代替分析人员,但是可以辅助测试结果的分析。
1.2.2 LoadRunner工具原理
代理(Proxy)是客户端和服务器端之间的中介人,LoadRunner就是通过代理方式截获客户端和服务器之间交互的数据流。
1)虚拟用户脚本生成器通过代理方式接收客户端发送的数据包,记录并将其转发给服务器端;接收到从服务器端返回的数据流,记录并返回给客户端。
这样服务器端和客户端都以为在一个真实运行环境中,虚拟脚本生成器能通过这种方式截获数据流;虚拟用户脚本生成器在截获数据流后对其进行了协议层上的处理,最终用脚本函数将数据流交互过程体现为我们容易看懂的脚本语句。
2)压力生成器则是根据脚本内容,产生实际的负载,扮演产生负载的角色。
3)用户代理是运行在负载机上的进程,该进程与产生负载压力的进程或是线程协作,接受调度系统的命令,调度产生负载压力的进程或线程。
4)压力调度是根据用户的场景要求,设置各种不同脚本的虚拟用户数量,设置同步点等。
5)监控系统则可以对数据库、应用服务器、服务器的主要性能计数器进行监控。
6)压力结果分析工具是辅助测试结果分析。
2.1 计划测试
定义性能测试要求,例如并发用户的数量、典型业务流程和所需响应时间等。
2.2 创建Vuser脚本
将最终用户活动捕获(录制、编写)到脚本中, 并对脚本进行修改,调试等。
协议类型:取决于服务器端和客户端之间的通信协议;
脚本类型: init(初始部分),Action(事务部分),end(退出结束);
脚本录制:捕获应用程序所执行的操作;
验证回放:检查是否准确模拟了录制的会话;
事 务:表示要度量的最终用户业务流程;
参 数 化:将录制的一些常来替换为参数;
内容检查:LR只检测到网页的响应,就认为是pass而不管当前网页的正确性,所以设置检查点,确保在测试时结果的正确性;
迭代次数:action部分的循环次数。
2.3 创建场景
对Vuser脚本进行场景设置和负载环境设置。
场景类型
手动场景:通过定义Vuser组,Vuser脚本和运行脚本的负载生成器来创建场景;
百分比模式:定义场景中要使用的Vuser总数,负载生成器计算机以及要分配给每个Vuser脚本的Vuser占总数的百分比。
面向目标的场景;定义你希望的测试目标,LR会根据这些目标自动构建场景。
编辑计划:设置加压方式、压力持续时间和减压方式等。
场 景 组:选择组/脚本,虚拟用户数量以及负载生成器等。
运行时设置:对脚本进行运行时属性设置。
2.4 运行、监控场景
通过LoadRunner 控制器驱动、管理和监控负载测试。
场景组
场景状态
可用图树
图查看区域
图例
2.5 分析测试结果
Analysis会话过程中形成的图和报告含有中要的性能信息,利用这些图和报告,分析确定应用程序中的瓶颈以及提高系统性能所需的改进。
图树
图查看区域
图例
3.1 脚本录制、调试、回放
略!
3.2 创建负载测试场景
略!
3.3 运行、监控负载测试场景
略!
3.4 结果分析
略!
注意:
1)上述步骤3.1见文件“录制、调试、回放.exe”;
2)其他步骤见文件“创建、运行、监控场景并查看结果.exe”
http://download1.csdn.net/down3/20070614/14082025256.exe
http://download1.csdn.net/down3/20070614/14082106192.exe
LoadRunner培训教程相关推荐
- Visual SourceSafe简明培训教程
名称 Visual SourceSafe简明培训教程 (Visual SourceSafe Training Short Course) 作者 晨光(Morning) 简介 对于采用Visual ...
- oracle oats 安装,Mentor完整培训教程.pdf
Mentor完整培训教程 MENTOR基本培训教程 电路设计人员电路设计人员 MENTORMENTOR培训教程培训教程 讲述人讲述人:: 叉叉刀片叉叉刀片 叉叉刀片 设计室 MENTOR基本培训教程 ...
- Python培训教程:Python有哪些比较重要的内置函数?
学习Python技术或者参加Python工作的小伙伴们应该都知道,在Python编程语言中会经常出现很多内置函数,很少有人清楚这些函数,但是它的功能是不可小觑的,下面小编就为大家详细介绍一下Pytho ...
- Python培训教程分享:10款超好用的Python开发工具
学会Python技术后,我们在参加工作的时候如果能有辅助工具的话,那么会很大程度的提高我们的工作效率,那么Python都有哪些好用的开发工具呢?下面小编就为大家详细的介绍一下10款超好用的Python ...
- java培训教程分享:Java中怎样将数据对象序列化和反序列化?
本期为大家介绍的java培训教程是关于"Java中怎样将数据对象序列化和反序列化?"的内容,相信大家都知道,程序在运行过程中,可能需要将一些数据永久地保存到磁盘上,而数据在Java ...
- java培训教程分享:Java编写软件代码自动提示功能
本期的java培训教程分享主要是介绍的java编写软件代码的一个自动提示功能,很多零基础和初学java的同学们对这一块还不是很了解,Eclipse for android 实现代码自动提示智能提示功能 ...
- java培训教程分享:Java中用户如何自定义异常?
我们在学习java技术的时候应该有了解过,在java中是定义了很多的异常类的,虽然这些大量异常类可以帮助我们描述编程时出现的大部分异常情况,但是在程序开发中有时可能需要描述程序中特有的异常情况,例如在 ...
- UI培训教程分享:UI设计的分类有哪些?
本期为大家介绍的UI培训教程是关于UI设计分类这块的,在UI设计中,我们常应用到的终端设备可大致分为三类,分别为移动端UI设计.PC端UI设计.其他终端UI设计. UI培训教程分享:UI设计的分类有哪 ...
- Python培训教程分享:Python异常机制
在学习Python技术的时候,我们经常会遇到一些异常,例如导致程序在运行过程中出现的中断或退出,我们都称之为异常,大多数的异常都不会被程序处理,而是以错误信息的形式展现出来.本期Python培训教 ...
最新文章
- 手动部署OpenStack环境(六:出现的问题与解决方案总结)
- 【转】xargs命令详解,xargs与管道的区别
- linux怎么打开q7后缀的文件,ZQ7 文件扩展名: 它是什么以及如何打开它?
- Codeforces Round #762 (Div. 3)
- NOIP模拟测试17「入阵曲·将军令·星空」
- 从Qt4 迁移到Qt5 winEvent代替为nativeEvent
- dedecms采集功能扩展
- mysql数据库模糊查询简介
- 新疆卫生系统计算机考试题库,2014新疆维吾尔自治区计算机等级考试试题 二级C试题最新考试试题库...
- SharpDevelop 如何切换设计视图和代码视图
- xilinx基础篇Ⅰ(7)ISE14.7开发基础流程 [CPLD章节]
- 牡丹-曹州牡丹:曹州牡丹
- Echarts中国地图china.json
- dreamweaver+cs6+android,使用Dreamweaver cs6开发移动应用
- Android Camera基本架构介绍
- 识别连笔字的软件_在线手写文字识别软件快速代抄
- 2018+黑苹果+vs+Linux,重点更新!完美黑苹果=Z370M+i5+RX590(硬解)10.15
- 记录一下nginx代理引起的ip失真问题
- git 生成ssh 密钥
- DWA动态窗口法的原理及应用
热门文章
- 55、网络交换机上各种接口你都认识吗
- windows的一些装B用法
- MySQL导入数据错误 Incorrect string value: ‘\xF0\xA0\xAE\xB7\xE5\x8F...‘ for column ‘news_text‘ at row 1
- Windows 7 封装篇(一)【母盘定制】[手动制作]定制合适的系统母盘
- aws big data_AWS Data Wrangler和Athena入门
- 人生感悟:20个经典励志故事
- CSS让一个元素水平垂直居中,到底有多少种方案?
- linux网卡数据流 发送与接收
- Ubuntu16.04下TensorFlow-GPU安装记录(GTX1060显卡)
- 数据安全学习交流活动之走进360