实验三:性能测试与LoadRunner
- 格式:doc
- 大小:4.41 MB
- 文档页数:31
实验五性能测试工具Load Runner应用一、实验目的1、了解Load Runner负载测试工具的安装过程,进行安装实验。
2、了解Load Runner负载测试工具的用途和简单的操作。
3、掌握Load Runner负载测试工具测试过程。
4、能够使用Load Runner负载测试工具进行简单的测试工作。
二、实验环境操作系统:Windows XP + SP2应用系统:LOADRUNNER负载测试工具三、实验原理LoadRunner® 是一种预测系统行为和性能的工业标准级负载测试工具。
通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试。
通过使用LoadRunner ,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。
目前企业的网络应用环境都必须支持大量用户,网络体系架构中含各类应用环境且由不同供给商提供软件和硬件产品。
难以预知的用户负载和愈来愈复杂的应用环境使公司时时担忧会发生用户响应速度过慢,系统崩溃等问题。
这些都不可防止地导致公司收益的损失。
Mercury Interactive 的LoadRunner 能让企业保护自己的收入来源,无需购置额外硬件而最大限度地利用现有的IT 资源,并确保终端用户在应用系统的各个环节中对其测试应用的质量,可靠性和可扩展性都有良好的评价。
LoadRunner 是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。
LoadRunner 的测试对象是整个企业的系统,它通过模拟实际用户的操作行为和实行实时性能监测,来帮助您更快的查找和发现问题。
此外,LoadRunner 能支持广范的协议和技术,为您的特殊环境提供特殊的解决方案。
LoadRunner负载/压力测试软件的测试过程是:①制定负载测试方案在任何类型的测试中,测试方案都是必要的步骤。
测试方案是进行成功的负载测试的关键。
1 衡量web 性能的基本指标(1)响应时间:响应时间=网络响应时间+应用程序响应时间,反映完成某个业务所需要的时间,响应时间通常随负载的增加而增加。
响应时间的单位一般为“秒”或者“毫秒”。
(2)吞吐量:反应系统处理能力指标,随着负载的增加,吞吐量往往增长到一个峰值后下降,队列变长。
通常情况下,吞吐量用“请求数/秒”或者“页面数/秒”来衡量。
(3)服务器资源占用:反应系统能耗指标。
随着用户和吞吐量的上升,服务器的资源会被占用的越来越多,直到服务器资源被完全占用。
资源利用率通常以占用最大值的百分比n%来衡量。
(4)轻负载区:随着用户数量的上升,响应时间基本上没有太大的变化,吞吐量随着用户的增加而增加,说明这个系统资源是足够的,所以没有出现响应时间和吞吐量的明显变化。
在这个状态下,系统完全能够轻松地处理业务,所以称之为轻负载区。
(5)重负载区:当用户数量继续上升,响应时间开始明显上升,吞吐量上升速度开始变慢,并且到达峰值,随后开始小幅回落,逐渐稳定。
在这个阶段中,系统已经达到了处理的高峰,由于资源的逐渐匮乏,吞吐量下降,而响应时间变长。
在这个状态下,说明系统资源已经高负荷使用,处理能力达到极限。
在重负载区有几个数据比较关键:轻负载区到重负载区分界点的用户数:这个用户数是系统最优的高性能用户数,系统资源正在被高效的分配和利用。
重负载区中的吞吐量峰值:这个峰值就是系统的最高处理能力,而同时的用户数也是系统所能达到的高性能处理能承受的用户数,在这个时刻资源利用率应该正好达到峰值。
重负载区到负载失效区分界点的用户数:这个用户数是系统所能达到性能需求的最大在线用户数,超过这个数目的用户将无法正常使用系统。
负载失效区:当用户数量继续增加,响应时间会大幅上升,而吞吐量会逐渐加速下降,资源被消耗殆尽。
当响应时间超出用户能够忍受的范围时,这部分用户将会选择放弃访问。
通过上面的说明可以看出一个系统最好能够工作在轻负载区,接近重负载区即可,不能出现系统进入负载失效区的情况。
实习报告一、实习背景与目的随着信息技术的迅猛发展,软件产品质量成为企业竞争的关键因素之一。
为了保证软件产品的质量,性能测试成为软件开发过程中不可或缺的一环。
本次实习的目的在于深入了解性能测试的基本概念、方法和技术,掌握性能测试工具的使用,并通过实际操作锻炼自己的性能测试能力。
二、实习内容与过程1. 实习前的准备在实习开始前,我们对性能测试的基本概念、方法和技术进行了学习,包括性能测试的定义、性能测试指标、性能测试方法以及性能测试工具等。
同时,我们还了解到了常见的性能测试工具,如LoadRunner、JMeter等。
2. 实习过程实习过程中,我们主要通过实际操作来掌握性能测试工具的使用。
我们选取了一个简单的Web应用作为测试对象,使用LoadRunner进行性能测试。
(1)测试计划的制定首先,我们根据测试需求制定了测试计划,包括测试目标、测试环境、测试任务等。
(2)测试用例的设计接着,我们设计了测试用例,包括用户登录、查询信息、添加评论等典型操作。
(3)测试脚本的编写然后,我们使用LoadRunner的脚本录制功能,针对测试用例编写了测试脚本。
(4)测试场景的设置在设置测试场景时,我们模拟了不同的用户并发情况,并设置了相应的持续时间和迭代次数。
(5)测试执行与监控测试执行过程中,我们实时监控了服务器性能指标,如CPU利用率、内存占用、响应时间等。
(6)测试结果分析最后,我们分析了测试结果,生成了一份详细的性能测试报告,包括测试指标、测试数据、性能瓶颈等。
三、实习收获与总结通过本次实习,我们掌握了性能测试的基本概念、方法和技术,学会了使用LoadRunner进行性能测试。
同时,我们还了解到性能测试在软件开发过程中的重要性,以及性能测试工具在实际项目中的应用。
总结来说,性能测试是保证软件产品质量的关键环节之一。
通过本次实习,我们为自己未来在软件开发和测试领域的职业发展奠定了基础。
在今后的学习和工作中,我们将继续深入学习性能测试相关知识,提高自己的实际操作能力,为软件产品质量保障做出贡献。
请求报文格式:<?xml version="1.0" encoding="ISO-8859-1"?>< Publish ><SNSID>123</SNSID><UserID>456</ UserID><CommentsTypeID>2</ CommentsTypeID><CommentsID>123</CommentsID><AuthorID>456</AuthorID><CommentsContent>Don't forget the meeting!</CommentsContent> </Publish>有了上述的说明书之后,测试人员可以根据文档的描述在LoadRunner书写相应的接口测试脚本。
LoadRunner中涉及到向服务器发送请求的API方法包括:web_url(),web_submit_form(),web_s ubmit_data(),web_custom_request()。
下面介绍两种我常用的方法:方法一:使用web_submit_data()web_submit_data("insert","Action=http://116.211.23.123/SNS/Publish.htm ","Method=POST","Referer=http://116.211.23.123/SNS/Publish.htm ","Mode=HTML",ITEMDATA,"Name= SNSID ","Value=6601",ENDITEM,"Name= UserID ","Value=123",ENDITEM,"Name= CommentsTypeID ","Value=1",ENDITEM,"Name= CommentsID ","Value=456",ENDITEM,"Name= AuthorID","Value=789",ENDITEM,"Name= CommentsContent ","Value=Just for testing",ENDITEM,LAST);方法二:使用web_custom_request()char str[1000];strcpy(str,"SNSID=7999&UserID=1&CommentsTypeID=1&CommentsID=1&AuthorID=1&CommentsContent=1 ");web_custom_request("Publish","Url= http://116.211.23.123/SNS/Publish.htm","Method=POST","Referer=http://116.211.23.123/SNS/Publish.htm ","Mode=HTTP",str,LAST);这也是一种写法,可以跟web_submit_data互换。
LoadRunner性能测试指标分析·Memory:·Available Mbytes简述:可用物理内存数.如果Available Mbytes的值很小(4 MB或更小),则说明计算机上总的内存可能不足,或某程序没有释放内存。
参考值:4 MB或更小,至少要有10%的物理内存值·Page/sec (Input/Out)简述:为了解析硬页错误,从磁盘取出或写入的页数。
一般如果Page/sec持续高于几百,那么您应该进一步研究页交换活动。
有可能需要增加内存,以减少换页的需求(你可以把这个数字乘以4k就得到由此引起的硬盘数据流量)。
Pages/sec的值很大不一定表明内存有问题,而可能是运行使用内存映射文件的程序所致。
参考值:·Page Fault简述:处理器每秒处理的错误页(包括软/硬错误)。
当处理器向内存指定的位置请求一页(可能是数据或代码)出现错误时,这就构成一个Page Fault。
如果该页在内存的其他位置,该错误被称为软错误(用Transition Fault/sec记数器衡量);如果该页必须从硬盘上重新读取时,被称为硬错误。
许多处理器可以在有大量软错误的情况下继续操作。
但是,硬错误可以导致明显的拖延。
参考值:·Page Input/sec简述:为了解决硬错误页,从磁盘上读取的页数。
参考值:·Page reads/sec简述:为了解决硬错误页,从磁盘上读取的次数。
解析对内存的引用,必须读取页文件的次数。
阈值为>5.越低越好。
大数值表示磁盘读而不是缓存读。
参考值:·Cache Bytes简述:文件系统缓存,默认情况下为50%的可用物理内存。
如IIS5.0运行内存不够时,它会自动整理缓存。
需要关注该计数器的趋势变化。
该指标只显示最后一次观察的值,它不是一个平均值。
参考值:·pool paged bytes简述: 指在分页池中的字节数,分页池是系统内存中可供对象使用的一个区域。
软件测试实验报告loadrunner引言软件测试是保证软件质量的重要手段,而性能测试则是其中的一部分。
在实际应用中,软件的性能往往是用户持续使用的关键因素。
本实验通过使用LoadRunner工具对一个Web应用进行性能测试,旨在评估系统的可扩展性和稳定性。
实验目的1. 了解性能测试的概念和一般流程;2. 掌握LoadRunner工具的基本使用方法;3. 学会分析性能测试结果并调优。
实验环境- 操作系统:Windows 10- 浏览器:Google Chrome- LoadRunner版本:12.55实验步骤步骤一:录制脚本1. 打开LoadRunner主界面,在“组织测试”中选择“录制脚本”;2. 输入脚本名称,选择协议为“Web HTTP/HTML”,点击“开始录制”按钮;3. 在弹出的浏览器中输入被测应用的URL,进入应用的登录页面;4. 按照测试用例的要求进行操作,录制脚本过程中可以对测试步骤进行注释和标记;5. 完成录制后,点击“停止录制”按钮。
步骤二:设计场景1. 在LoadRunner主界面,选择“组织测试”中的“设计场景”;2. 在“设计场景”界面中,将录制的脚本添加到“事务”中,可以设置事务的名称和模式;3. 将事务进行参数化,设置不同的参数取值,以模拟用户的不同行为;4. 可以设置事务之间的延迟时间,模拟用户的思考和操作过程。
步骤三:运行测试1. 在LoadRunner主界面,选择“执行测试”;2. 在“执行测试”界面中,选择要执行的场景,设置并发用户数、循环次数等参数;3. 启动测试并观察测试过程中的各项指标的变化情况,包括响应时间、吞吐量、错误率等;4. 完成测试后,查看测试报告,分析测试结果。
步骤四:优化调整1. 根据测试报告,可以发现系统的瓶颈和性能问题所在;2. 可以对系统进行优化调整,比如增加硬件资源、调整系统配置、修改代码逻辑等;3. 重新运行测试,对比测试结果,看优化效果。
Loadrunner进⾏性能测试的步骤Loadrunner 11是⼀款免费的性能测试⼯具,他包含三个⼤模块•使⽤VuGen:创建脚本•运⽤Controller:设置⽅案•查看Analysis:分析测试结果结合软件测试的流程可以知道使⽤LoadRunner进⾏性能测试的过程如下:•规划测试:分析应⽤程序、定义测试⽬标、⽅案实施•创建Vuser脚本•创建⽅案:⽅案包括运⾏Vuser 的计算机的列表、运⾏Vuser 脚本的列表以及在⽅案执⾏期间运⾏的指定数量的Vuser 戒Vuser 组。
•运⾏⽅案:可以指⽰多个Vuser 同时执⾏任务,以模拟服务器上的⽤户负载。
可以通过增加戒减少同时执⾏任务的Vuser 的数量杢设置负载级别。
•监视⽅案:使⽤LoadRunner 联机运⾏时、事务、系统资源、Web 服务器资源、数据库服务器资源、⽹绚延时、流媒体资源、防⽕墙服务器资源、Java 性能等、应⽤程序部署和中间件性能监视器杢监视⽅案的执⾏•分析测试结果:在⽅案执⾏期间,LoadRunner 将记录丌同负载下的应⽤程序性能。
可以使⽤LoadRunner 的图和报告杢分析应⽤程序的性能。
根据性能测试计划,搭建好测试环境后,我们使⽤lr进⾏性能测试的步骤如下:1.使⽤VuGen录制vu要执⾏的测试脚本并完善精简。
录制过程可能有点⿇烦,所以录制成功后最好先做好备份,然后使⽤其中的⼀份进⾏完善脚本的操作,其中需要完善的项⽬有:参数化、关联、检查点、集合点、思考时间、事务等。
再完善了脚本后最后⼀步对脚本进⾏精简⼯作。
(录制的脚本回放时不出错不代表脚本是正确的,单⽤户运⾏脚本不出错也不代表多⽤户运⾏时不出错)录制:设置好录制选项和运⾏时选项,录制好脚本后做好备份⼯作。
参数化:a.为什么做参数化(需要⽤户提供不同的数据才能正常运⾏,这个是从脚本⾃⾝⾓度);b.哪些地⽅需要做参数化;3.怎么做参数化。
a.如果⽤户在录制脚本过程中,填写提交了⼀些数据,返些操作都被记录到了脚本中。
精通软件性能测试与loadrunner实战最新版LoadRunner性能测试实战内容介绍:很多使用LoadRunner的测试人员经常面临两个难题:脚本开发与性能测试分析。
本书就是基于帮助测试人员解决这两个问题而编写,致力于使读者学精LoadRunnner这一强大的性能测试工具。
全书共分为四部分:入门篇、基础篇、探索篇、实战篇。
第一篇入门篇的内容包括第1章和第2章,着重于讲解性能测试与LoadRunner的基础理论知识。
第二篇基础篇的内容包括第3章至第5章,是LoadRunner 的基本使用部分,着重讲解Virtual User Generator、Controller、Analysis的使用方法。
第三篇探索篇的... 第1部分入门篇............................................................... .. (1)第1章性能测试基础知识.. 31.1 性能测试基本概念 (4)1.1.1 什么是性能测试 (4)1.1.2 性能测试应用领域 (6)1.1.3 性能测试常见术语 (8)1.2 全面性能测试模型 (11)1.2.1 性能测试策略模型 (14)1.2.2 性能测试用例模型 (17)1.2.3 模型的使用方法 (20)1.3 性能测试调整基础 (21)1.4 如何做好性能测试 (24)1.5 本章小结 (28)第2章LoadRunner基础知识.. 292.1 LoadRunner简介 (29)2.1.1 LoadRunner主要特点 (29)2.1.2 LoadRunner常用术语 (31)2.2 LoadRunner工作原理 (32)2.3 LoadRunner测试流程 (33)2.4 LoadRunner的部署与安装 (35)2.5 本章小结 (41)第2部分基础篇............................................................... (43)第3章脚本的录制与开发.. 453.1 Virtual User Generator简介 (45)3.1.1 VuGen录制原理 (46)3.1.2 VuGen功能简介 (48)3.1.3 如何选择协议 (49)3.2 VuGen录制功能详解 (50)3.2.1 录制参数设置 (50)3.2.2 脚本录制与创建事务 (57)3.2.3 回放与调试脚本 (61)3.2.4 脚本录制的基本原则 (63)3.3 修改虚拟用户脚本 (64)3.3.1 参数化功能 (64)3.3.2 深入集合点 (71)3.3.3 巧用检查点 (72)3.3.4 关联 (78)3.4 配置虚拟用户脚本 (80)3.5 两个常用函数介绍 (84)3.6 本章小结 (86)第4章场景的创建与执行.. 87 4.1 Controller简介 (87)4.2 场景类型介绍 (88)4.2.1 手动测试场景 (88)4.2.2 面向目标的测试场景 (90)4.3 测试场景设计 (93)4.3.1 配置测试脚本 (93)4.3.2 配置Generator 944.3.3 配置Schedule. 954.3.4 集合点配置 (99)4.3.5 IP Spoofer配置 (100)4.3.6 其他设置场景 (106)4.4 执行测试场景 (108)4.4.1 启动测试场景 (108)4.4.2 控制用户与用户组 (108)4.4.3 查看场景与用户状态 (109)4.4.4 控制集合点 (110)4.4.5 查看运行数据图 (110)4.5 监控系统资源 (111)4.5.1 监控Windows系统资源 (112)4.5.2 监控Linux/Unix系统资源 (114)4.6 本章小结 (121)第5章性能测试结果分析.. 1235.1 如何分析性能测试结果 (124)5.1.1 性能分析基础知识 (125)5.1.2 Analysis使用基础 (127)5.1.3 一个视频网站例子 (135)5.2 如何从分析图中发现问题 (148)5.2.1 虚拟用户图 (148)5.2.2 事务图 (151)5.2.3 Web资源图 (160)5.2.4 网页细分图 (166)5.2.5 小结 (179)5.3 分析图的处理方法 (179)5.3.1 修改默认配置 (180)5.3.2 合并分析图 (187)5.3.3 自动关联 (188)5.3.4 场景运行比较 (191)5.4 Analysis分析报告 (193)5.4.1 事务活动报告(Activity Reports) (193)5.4.2 事务性能报告(Performance Report s) (196)5.4.3 HTML与Word报告 (199)5.5 本章小结 (206)第3部分探索篇............................................................... (209)第6章用Visual C++增强虚拟用户.. 211 6.1 认识LoadRunner动态链接库的调用功能 (211)6.1.1 动态链接库调用功能简介 (211)6.1.2 动态链接库调用功能适用范围 (212)6.2 创建与调用动态链接库 (212)6.2.1 用Visual C++创建Dll 2126.2.2 Dll调用方法 (215)6.2.3 载入头文件方法 (217)6.2.4 Dll调用需注意的问题 (220)6.3 UDP发包应用案例 (222)6.3.1 测试内容简介 (222)6.3.2 测试程序设计 (222)6.3.3 虚拟用户脚本 (223)6.3.4 测试场景设置 (224)6.3.5 测试结果分析 (225)6.4 本章小结 (226)第7章深入Java虚拟用户.. 2277.1 认识Java虚拟用户 (227)7.1.1 Java虚拟用户协议 (227)7.1.2 Java虚拟用户适用范围 (230)7.1.3 脚本开发环境配置 (231)7.2 Java脚本开发基础 (234)7.2.1 Java虚拟用户开发基础 (234)7.2.2 LoadRunner的Java API. 243 7.3 Java算法测试案例 (245)7.4 本章小结 (260)第8章深入.NET虚拟用户.. 2618.1 认识.NET虚拟用户 (261)8.1.1 .NET虚拟用户适用范围 (261)8.1.2 安装与配置.NET插件 (262)8.2 创建.NET虚拟用户 (264)8.2.1 创建虚拟用户项目 (264)8.2.2 参数、集合点、事务 (266)8.3 网站视频性能测试应用案例 (271)8.3.1 创建自定义的播放器类 (272)8.3.2 创建抽象虚拟用户类 (276)8.3.3 创建抽象并发测试类 (282)8.3.4 创建自定义虚拟用户脚本 (284)8.3.5 创建LoadRunner .NET虚拟用户 (2)878.3.6 案例总结 (290)8.4 本章小结 (290)第9章LoadRunner特殊协议应用.. 291 9.1 Windows Sockets协议应用 (291)9.1.1 录制Windows Sockets协议脚本 (2)929.1.2 增强Windows Sockets协议脚本 (2)949.2 WAP协议应用 (298)9.3 Web Services协议应用 (302)9.3.1 Web Services协议简介 (302)9.3.2 录制Web Services协议脚本 (303)9.4 FTP协议应用 (312)9.5 本章小结 (317)第4部分实战篇............................................................... (319)第10章电子商务平台测试案例.. 321 10.1 GBE测试项目简介 (321)10.1.1 项目背景信息 (321)10.1.2 系统功能简介 (322)10.1.3 项目测试计划 (323)10.2 性能测试规划与设计 (323)10.2.1 性能测试的种类、范围、目标 (324)10.2.2 人力资源、进度安排 (325)10.2.3 测试环境需求 (325)10.2.4 选择测试工具 (327)10.2.5 用户场景分析与设计 (328)10.2.6 性能测试计划 (333)10.2.7 测试用例设计 (334)10.2.8 其他事项 (341)10.3 性能测试准备 (341)10.3.1 测试环境 (341)10.3.2 系统使用培训 (342)10.3.3 测试数据 (343)10.3.4 虚拟用户脚本 (346)10.4 测试的实施与控制 (349)10.4.1 设计测试用例场景 (349)10.4.2 执行测试用例场景 (351)10.4.3 进度与变更控制 (359)10.5 测试结论与建议 (360)10.5.1 测试结果综述 (360)10.5.2 系统性能优化建议 (361)10.5.3 风险分析 (362)10.6 本章小结 (362)附录A LoadRunner性能测试常见问题.. 36 5附录B LoadRunner性能测试模板.. 373 B.1 性能测试计划模板 (373)B.1.1 项目背景简介 (373)B.1.2 测试方案简介 (373)B.1.3 测试环境与资源 (373)B.1.4 项目里程碑 (374)B.1.5 技能培训计划 (374)B.1.6 风险分析 (374)B.1.7 计划结束标准 (374)B.2 性能测试用例模板 (374)B.2.1文档介绍 (374)B.2.2 测试需求分析 (375)B.2.3 性能测试用例 (375)B.3 性能测试报告模板 (380)B.3.1 基本信息 (380)B.3.2 测试环境描述 (381)B.3.3 性能测试用例执行分析 (381)B.3.4 测试结果综合分析及建议 (381)B.3.5 测试经验总结 (381)后记.. 383前言在作者的另一作品《Web性能测试实战》中,曾经提到过“软件亚健康”这个概念。
使用LoadRunner进行性能自动化测试的方法和技巧LoadRunner是一款常用的性能测试工具,它可以模拟多种负载条件下的应用程序行为,帮助开发人员检测和解决性能问题。
本文将介绍使用LoadRunner进行性能自动化测试的方法和技巧,帮助读者更好地利用LoadRunner提升应用程序的性能。
一、LoadRunner简介LoadRunner是由Micro Focus公司开发的一款性能测试工具,它可以模拟多种负载条件下的应用程序行为,帮助开发人员评估应用程序的性能与稳定性。
LoadRunner提供了丰富的功能和工具,包括脚本录制、负载生成、性能监控和报告分析等,可用于测试各类应用程序,如Web应用、移动应用和企业应用等。
二、性能自动化测试的基本步骤1. 确定测试目标和需求:在进行性能自动化测试之前,需要明确测试目标和需求,例如确定负载要求、并发用户数、响应时间等指标,以便后续的测试设计和执行。
2. 脚本录制与回放:LoadRunner提供了脚本录制功能,可以通过录制用户在应用程序上的操作来生成测试脚本。
在录制完成后,可以使用脚本回放功能对录制的操作进行模拟,以验证应用程序在负载条件下的性能表现。
3. 参数化和数据驱动:在进行性能测试时,往往需要模拟多个用户的行为。
为了实现这一目标,可以通过参数化和数据驱动的方式来设置不同用户之间的差异。
LoadRunner提供了参数化工具和数据驱动功能,可以轻松地设置和管理测试数据。
4. 脚本调优和编辑:在录制和回放过程中,可能会出现一些不必要或重复的操作,这会影响测试的准确性和效率。
通过对脚本的调优和编辑,可以剔除不必要的操作,减少脚本的体积和执行时间。
5. 负载生成和分析:LoadRunner提供了多种负载测试模式,可以模拟不同负载条件下的应用程序性能。
通过调整负载模式和负载参数,可以对应用程序进行不同负载场景的测试。
测试完成后,可以使用LoadRunner提供的分析工具对测试结果进行统计和分析,以便找出性能问题和瓶颈。
实验三:性能测试与LoadRunner(4学时)一、实验目的1、了解Load Runner负载测试工具的安装过程,进行安装实验。
2、了解Load Runner负载测试工具的用途和简单的操作。
3、掌握Load Runner负载测试工具测试过程。
4、能够使用Load Runner负载测试工具进行简单的测试工作。
二、实验环境操作系统:windows 2000 XP + SP2应用系统:LoadRunner9.5+负载测试工具三、实验过程:LoadRunner 是HP公司开发一款成熟的性能测试工具,LoadRunner 作为性能测试的实现者,涉及性能测试流程、性能测试技术和软件体系架构等众多方面的知识点。
性能测试的基准大体有以下几方面:—响应时间从应用系统发出请求开始,到客户端接收到最后一个字节数据为止所消耗的时间。
合理的响应时间取决于实际的用户需求。
—并发用户数一般是指同一时间段内访问系统的用户数量。
—吞吐量指单位时间内系统处理的客户请求数量。
—性能计数器描述服务器或操作系统性能的一些数据指标,比如Windows 系统资源管理器。
------------------------------------------------------------------------------- 本次实验课是针对LoadRunner(以下简称LR)的使用,我们将采用LR 自带的HP WEBTours 应用程序来进行熟悉。
1.启动示例程序在开始程序中启动LoadRunneràsamplesàWebà启动Web 服务器,如下图启动后在屏幕右下角会出现如下标识 :2.启动Web Tours 示例程序:在浏览器中点击下图中的Sign up now,进行注册多个账户,过程比较简单这里不再介绍.注册完成后,可以订一张机票,熟悉一下这个应用程序的相关操作,为下一步录制脚本做准备。
3. 传统手工性能测试中会有一个组织者演示要测试的整个过程给参予者,然后组织者会要求这些参予者在自己的机器上共同执行刚刚的过程,然后收集相关的数据再进行分析,性能是否达到了相关的标准.自动化测试过程中 :整个过程-------------------- Virtual User Generator 录制脚本组织者---------------------- Controller参予者自己的机器------------------ Loadgenerator 场景分析--------------------------------------Analysis下面我们一步步来进行首先启动Virtual User Generator,如下图启动后出现如下界面,在其中新建一个场景:在弹出的对话框中选定,点击在弹出的对话框中输入以下参数后点击OK:出现如下提示框后,开始录制脚本,此时会弹出IE,然后自动进入到WEB TOURS 网站,用刚刚注册的信息进行登录,登录成功后,再定一张票,定票后,输入信用卡信息,然后退出登录,完成后,点击停止录制,此过程较为简单,这里不做说明录制完成后,在下图中点停止,脚本录制完成:稍待一会生成脚本,如下图所示:点击播放按钮,回放一下看有没有问题,回放有两种方式,一种是普通脚本回放,回放时运行到哪一行了,会有箭头指示,另外一种就是回放可以查看回放过程中的页面,方式如下:选择在弹出的对话中选择如下:再次回放就可以看到效果.加入事务:事务就是将整个录制过程分为几部分,比如这个例子中可以分登录,定票两个过程,在测试时就可以查看这两个过程分别的运行效率,从而确定,在整个定票过程中哪一个环节影响了性能。
打开代码,在登录代码前我们插入一个事务的开始:并取名”login_学号”在登录成功后处我们插入事务”login”的结束然后在订票开始前插入一个事务:结束处插入一个事务事务配置结束,我们再设定一个集合点,方便在最后分析时查看登录的并发数能达到的数量,如下图:脚本录制和脚本强化到此完成,请点击保存这个脚本,方便继续下一步工作,实测测试活动中,也可以留给回顾测试使用。
4.启动Controller,我们来配置场景,说白了就是配置虚拟用户和虚拟用户所使用的机器启动如下图:启动后将刚刚录制好的脚本加入进来,如下图所示,点击OK:在下图中我们可以看到默认会有10 虚拟用户,在本地localhost 运行,你可以通过按钮打开的对话框中加入更多的用户,但请注意,一台普通的PC 机并不能承担太多的虚拟用户,所以我们还要加入更多的“本机”,即装有LR 客户端的机器帮助我们产生更多的用户。
装有客户端的机器,右下角会有这样的图标: ,如果你没有发现,请在客户端的开始菜单中找到LoadRunner-àLoadRunner Agent Process,来进行启动在上图中点击,弹出如下对话框,输入组名和要生成的虚拟用户数,以及“本机”的IP地址,点击OK:为了证明本机可用,需要进行验证,如下图:点击后,就可以使用来验证,如下图:接下来我们可以对测试的策略进行设置,比如开始用户数,每分钟增加的用户数等等,不要怕出错大量尝试的去设置,在右侧会出现设置的运行时序图:设置完成后切换到RUN 试图:形菜单中切换想要查看的视图:测试停止后,我们对测试查看报告并进行分析,如下图操作:生成分析报告的过程:报告生成:参照如下说明进行分析,了解系统瓶颈在什么地方,需要改进,实验完成。
LoadRunner 分析结果图功能说明Transactions(用户事务分析)用户事务分析是站在用户角度进行的基础性能分析。
1、Transation Sunmmary(事务综述)对事务进行综合分析是性能分析的第一步,通过分析测试时间内用户事务的成功与失败情况,可以直接判断出系统是否运行正常。
2、Average Transaciton Response Time(事务平均响应时间)“事务平均响应时间”显示的是测试场景运行期间的每一秒内事务执行所用的平均时间,通过它可以分析测试场景运行期间应用系统的性能走向。
例:随着测试时间的变化,系统处理事务的速度开始逐渐变慢,这说明应用系统随着投产时间的变化,整体性能将会有下降的趋势。
3、Transactions per Second(每秒通过事务数/TPS)“每秒通过事务数/TPS”显示在场景运行的每一秒钟,每个事务通过、失败以及停止的数量,使考查系统性能的一个重要参数。
通过它可以确定系统在任何给定时刻的时间事务负载。
分析TPS 主要是看曲线的性能走向。
将它与平均事务响应时间进行对比,可以分析事务数目对执行时间的影响。
例:当压力加大时,点击率/TPS 曲线如果变化缓慢或者有平坦的趋势,很有可能是服务器开始出现瓶颈。
4、Total Transactions per Second(每秒通过事务总数)“每秒通过事务总数”显示在场景运行时,在每一秒内通过的事务总数、失败的事务总署以及停止的事务总数。
5、Transaction Performance Sunmmary(事务性能摘要)“事务性能摘要”显示方案中所有事务的最小、最大和平均执行时间,可以直接判断响应时间是否符合用户的要求。
重点关注事务的平均和最大执行时间,如果其范围不在用户可以接受的时间范围内,需要进行原因分析。
6、Transaction Response Time Under Load(事务响应时间与负载)“事务响应时间与负载”是“正在运行的虚拟用户”图和“平均响应事务时间”图的组合,通过它可以看出在任一时间点事务响应时间与用户数目的关系,从而掌握系统在用户并发方面的性能数据,为扩展用户系统提供参考。
此图可以查看虚拟用户负载对执行时间的总体影响,对分析具有渐变负载的测试场景比较有用。
7、Transaction Response Time(Percentile)(事务响应时间(百分比))“事务响应时间(百分比)”是根据测试结果进行分析而得到的综合分析图,也就是工具通过一些统计分析方法间接得到的图表。
通过它可以分析在给定事务响应时间范围内能执行的事务百分比。
8、Transaction Response Time(Distribution)(事务响应时间(分布))“事务响应时间(分布)”显示在场景运行过程中,事务执行所用时间的分布,通过它可以了解测试过程中不同响应时间的事务数量。
如果系统预先定义了相关事务可以接受的最小和最大事务响应时间,则可以使用此图确定服务器性能是否在可以接受的范围内。
Web Resources(Web 资源分析)Web 资源分析是从服务器入手对Web 服务器的性能分析。
1、Hits per Second(每秒点击次数)“每秒点击次数”,即使运行场景过程中虚拟用户每秒向Web 服务器提交的HTT P 请求数。
通过它可以评估虚拟用户产生的负载量,如将其和“平均事务响应时间”图比较,可以查看点击次数对事务性能产生的影响。
通过对查看“每秒点击次数”,可以判断系统是否稳定。
系统点击率下降通常表明服务器的响应速度在变慢,需进一步分析,发现系统瓶颈所在。
2、Throughput(吞吐率)“吞吐率”显示的是场景运行过程中服务器的每秒的吞吐量。
其度量单位是字节,表示虚拟用在任何给定的每一秒从服务器获得的数据量。
可以依据服务器的吞吐量来评估虚拟用户产生的负载量,以及看出服务器在流量方面的处理能力以及是否存在瓶颈。
“吞吐率”图和“点击率”图的区别:“吞吐率”图,是每秒服务器处理的HTTP 申请数。
“点击率”图,是客户端每秒从服务器获得的总数据量。
3、HTTP Status Code Summary(HTTP 状态代码概要)“HTTP 状态代码概要”显示场景或会话步骤过程中从Web 服务器返回的HTTP 状态代码数,该图按照代码分组。
HTTP 状态代码表示HTTP 请求的状态。
4、HTTP Responses per Second(每秒HTTP 响应数)“每秒HTTP 响应数”是显示运行场景过程中每秒从Web 服务器返回的不同HTTP 状态代码的数量,还能返回其它各类状态码的信息,通过分析状态码,可以判断服务器在压力下的运行情况,也可以通过对图中显示的结果进行分组,进而定位生成错误的代码脚本。
5、Pages Downloader per Second(每秒下载页面数)“每秒下载页面数”显示场景或会话步骤运行的每一秒内从服务器下载的网页数。
使用此图可依据下载的页数来计算Vuser 生成的负载量。
和吞吐量图一样,每秒下载页面数图标是Vuser 在给定的任一秒内从服务器接收到的数据量。
但是吞吐量考虑的各个资源极其大小(例,每个GIF 文件的大小、每个网页的大小)。