什么是LoadRunner测试工具
Posted IT赶路人
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是LoadRunner测试工具相关的知识,希望对你有一定的参考价值。
专注分享与IT相关知识,关注我,一起升职加薪!
什么是LoadRunner?
LoadRunner是水星公司在1999年率先推出的性能测试工具。2016年,LoadRunner被MicroFocus收购。
LoadRunner支持各种开发工具、技术和通信协议。事实上,这是市场上唯一支持如此大量性能测试的工具,LoadRunner软件生成的性能测试结果被用作其他工具的基准
为什么是LoadRunner?
LoadRunner不仅是性能测试领域的先锋工具,而且在性能测试范例方面仍处于市场领先地位。在最近的一次评估中,LoadRunner在性能测试行业拥有大约85%的市场份额。
广泛地说,LoadRunner工具支持RIA(Rich Internet Applications)、Web 2.0(HTTP/html、Ajax、Flex和Silverlight等)、Mobile、SAP、Oracle、MS SQL Server、Citrix、RTE、Mail,尤其是Windows Socket。市场上没有竞争对手的工具可以在单个工具中提供如此广泛的各种协议。
LoadRunner工具早已建立了良好的声誉 ,LoadRunner软件与其他惠普工具(如统一功能测试(QTP)和ALM(应用程序生命周期管理))紧密集成,使能够执行端到端测试流程。
LoadRunner的工作原理是在主题应用程序上模拟虚拟用户。这些虚拟用户也称为VUser,复制客户端的求,并期望在传递事务时得到相应的响应。
为什么需要性能测试?
在今天的Web2.0时代,如果网站在8秒内没有响应,用户就会点击离开。根据Dunn&BradStreet的数据,据估计,59%的财富500强公司每周有1.6小时的停机时间。考虑到至少有10,000名员工的财富500强公司平均每小时支付56美元,这样的组织的停机成本中的人工部分将是每周896,000美元,相当于每年超过4600万美元。
据估计,仅谷歌网站(Google.com)5分钟的停机(8月19日至13日)就会给这家搜索巨头造成高达54.5万美元的损失。
据估计,亚马逊最近的一次网络服务中断,公司每秒损失价值1100美元的销售额。
当组织部署软件系统时,可能会遇到许多可能导致性能延迟的场景。导致减速性能的因素有很多,但少数几个示例可能包括:
数据库中存在的记录数量增加
增加向系统发出的同时求数
与过去相比,一次访问系统的用户数量更多
什么是LoadRunner架构?
一般说来,HP LoadRunner的体系结构很复杂,但很容易理解。
LoadRunner体系结构图
在现实生活中,这5000名用户不是在主页上,而是在网站的不同部分。我们如何才能进行不同的模拟
VUGen:
VUGen或虚拟用户生成器是一个IDE(集成开发环境)或丰富的编码编辑器。VUGen提供了一个“记录”功能,它以编码脚本(也称为VUser脚本)的形式记录与客户端和服务器之间的通信。
因此,考虑到上面的示例,VUGen可以记录模拟以下业务流程:
浏览Amazon.com的产品页面
结账
付款处理
检查我的帐户页面
控制器
完成VUser脚本后,Controller是主要的LoadRunner组件之一,它通过管理来控制负载模拟,例如:
针对每个业务流程或VUser组要模拟多少个VUser
VUser的行为(上升、下降、同步或并发等)
负载场景的性质,例如现实生活或目标导向或验证SLA
使用哪个注射器,每个注射器对应多少个VUser
定期整理结果
IP欺骗
错误报告
交易报告等。
类比我们的示例控制器将向VUGen脚本添加以下参数
1)3500名用户正在浏览Amazon.com的产品页面
2)750个用户处于签出状态
3)500个用户正在进行支付处理
4)只有在500名用户完成支付处理后,250名用户才会检查我的帐户页面
甚至可能出现更复杂的情况
每2秒发起5个VUser,直到达到3500个VUser的负载(冲浪Amazon产品页面)。
重复30分钟
25个VUser暂停迭代
重新启动20个VUSer
每秒启动2个用户(在结账、支付处理、我的账户页面)。
2500 VUser将在计算机A上生成
2500 VUser将在计算机B上生成
代理机器/负载生成器/注入器
HP LoadRunner Controller负责模拟数以千计的VUser(这些VUser会消耗硬件资源,例如处理器和内存),因此会对模拟它们的计算机进行限制。为了解决这一问题,所有VUser都分布在各种机器上,称为负载生成器或负载注入器。
通常,Controller驻留在不同的计算机上,并从其他计算机模拟负载。例如,根据协议o的不同,HTTP脚本的VUser需要每个VUser 2-4MB进行模拟,因此需要4台机器,每台机器有4 GB RAM才能模拟10,000个VUser的负载。
从我们的Amazon示例中进行类比,此组件的输出将为
分析:
一旦执行了加载场景,LoadRunner的“分析”组件就会发挥作用。
在执行过程中,Controller以原始形式创建结果转储,并包含如下信息:哪个版本的LoadRunner创建了此结果转储,以及配置是什么。
所有错误和异常都记录在名为output.mdb的Microsoft Access数据库中。“Analysis”组件读取此数据库文件以执行各种类型的分析并生成图形。
这些图表显示了各种趋势,以了解负载(JBoss、Oracle)或基础架构下错误和故障背后的原因。
下面是带宽可能造成瓶颈的示例。假设Web服务器具有1Gbps的容量,而下面的dat是LoadRunner为获得带宽而生成的图表。
性能测试路线图:详细步骤
性能测试路线图大致可分为5个步骤:
负载测试规划
创建VUGen脚本
场景创建
场景执行
结果分析(随后进行系统调整)
现在已经安装了LoadRunner,让我们逐个了解该过程中涉及的步骤。
性能测试过程中涉及的步骤
规划负载测试
规划性能测试不同于规划SIT(系统集成测试)或UAT(用户验收测试)。规划可以进一步划分为小阶段,如下所述:
集合团队
在开始LoadRunner测试时,最好记录流程中涉及的每个团队中谁将参与活动。
项目经理:
提名负责此活动并担任上报重点人员的项目经理。
职能专家/业务分析师:
提供SUL的使用情况分析,并提供网站/SUL业务功能方面的专业知识
性能测试专家:
创建自动性能测试并执行负载方案
系统架构师:
提供SUB蓝图
Web开发人员和SME:
维护网站并提供监控方面
开发网站并修复错误
系统管理员:
在整个测试项目中维护涉及的服务器
概述涉及的应用程序和业务流程:
成功的负载测试要求计划执行某些业务流程。业务流程由符合所需业务事务的明确定义的步骤组成,以实现负载测试目标。
可以准备需求度量以引起系统上的用户负载。以下是某公司的考勤系统示例:
在上面的示例中,这些数字提到了在给定时间连接到应用程序(SUL)的用户数。我们可以提取在一天中的任何时间连接到业务流程的最大用户数,这是在最右边的列中计算的。
类似地,我们可以得出在一天中的任何时间连接到应用程序(SUL)的用户总数。这是在最后一行计算的。
以上两个事实加在一起,给出了我们需要测试系统性能的总用户数。
定义测试数据管理程序
如前所述,性能测试得出的统计数据和观察结果很大程度上受到许多因素的影响。以下面的示例为例:
用户‘A’创建财务合同并提交以供审查。
另一个用户‘B’每天批准用户‘A’创建的200份合同
另一个用户“C”每天支付约150份由用户“B”批准的合同。
在这种情况下,用户B需要在系统中“创建”200个合同。此外,用户C需要150个“批准”的合同才能模拟150个用户的负载。
这意味着必须至少创建200+150=350份合同。
之后,批准150个合同作为用户C的测试数据-其余200个合同将作为用户B的测试数据。
轮廓监视器
推测可能影响系统性能的每个因素。例如,减少硬件会对 SUL(System Under Load) 性能产生潜在影响。
登记所有因素并设置监视器,这样就可以衡量它们。以下是几个例子:
处理器配置(适用于Web服务器、应用程序服务器、数据库服务器和注入器)
RAM管理器(用于Web服务器、应用程序服务器、数据库服务器和注入器)
Web/App服务器(例如IIS、JBoss、Jaguar Server、Tomcat等)
数据库服务器(如果是Oracle和MSSQL Server、SPS等,则为PGA和SGA大小)
网络带宽利用率
群集情况下的内部和外部NIC
负载均衡器(并且它在群集的所有节点上均匀分布负载)
数据流量(计算进出客户端和服务器的数据量-然后计算网卡容量是否足以模拟X个用户)
创建VUGen脚本
规划后的下一步是创建VUser脚本。
场景创建
下一步是创建负载方案
场景执行
场景执行是通过指示多个VUser同时执行任务来模拟服务器上的用户负载。
可以通过增加和减少同时执行任务的VUser数量来设置负载级别。
此执行可能会导致服务器承受压力并出现异常行为。然后将得出的结果用于详细分析和找出根本原因。
结果分析(随后进行系统调整)
在场景执行过程中,LoadRunner记录应用程序在不同负载下的性能。“HP分析”工具生成各种图表,帮助识别系统性能滞后以及系统故障背后的根本原因。
获得的一些图表包括:
到达第一个缓冲区的时间
事务响应时间
平均事务响应时间
每秒点击次数
Windows资源
错误统计信息
交易总结
常见问题解答
我们应该测试哪些应用程序的性能?
性能测试始终仅针对基于客户端-服务器的系统进行。这意味着,任何不是基于客户端-服务器架构的应用程序都不能需要性能测试。
例如,计算器既不基于客户端-服务器,也不运行多个用户;因此,它不适合进行性能测试。
性能测试和性能工程有什么不同
理解性能测试与性能工程的区别具有重要意义。下面分享一项理解:
性能测试是一门涉及测试和报告软件应用程序在各种参数下的当前性能的学科。
性能工程是为了实现所需的性能而对软件进行测试和调优的过程。用户体验。
从历史上看,测试和调优一直是截然不同的,而且经常是相互竞争的领域。然而,在过去的几年中,由于这些团队取得了巨大的成功,将性能测试与性能调优相结合的概念已经流行起来,现在我们称之为性能工程。
浏览网页:https://www.itxiaonv.com/,了解更多IT信息
END
以上是关于什么是LoadRunner测试工具的主要内容,如果未能解决你的问题,请参考以下文章