版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件测试实验指导书软件工程教研室使用LoadRunner 进行性能测试一、实验目的1、了解Load Runner负载测试工具的安装过程,进行安装实验。2、了解Load Runner负载测试工具的用途和简单的操作。3、掌握Load Runner负载测试工具测试过程。4、能够使用Load Runner负载测试工具进行简单的测试工作。二、实验环境操作系统:windows 2000 XP + SP2应用系统:LoadRunner9.5负载测试工具三、实验过程:首先取得LoadRunner9.5负载测试工具的安装包文件,进行软件的安装操作。安装途径一:安装HP.LoadRunner.9.5.英文版.(W
2、in32.云端版),300M左右大小,需要先安装云端程序和.net framework 3.5安装途径二:单独安装HP.LoadRunner.9.5.英文版,共1.7GLoadRunner 是HP公司开发一款成熟的性能测试工具,LoadRunner 作为性能测试的实现者,涉及性能测试流程、性能测试技术和软件体系架构等众多方面的知识点 。性能测试的基准大体有以下几方面: 响应时间从应用系统发出请求开始,到客户端接收到最后一个字节数据为止所消耗的时间。合理的响应时间取决于实际的用户需求。 并发用户数一般是指同一时间段内访问系统的用户数量。 吞吐量指单位时间内系统处理的客户请求数量。 性能计数器描述
3、服务器或操作系统性能的一些数据指标,比如Windows 系统资源管理器。-本次实验课是针对LoadRunner(以下简称LR)的使用,我们将采用LR 自带的HP WEBTours应用程序来进行熟悉。1.启动示例程序在开始程序中启动LoadRunnersamplesWeb启动Web 服务器,如下图启动后在屏幕右下角会出现如下标识 :2.启动Web Tours 示例程序:在浏览器中点击下图中的Sign up now,进行注册多个账户,过程比较简单这里不再介绍.注册完成后,可以订一张机票,熟悉一下这个应用程序的相关操作,为下一步录制脚本做准备。3. 传统手工性能测试中会有一个组织者演示要测试的整个过
4、程给参予者,然后组织者会要求这些参予者在自己的机器上共同执行刚刚的过程,然后收集相关的数据再进行分析,性能是否达到了相关的标准.自动化测试过程中 :整个过程- Virtual User Generator 录制脚本组织者- Controller参予者自己的机器- Loadgenerator 场景分析-Analysis下面我们一步步来进行首先启动Virtual User Generator,如下图启动后出现如下界面,在其中新建一个场景:在弹出的对话框中选定,点击在弹出的对话框中输入以下参数后点击OK:出现如下提示框后,开始录制脚本,此时会弹出IE,然后自动进入到WEB TOURS 网站,用刚刚注
5、册的信息进行登录,登录成功后,再定一张票,定票后,输入信用卡信息,然后退出登录,完成后,点击停止录制,此过程较为简单,这里不做说明录制完成后,在下图中点停止,脚本录制完成:稍待一会生成脚本,如下图所示:点击播放按钮,回放一下看有没有问题,回放有两种方式,一种是普通脚本回放,回放时运行到哪一行了,会有箭头指示,另外一种就是回放可以查看回放过程中的页面,方式如下:选择在弹出的对话中选择如下:再次回放就可以看到效果.加入事务:事务就是将整个录制过程分为几部分,比如这个例子中可以分登录,定票两个过程,在测试时就可以查看这两个过程分别的运行效率,从而确定,在整个定票过程中哪一个环节影响了性能。打开代码,
6、在登录代码前我们插入一个事务的开始:并取名”login”,这个名字可以随便取,但最好有意义在登录成功后处我们插入事务”login”的结束然后在订票开始前插入一个事务:结束处插入一个事务事务配置结束,我们再设定一个集合点,方便在最后分析时查看登录的并发数能达到的数量,如下图:脚本录制和脚本强化到此完成,请点击保存这个脚本,方便继续下一步工作,实测测试活动中,也可以留给回顾测试使用。4.启动Controller,我们来配置场景,说白了就是配置虚拟用户和虚拟用户所使用的机器启动如下图:启动后将刚刚录制好的脚 本加入进来,如下图所示,点击OK:在下图中我们可以看到默认会有10 虚拟用户,在本地loca
7、lhost 运行,你可以通过按钮打开的对话框中加入更多的用户,但请注意,一台普通的PC 机并不能承担太多的虚拟用户,所以我们还要加入更多的“肉鸡”,即装有LR 客户端的机器帮助我们产生更多的用户。装有客户端的机器,右下角会有这样的图标: ,如果你没有发现,请在客户端的开始菜单中找到LoadRunner- LoadRunner Agent Process,来进行启动在上图中点击,弹出如下对话框,输入组名和要生成的虚拟用户数,以及“肉鸡”的IP地址,点击OK:为了证明肉鸡可用,需要进行验证,如下图:点击后,就可以使用来验证,如下图:接下来我们可以对测试的策略进行设置,比如开始用户数,每分钟增加的用
8、户数等等 ,不要怕出错大量尝试的去设置,在右侧会出现设置的运行时序图:设置完成后切换到RUN 试图:点击开始运行.观察运行中的数据图表,并在运行过程中可以在左侧树形菜单中切换想要查看的视图:测试停止后,我们对测试查看报告并进行分析,如下图操作:生成分析报告的过程:报告生成:参照如下说明进行分析,了解系统瓶颈在什么地方,需要改进,实验完成。LoadRunner 分析结果图功能说明Transactions(用户事务分析)用户事务分析是站在用户角度进行的基础性能分析。1、Transation Sunmmary(事务综述)对事务进行综合分析是性能分析的第一步,通过分析测试时间内用户事务的成功与失败情况
9、,可以直接判断出系统是否运行正常。2、Average Transaciton Response Time(事务平均响应时间)“事务平均响应时间”显示的是测试场景运行期间的每一秒内事务执行所用的平均时间,通过它可以分析测试场景运行期间应用系统的性能走向。例:随着测试时间的变化,系统处理事务的速度开始逐渐变慢,这说明应用系统随着投产时间的变化,整体性能将会有下降的趋势。3、Transactions per Second(每秒通过事务数/TPS)“每秒通过事务数/TPS”显示在场景运行的每一秒钟,每个事务通过、失败以及停止的数量,使考查系统性能的一个重要参数。通过它可以确定系统在任何给定时刻的时间事
10、务负载。分析TPS 主要是看曲线的性能走向。将它与平均事务响应时间进行对比,可以分析事务数目对执行时间的影响。例:当压力加大时,点击率/TPS 曲线如果变化缓慢或者有平坦的趋势,很有可能是服务器开始出现瓶颈。4、Total Transactions per Second(每秒通过事务总数)“每秒通过事务总数”显示在场景运行时,在每一秒内通过的事务总数、失败的事务总署以及停止的事务总数。5、Transaction Performance Sunmmary(事务性能摘要)“事务性能摘要”显示方案中所有事务的最小、最大和平均执行时间,可以直接判断响应时间是否符合用户的要求。重点关注事务的平均和最大执
11、行时间,如果其范围不在用户可以接受的时间范围内,需要进行原因分析。6、Transaction Response Time Under Load(事务响应时间与负载)“事务响应时间与负载”是“正在运行的虚拟用户”图和“平均响应事务时间”图的组合,通过它可以看出在任一时间点事务响应时间与用户数目的关系,从而掌握系统在用户并发方面的性能数据,为扩展用户系统提供参考。此图可以查看虚拟用户负载对执行时间的总体影响,对分析具有渐变负载的测试场景比较有用。7、Transaction Response Time(Percentile)(事务响应时间(百分比))“事务响应时间(百分比)”是根据测试结果进行分析而
12、得到的综合分析图,也就是工具通过一些统计分析方法间接得到的图表。通过它可以分析在给定事务响应时间范围内能执行的事务百分比。8、Transaction Response Time(Distribution)(事务响应时间(分布))“事务响应时间(分布)”显示在场景运行过程中,事务执行所用时间的分布,通过它可以了解测试过程中不同响应时间的事务数量。如果系统预先定义了相关事务可以接受的最小和最大事务响应时间,则可以使用此图确定服务器性能是否在可以接受的范围内。Web Resources(Web 资源分析)Web 资源分析是从服务器入手对Web 服务器的性能分析。1、Hits per Second(每
13、秒点击次数)“每秒点击次数”,即使运行场景过程中虚拟用户每秒向Web 服务器提交的HTTP 请求数。通过它可以评估虚拟用户产生的负载量,如将其和“平均事务响应时间”图比较,可以查看点击次数对事务性能产生的影响。通过对查看“每秒点击次数”,可以判断系统是否稳定。系统点击率下降通常表明服务器的响应速度在变慢,需进一步分析,发现系统瓶颈所在。2、Throughput(吞吐率)“吞吐率”显示的是场景运行过程中服务器的每秒的吞吐量。其度量单位是字节,表示虚拟用在任何给定的每一秒从服务器获得的数据量。可以依据服务器的吞吐量来评估虚拟用户产生的负载量,以及看出服务器在流量方面的处理能力以及是否存在瓶颈。“吞
14、吐率”图和“点击率”图的区别:“吞吐率”图,是每秒服务器处理的HTTP 申请数。“点击率”图,是客户端每秒从服务器获得的总数据量。3、HTTP Status Code Summary(HTTP 状态代码概要)“HTTP 状态代码概要”显示场景或会话步骤过程中从Web 服务器返回的HTTP 状态代码数,该图按照代码分组。HTTP 状态代码表示HTTP 请求的状态。4、HTTP Responses per Second(每秒HTTP 响应数)“每秒HTTP 响应数”是显示运行场景过程中每秒从Web 服务器返回的不同HTTP状态代码的数量,还能返回其它各类状态码的信息,通过分析状态码,可以判断服务器
15、在压力下的运行情况,也可以通过对图中显示的结果进行分组,进而定位生成错误的代码脚本。5、Pages Downloader per Second(每秒下载页面数)“每秒下载页面数”显示场景或会话步骤运行的每一秒内从服务器下载的网页数。使用此图可依据下载的页数来计算Vuser 生成的负载量。和吞吐量图一样,每秒下载页面数图标是Vuser 在给定的任一秒内从服务器接收到的数据量。但是吞吐量考虑的各个资源极其大小(例,每个GIF 文件的大小、每个网页的大小)。而每秒下载页面数只考虑页面数。注:要查看每秒下载页数图,必须在R-T-S 那里设置“每秒页面数(仅HTML 模式)”。6、Retries per
16、 Second(每秒重试次数)“每秒重试次数”显示场景或会话步骤运行的每一秒内服务器尝试的连接次数。在下列情况将重试服务器连接:A、初始连接未经授权B、要求代理服务器身份验证C、服务器关闭了初始连接D、初始连接无法连接到服务器E、服务器最初无法解析负载生成器的IP 地址7、Retries Summary(重试次数概要)“重试次数概要”显示场景或会话步骤运行过程中服务器尝试的连接次数,它按照重试原因分组。将此图与每秒重试次数图一起使用可以确定场景或会话步骤运行过程中服务器在哪个时间点进行了重试。8、Connections(连接数)“连接数”显示场景或会话步骤运行过程中每个时间点打开的TCP/IP
17、 连接数。借助此图,可以知道何时需要添加其他连接。例:当连接数到达稳定状态而事务响应时间迅速增大时,添加连接可以使性能得到极大提高(事务响应时间将降低)。9、Connections Per Second(每秒连接数)“每秒连接数”显示方案在运行过程中每秒建立的TCP/IP 连接数。理想情况下,很多HTTP 请求都应该使用同一连接,而不是每个请求都新打开一个连接。通过每秒连接数图可以看出服务器的处理情况,就表明服务器的性能在逐渐下降。10、SSLs Per Second(每秒SSL 连接数)“每秒SSL 连接数”显示场景或会话步骤运行的每一秒内打开的新的以及重新使用的SSL 连接数。当对安全服务
18、器打开TCP/IP 连接后,浏览器将打开SSL 连接。Web Page Breakdown(网页元素细分)“网页元素细分”主要用来评估页面内容是否影响事务的响应时间,通过它可以深入地分析网站上那些下载很慢的图形或中断的连接等有问题的元素。1、Web Page Breakdown(页面分解总图)“页面分解”显示某一具体事务在测试过程的响应情况,进而分析相关的事务运行是否正常。“页面分解”图可以按下面四种方式进行进一步细分:1)、Download Time Breaddown(下载时间细分)“下载时间细分”图显示网页中不同元素的下载时间,同时还可按照下载过程把时间进行分解,用不同的颜色来显示DNS
19、 解析时间、建立连接时间、第一次缓冲时间等各自所占比例。2)、Component Breakdown(Over Time)(组件细分(随时间变化))“组件细分”图显示选定网页的页面组件随时间变化的细分图。通过该图可以很容易的看出哪些元素在测试过程中下载时间不稳定。该图特别适用于需要在客户端下载控件较多的页面,通过分析控件的响应时间,很容易就能发现那些控件不稳定或者比较耗时。3)、Download Time Breakdown(Over Time)(下载时间细分(随时间变化))“下载时间细分(随时间变化)” 图显示选定网页的页面元素下载时间细分(随时间变化)情况,它非常清晰地显示了页面各个元素在
20、压力测试过程中的下载情况。“下载时间细分”图显示的是整个测试过程页面元素响应的时间统计分析结果,“下载时间细分(随时间变化)”显示的事场景运行过程中每一秒内页面元素响应时间的统计结果,两者分别从宏观和微观角度来分析页面元素的下载时间。4)、Time to First Buffer Breakdown(Over Time)(第一次缓冲时间细分(随时间变化))“第一次缓冲时间细分(随时间变化)”图显示成功收到从Web 服务器返回的第一次缓冲之前的这段时间,场景或会话步骤运行的每一秒中每个网页组件的服务器时间和网络时间(以秒为单位)。可以使用该图确定场景或会话步骤运行期间服务器或网络出现问题的时间。
21、First Buffer Time:是指客户端与服务器端建立连接后,从服务器发送第一个数据包开始计时,数据经过网络传送到客户端,到浏览器接收到第一个缓冲所用的时间。2、Page Component Breakdown(页面组件细分)“页面组件细分”图显示每个网页及其组件的平均下载时间(以秒为单位)。可以根据下载组件所用的平均秒数对图列进行排序,通过它有助于隔离有问题的组件。3、Page Component Breakdown(Over Time)(页面组件分解(随时间变化))“页面组件分解(随时间变化)”图显示在方案运行期间的每一秒内每个网页及其组件的平均响应时间 (以秒为单位)。4、Page
22、 Download Time Breakdown(页面下载时间细分)“页面下载时间细分”图显示每个页面组件下载时间的细分,可以根据它确定在网页下载期间事务响应时间缓慢是由网络错误引起还是由服务器错误引起。“页面下载时间细分”图根据DNS 解析时间、连接时间、第一次缓冲时间、SSL握手时间、接收时间、FTP 验证时间、客户端时间和错误时间来对每个组件的下载过程进行细分。5、Page Download Time Breakdown(Over Time)(页面下载时间细分(随时间变化))“页面下载时间细分(随时间变化)”图显示方案运行期间,每一秒内每个页面组件下载时间的细分。使用此图可以确定网络或服
23、务器在方案执行期间哪一时间点发生了问题。“页面组件细分(随时间变化)”图和“页面下载时间细分(随时间变化)”图通常结合起来进行分析:首先确定有问题的组件,然后分析它们的下载过程,进而定位原因在哪里。6、Time to First Buffer Breakdown(第一次缓冲时间细分)“第一次缓冲时间细分”图显示成功收到从Web 服务器返回的第一次缓冲之前的这一段时间内的每个页面组件的相关服务器/网路时间。如果组件的下载时间很长,则可以使用此图确定产生的问题与服务器有关还是与网络有关。网络时间:定义为第一个HTTP 请求那一刻开始,直到确认为止所经过的平均时间。服务器时间:定义为从收到初始HTT
24、P 请求确认开始,直到成功收到来自Web 服务器的一次缓冲为止所经过的平均时间。7、Time to First Buffer Breakdown(Over Time)(第一次缓冲时间细分(随时间变化))“第一次缓冲时间细分(随时间变化)”图显示成功收到从Web 服务器返回的第一个缓冲之前的这段时实验结果:脚本:vuser_init()return 0;Action()lr_start_transaction(login);web_url(webtours, URL=:1080/webtours/, Resource=0, RecContentType=text/h
25、tml, Referer=, Snapshot=t1.inf, Mode=HTML, LAST);lr_think_time(7);lr_rendezvous(tologin);web_submit_form(login.pl, Snapshot=t2.inf, ITEMDATA, Name=username, Value=jojo, ENDITEM, Name=password, Value=bean, ENDITEM, Name=login.x, Value=41, ENDITEM, Name=login.y, Value=15, ENDITEM, LAST);lr_end_transac
26、tion(login,LR_AUTO);lr_start_transaction(ticket);web_image(Search Flights Button, Alt=Search Flights Button, Snapshot=t3.inf, LAST);lr_think_time(4);web_url(FormDateUpdate.class, URL=:1080/webtours/FormDateUpdate.class, Resource=0, RecContentType=text/html, Referer=, Mode=HTML, LAST);
27、web_url(CalSelect.class, URL=:1080/webtours/CalSelect.class, Resource=0, RecContentType=text/html, Referer=, Mode=HTML, LAST);web_url(Calendar.class, URL=:1080/webtours/Calendar.class, Resource=0, RecContentType=text/html, Referer=, Mode=HTML, LAST);web_submit_data(rese
28、rvations.pl, Action=:1080/webtours/reservations.pl, Method=POST, RecContentType=text/html, Referer=:1080/webtours/reservations.pl?page=welcome, Snapshot=t4.inf, Mode=HTML, ITEMDATA, Name=advanceDiscount, Value=0, ENDITEM, Name=depart, Value=Denver, ENDITEM, Name=departD
29、ate, Value=12/09/2010, ENDITEM, Name=arrive, Value=Paris, ENDITEM, Name=returnDate, Value=12/10/2010, ENDITEM, Name=numPassengers, Value=1, ENDITEM, Name=seatPref, Value=None, ENDITEM, Name=seatType, Value=First, ENDITEM, Name=.cgifields, Value=roundtrip, ENDITEM, Name=.cgifields, Value=seatType, EN
30、DITEM, Name=.cgifields, Value=seatPref, ENDITEM, Name=findFlights.x, Value=43, ENDITEM, Name=findFlights.y, Value=10, ENDITEM, LAST);web_submit_form(reservations.pl_2, Snapshot=t5.inf, ITEMDATA, Name=outboundFlight, Value=040;657;12/09/2010, ENDITEM, Name=reserveFlights.x, Value=61, ENDITEM, Name=re
31、serveFlights.y, Value=11, ENDITEM, LAST);web_submit_form(reservations.pl_3, Snapshot=t6.inf, ITEMDATA, Name=firstName, Value=Joseph, ENDITEM, Name=lastName, Value=Marshall, ENDITEM, Name=address1, Value=234 Willow Drive, ENDITEM, Name=address2, Value=San Jose/CA/94085, ENDITEM, Name=pass1, Value=Jos
32、eph Marshall, ENDITEM, Name=creditCard, Value=123456, ENDITEM, Name=expDate, Value=12/12, ENDITEM, Name=saveCC, Value=on, ENDITEM, Name=buyFlights.x, Value=40, ENDITEM, Name=buyFlights.y, Value=11, ENDITEM, LAST);lr_end_transaction(ticket,LR_AUTO);return 0;vuser_end()return 0;#ifndef _GLOBALS_H #def
33、ine _GLOBALS_H/-/ Include Files#include lrun.h#include web_api.h#include lrw_custom_body.h/-/ Global Variables#endif / _GLOBALS_H实验结果截图:实验中的问题:实验结果及分析:实验脚本:vuser_init()return 0;Action()lr_start_transaction(login);web_url(webtours, URL=:1080/webtours/, Resource=0, RecContentType=text/h
34、tml, Referer=, Snapshot=t1.inf, Mode=HTML, LAST);lr_think_time(7);lr_rendezvous(tologin);web_submit_form(login.pl, Snapshot=t2.inf, ITEMDATA, Name=username, Value=username, ENDITEM, Name=password, Value=password, ENDITEM, Name=login.x, Value=41, ENDITEM, Name=login.y, Value=15, ENDITEM, LAST);lr_end
35、_transaction(login,LR_AUTO);lr_start_transaction(ticket);web_image(Search Flights Button, Alt=Search Flights Button, Snapshot=t3.inf, LAST);lr_think_time(4);web_url(FormDateUpdate.class, URL=:1080/webtours/FormDateUpdate.class, Resource=0, RecContentType=text/html, Referer=, Mode=HTML
36、, LAST);web_url(CalSelect.class, URL=:1080/webtours/CalSelect.class, Resource=0, RecContentType=text/html, Referer=, Mode=HTML, LAST);web_url(Calendar.class, URL=:1080/webtours/Calendar.class, Resource=0, RecContentType=text/html, Referer=, Mode=HTML, LAST);web_submit_d
37、ata(reservations.pl, Action=:1080/webtours/reservations.pl, Method=POST, RecContentType=text/html, Referer=:1080/webtours/reservations.pl?page=welcome, Snapshot=t4.inf, Mode=HTML, ITEMDATA, Name=advanceDiscount, Value=0, ENDITEM, Name=depart, Value=Denver, ENDITEM, Name=departDate, Value=12/09/2010, ENDITEM, Name=arrive, Value=Paris, ENDITEM, Name=returnDate, Value=12/10/2010, ENDITEM, Name=numPassengers, Value=1, ENDITEM, Name=seatPref, Value=None, ENDITEM, Name=seatType, Value=First, ENDITEM, Name=.cgifields, Value=roundtrip, ENDITEM, Name=.cgifiel
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度地质勘探现场录像记录合同4篇
- 2025年度智能办公系统开发与IT技术支持服务协议3篇
- 二零二五年度知识产权背景下的股权转让合同3篇
- 专业危化品运输委托合同书版B版
- 二零二五年度绿色家居装修绿植租赁与室内装饰服务协议4篇
- 2024西藏自治区建设工程施工合同范本
- 2024碎石原料供应链优化与升级合同
- 2023-2024学年高中信息技术选修2(浙教版2019)-网络基础-说课稿-2.2-网络体系结构与TCPIP协议
- 2025年度智能家居产品贴牌代工及销售合同4篇
- 二零二五年度毛纱产业创新发展基金投资合同4篇
- 市政道路工程交通疏解施工方案
- 2024年部编版初中七年级上册历史:部分练习题含答案
- 拆迁评估机构选定方案
- 床旁超声监测胃残余量
- 上海市松江区市级名校2025届数学高一上期末达标检测试题含解析
- 综合实践活动教案三上
- 《新能源汽车电气设备构造与维修》项目三 新能源汽车照明与信号系统检修
- 2024年新课标《义务教育数学课程标准》测试题(附含答案)
- 医院培训课件:《静脉中等长度导管临床应用专家共识》
- 中国国际大学生创新大赛与“挑战杯”大学生创业计划竞赛(第十一章)大学生创新创业教程
- 钢管竖向承载力表
评论
0/150
提交评论