您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > LoadRunner讲义
LoadRunner性能测试黄文高E-mail:huangwengao@sina.com第一章性能测试基础知识该章节主要包括以下部分内容:1.什么是软件性能2.性能测试相关术语3.性能测试划分4.性能测试应用领域第一章性能测试基础知识什么是软件性能?软件性能应该是一种指标,通过这个指标可以衡量,系统或构件性能达到的程度。也是对软件性能需求的一个测试和评估,用来验收或评估软件达到的性能程度。第一章性能测试基础知识性能测试相关术语a)响应时间是用户提交一个请求,系统从开始呈现到将所有信息都呈现到客户端所需要的时间第一章性能测试基础知识性能测试相关术语b)并发用户数指同一时刻与服务器进行数据交互的所有用户数量c)吞吐量吞吐量是指单位时间内系统处理客户请求的数量,其直接体现系统的承载的能力。第一章性能测试基础知识性能测试相关术语吞吐量作为性能测试时主要关注的一个指标,与虚拟用户数之间存在一定的关系,当系统没有遇到性的瓶颈时,可以采用下面这个公式来计算。第一章性能测试基础知识性能测试相关术语d)吞吐率指单位时间内的数据传输量,即吞吐量/传输时间,也可以是单位时间内处理的客户请求数。它是衡量网络性能一个重要指标。通常情况下吞吐量越大,吞吐率的值也越大。吞吐率越大表示系统的负载能力越强第一章性能测试基础知识性能测试相关术语e)TPS表示每秒系统处理的事务数,它是衡量系统处理能力的重要指标,在LoadRunner中一定要分析的一个指标f)点击率指每秒钟用户向Web服务器提交的HTTP的数量第一章性能测试基础知识性能测试相关术语g)资源利用率指的是系统资源被占用的情况,主要包括CPU利用率、内存利用率、磁盘利用率、网络等h)性能计数器是描述服务器或操作系统性能的一些数据指标。主要是通过添加计数器来观察系统资源的使用情况第一章性能测试基础知识性能测试相关术语i)思考时间(ThinkTime)指的是系统资源被占用的情况,主要包括CPU利用率、内存利用率、磁盘利用率、网络等h)性能计数器也称为“休眠时间”,从业务层面来说,这个时间是指用户在进行操作时,每个请求之间的时间间隔第一章性能测试基础知识性能测试划分a)负载测试b)压力测试c)配置测试d)并发测试e)可靠性测试第一章性能测试基础知识性能测试划分a)负载测试是通过对被测试系统不断的加压,直到超过预定的指标或者是部分资源已经达到了一种饱和状态不能再加压为止b)压力测试指当系统已经达到一定的饱和程度(如CPU、磁盘等已经处于一种饱和状态),系统处理业务的能力,系统是否会出现崩溃等第一章性能测试基础知识性能测试划分c)配置测试配置测试(ConfigurationTesting)是通过调整系统软/硬件环境,了解在不同环境下系统性能指标的情况,从而找到系统的最优配置。压力测试第一章性能测试基础知识性能测试划分d)并发测试并发测试(ConcurrencyTesting)是通过模拟用户并发访问,测试多用户同时访问同一应用、模块或数据,观察系统是否存在死锁、系统处理速度明显下降等其它的一些性能问题第一章性能测试基础知识性能测试划分e)可靠性测试是当系统在一定的业务压力下,让系统持续运行一段时间,看系统是否达到我们要求的稳定性,这里强调在一定业务压力下持续运行的能力,一定都会有一个明确的要求,例如:持续运行多少天系统不能出现问题第一章性能测试基础知识性能测试应用领域a)能力验证b)规划能力c)性能调优d)缺陷发现第一章性能测试基础知识性能测试应用领域a)能力验证能力验证是性能测试最常用的一个领域。一般能力验证采用这样的描述方式:“某系统能否在条件A下具备B性能”b)规划能力规划能力与能力验证有相似之处,但还是有不一样的地方,能力验证强调的是在某个条件下具备什么样的能力,而规划能力体现在系统如何才能达到要求的性能指标第一章性能测试基础知识性能测试应用领域c)能力验证性能调优是通过测试来调整系统的环境,最终使系统性能达到最优的状态。这是一个持续调优的过程,主要调优的对象有数据参数、应用服务器、系统的硬件资源等确定基准环境基准负载和基准性能指标调整系统运行环境和实现方法,执行测试记录测试结果,进行分析第一章性能测试基础知识性能测试应用领域d)发现缺陷性能测试应用领域的主要目标是通过性能测试的手段来发现系统存在的缺陷第二章性能测试基础知识该章节主要包括以下部分内容:1.LoadRunner工作原理2.LoadRunner工作过程3.LoadRunner内部结构4.LoadRunner测试步骤第二章性能测试基础知识LoadRunner工作原理第二章性能测试基础知识LoadRunner工作过程第二章性能测试基础知识LoadRunner内部结构第二章性能测试基础知识LoadRunner测试步骤第三章Vuser发生器该章节主要包括以下部分内容:1.脚本录制2.RecordingOptions设置3.Run-TimeSetting设置4.脚本完善第三章Vuser发生器脚本录制a)如何选择协议b)开始录制脚本第三章Vuser发生器脚本开发过程第三章Vuser发生器如何选择协议各种协议和相关头文件的对应关系第三章Vuser发生器选择协议的常用方法主要有以下几种:a)询问开发工程师数据通讯采用何种协议b)当没有开发工程师支持时,可以通过概要或详细设计手册获知所使用的协议;c)使用协议分析工具捕获包进行分析,然后确定被测对象所使用的协议。d)根据以往测试经验来判断被测试对象采用的协议,这种方法具有猜测性,有时候不一定具备;第三章Vuser发生器协议分类表应用类型建议选用协议Web网站(J2EE、.NET)Web(HTTP/HTML)FTP服务器FileTransferProtocol(FTP)邮件服务器InternetMessagingApplicationProtocol(IMAP)PostOfficeProtocol(POP3)SimpleMailTransProtocol(SMTP)C/S客户端以ADO、OLEDB方式连接后台数据库MSSQLServerOrical、Sybase、DB2、Informix以ODBC方式连接后台数据库ODBC没有后台数据库Socket分布式组件COM/DCOM、EJB无线应用WAP、PALM第三章Vuser发生器LoadRunner提供三种选择协议的方式a)单协议脚本b)多协议脚本c)最近新建脚本类型使用过的协议第三章Vuser发生器开始录制脚本Web(HTTP/HTML)协议为例第三章Vuser发生器RecordingOptions设置a)Recording标签页b)Advanced标签页c)Correlation标签页第三章Vuser发生器Recording标签页第三章Vuser发生器HTML-basescript方式:是对每个页面录制形成一条语句,在该模式下,访问一个页面,首先会与服务器之间建立一个连接获取页面的内容,然后从页面中分解得到其他的元素(component),然后建立几个连接分别获取相应的元素。URL-basescript方式:是将每条客户端发出的请求录制成一条语句,对在该模式下,一条语句只建立一个到服务器的连接,并将通讯过程中的很多隐藏的信息都录制出来(如session、cookie)。LoadRunner提供了web_concurrent_start和web_concurrent_end函数模拟URL-basescript的工作方式。第三章Vuser发生器分别使用这两种模式录制一个登录过程的脚本HTML方式录制第三章Vuser发生器URL方式录制第三章Vuser发生器Advanced标签页其中“Savesnapshotresourceslocally”表示运行结果中保存一个快照。“AddcommentstoscriptforHTTPerrorswhilerecording”表示出现错误时会自动添加注释。第三章Vuser发生器Advanced标签页第三章Vuser发生器Correlation标签页Correlation标签页用来对脚本中的关联属性进行设置。选中需要的关联规则,这样在时行录制脚本时会自动的进行关联。当然这里也可以点击“NewApplication”按钮来新建一个关联,再点“NewRule”按钮为该关联新建一个规则第三章Vuser发生器Correlation标签页第三章Vuser发生器Run-TimeSetting设置a)RunLogic标签页b)Pacing标签页c)ThinkTime标签页d)Miscellaneous标签页第三章Vuser发生器RunLogic标签页设置运行脚本的迭代的次数,可以更改“Numberofiterations”的值来设置迭代的次数第三章Vuser发生器Pacing标签页Pacing选项主要是用来设置脚本迭代过程中,两次重复执行的时间间隔。Assoonasthepreviousiterationends:在多次迭代时,一次执行完后马上执行下一次。Afterthepreviousiterationends:这里有两个选择Fixed和Random。选择Fixed表示上一次执行结束后,等待固定的一段时间后,再执行下一次;选择Random表示上次一执行结束后,等待一段随机的时间长度后,再执行下一次,这个随机时的取范围为设置的范围。Atfixed/Randomintervals:这个表示不管上一次执行完与否,到达到规定的时间就开始执行下一次,这里也有两个选择Fixed和Random。Fixed表示固定的一个时间值;Random表示取一个随机值,随机值的范围是自己设置的。第三章Vuser发生器Pacing标签页第三章Vuser发生器ThinkTime标签页ThinkTime选项用来设置用户操作的思考时间。AsIgnorethinktime:运行脚本的时候忽略思考停顿时间。Replaythinktime:设置思考时间的延迟。Asrecorded:根据录制时的思考时间来运行Multiplyrecordedthinktimeby:根据录制时思考时间的整数倍来运行。Userandompercentageofrecordedthinktime:设置一个最大值和最小值,从中选出一个随机值。一般在实际使用过程中选择这种模式。Limitthinktimeto:设置一个最大的thinktime的值,如果录制值超过最大值,就以最大值为准。第三章Vuser发生器ThinkTime标签页第三章Vuser发生器Miscellaneous标签页ErrorHanding选项表示运行时出现错误时的处理,一般不需要改动。Multithreading选项表示运行时把虚拟用户当作进程还是线程来处理。RunVusersasaprocess表示把虚拟用户当作进程来处理。RunVusersasathread把虚拟用户当作线程来处理。在这里一般选择把虚拟用户当作进程来处理,这样才更真实的模拟了用户的操作。AutomaticTransactions选项用来设置事务模式。Defineeachactionasatransaction:将一个action看作一个事务。Defineeachstepasatransaction:将每一个操作步骤看作一个事务。第三章Vuser发生器Miscellaneous标签页第三章Vuser发生器脚本完善a)插入事务b)插入集合点c)插入注释第三章Vuser发生器插入事务插入事务的两种方法:脚本录制中插入和录制后插入事务的几种状态LR_AUTO、LR_PASS、LR_FAIL、LR_STOPa)LR_AUTO:事物的状态被自动设置,如果事务执行成功,状态设置为PASS,如果执行失败,状态设置FAIL,如果由于异常中断,状态被设置成STOP。b)LR_PASS:事务如果执行成功,代码返回的状态是PASS。c)LR_FAIL:事务如果执行失败,代码返回的状态是FAIL。d)LR_STOP:事务如果由于异常中断,代码返回的状态是STOP
本文标题:LoadRunner讲义
链接地址:https://www.777doc.com/doc-10155 .html