LoadRunner性能测试培训

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

LoadRunner性能测试培训质量管理部窦志刚性能测试基础知识性能测试常用术语LoadRunner组件-VirtualUserGeneratorLoadRunner组件-ControllerLoadRunner组件-Analysis基本调优目标什么是性能测试通过狭义的性能测试模拟生产运行的业务压力或者用户使用场景来测试系统的性能是否满足生产性能的要求。广义的性能测试指压力测试、负载测试、强度测试、并发测试、大数据量测试、可靠性测试等和性能相关的测试统称。性能测试基础知识压力测试对系统不断施加压力的测试,是通过确定一个系统的瓶颈或不能接收用户请求的性能点,来获得系统提供的最大服务级别的测试。目的:是发现在什么条件下系统的性能变得不可接受,并通过对应用程序施加越来越多的负载,直到发现应用程序性能下降的拐点。负载测试对系统不断增加压力或增加一定压力下的持续时间,直到系统的一些性能指标达到极限,例如响应时间超过预定目标或某种资源以及达到饱和。区别压力测试侧重压力大小,负载测试往往强调压力持续的时间。性能测试基础知识强度测试强度测试主要是检查程序对异常情况的抵抗能力,如运行最大存储空间,进行可能导致系统崩溃、磁盘数据抖动、网卡满负荷等。主要是异常条件下验证系统是否稳定以及性能方面是否容易扩展。疲劳强度测试疲劳强度测试是一类特殊的强度测试,主要测试系统长时间运行后的性能表现,如一般常见的7X24小时的压力测试。性能测试基础知识并发测试主要指当测试多用户并发访问同一个应用、模块、数据时是否产生隐藏的并发问题,如内存泄漏、线程锁、资源争用问题,几乎所有的性能测试都会涉及并发测试。通用说明:持续挂载一定数量用户不断开。LoadRunner进行并发测试相对较少,一般使用测试仪很普遍。大数据量测试一般是针对某些系统存储、传输、统计查询等业务进行大数据量的测试。如CA系统上千万条的数据测试。性能测试基础知识可靠性测试在给系统加载一定业务压力的情况下,使系统运行一段时间,检测系统是否稳定。如施加压力让CPU资源保持在90%以上的使用率,连续对系统加压24个小时,分析系统是否稳定。性能测试基础知识性能指标并发严格意义上的并发:即所有的用户在同一时刻做同一件事情或者操作,一般是同一类型的业务广义的并发:即所有的用户对系统发出了请求或进行了操作,这些请求或者操作可以是相同的,也可以是不同的。LoadRunner压测并发的弱点:一个IP只能支持65535个连接(理论上),因此需要压测百万级别的并发,必须很多IP地址支持才能实现。性能测试基础知识性能测试基础知识防火墙并发测试标准:ConcurrentconnectionsHost和DUT之间同时连接的总数,并假设所有连接上都有数据传输。即同时可以挂载的用户数量。请求响应时间请求响应时间是指从客户端发出请求到得到响应的整个过程的时间。从客户端发送一个请求开始计时,到客户端接到从服务器端返回的响应接口计时结束。另外一些工具中,会被称为“TTLB”,“Timetolastbyte”。从发送一个请求开始,到客户端收到最好一个字节的响应为止所耗费的时间。事务响应时间(TransactionResponseTime)事务可能是一系列的请求组成,事务的响应时间主要是针对用户而言,是为了向用户说明业务响应时间而提出的。性能测试基础知识CPS(ConnectionPerSecond)新建测试的主要目的是测试被测设备的处理能力。单位时间内能够建立的连接数越多,说明被测试设备的处理器能力越强。一般只关心建立TCP连接的速率,因此使用RST方式关闭连接。吞吐率(Throughput)单位时间内网络上传输的数据量,是衡量网络性能的重要指标。Loadrunner记录的Throughput是接收到服务器返回的所有字节数之和,与本地发出的字节数无关!和网络带宽的关系:TPS*返回数据包的大小=Throughput带宽吞吐量网络上传输的数量量的总和。吞吐量/传输时间,即吞吐率。性能测试基础知识TPS(TransactionPerSecond)每秒钟系统能够处理的交易或者事务的数量。是衡量系统处理能力的重要指标。一般而言,评价系统性能均以每秒完成的技术交易的数量来衡量系统整体处理能力取决于处理能力最低模块的TPS值HPS点击率每秒钟用户向Web服务器提交的HTTP请求数。是Web应用特有的一个指标:Web应用是“请求-响应”模式,用户发出一次申请,服务器就处理一次。HPS一般与TPS成正比关系,是B/S系统中非常重要的性能指标之一性能测试基础知识资源利用率监控不同系统资源的使用程度,如服务器的CPU、磁盘利用率、内存、网络等。是测试和分析瓶颈的主要参数。性能测试基础知识场景(Scenario)在LoadRunner中主要表现为Controller中设计与执行测试用例中的用户场景。如在controller中选择虚拟用户脚本,设置虚拟用户数量,配置虚拟用户运行时的行为,选择负载发生器,设置执行时间等。负载发生器(LoadGenerator)用于产生压力的真实机器,受controller控制,可以使用户脚本在不同的机器上执行。性能测试中,通常由一个controller控制多个LoadGenerator对测试系统进行加压。虚拟用户(Vuser)模拟现实中的真实用户,通过虚拟用户脚本模拟真实用户的行为。LoadRunner常用术语虚拟用户脚本VuserScript通过VuserGenerator录制或者开发的脚本,用来模拟用户的行为。事务(Transaction)业务上通常是用户的一个或者一系列操作,代表一定的功能;测试人员可以将一个或者多个操作步骤定义为一个事务,来衡量这部分的用户并发响应时间。思考时间(ThinkTime)用户思考时间,为了模拟更接近用户的真实行为而引进的概念。LoadRunner常用术语集合点(Rendezvous)LoadRunner通过集合点实现真正意义上的并发。添加在比较重要的操作动作之前;LoadRunner常用术语LoadRunner工作原理VuserVuserVuser代理远程代理调度程序(进程)LoadGenerator被测试系统录制启动应用程序并将业务流程录制到脚本中。VuGen为录制的每个操作创建一个步骤。完成录制后,VuGen生成脚本序列,从而形成Vuser脚本。验证将脚本作为单独的测试运行,以此验证其功能并找出潜在的问题。增强向脚本中添加增强功能,使它能够更准确的模拟业务流程,并使能够获得重要数据。添加事务,内容检查和参数。准备进行负载测试LoadRunner-VuserGenerator常用协议(Infosec常用协议)Web(HTTP/HTML)JavaVuserWebServicesWindowssocketsWeb协议(NSAE/CA/NetSign/NetPass/Bisafe)JavaVuser(NetSign/NetPass/CA)WebServices(RA)Windowssockets(NetSign/NSAESM2算法)VuserGenerator-录制Web协议录制HTML-basedscript基于浏览器的应用程序和VBScriptURL-basedscript不是基于浏览器的应用程序基于浏览器的应用程序包含了javascript,并且该脚本向服务器发送了请求,如DataGrid分页按钮基于浏览器的应用程序使用了HTTPS安全协议如果使用HTML-basedscript模式录制完成后,回放失败。建议修改为URL-basedscript模式来录制。VuserGenerator-录制Web协议HTML-basedscript和URL-basedscript区别HTML-basedscript产生的脚本描述和用户的操作一致,能够非常直观的看到用户的操作流程。直接创建的URL(web_url),表单提交(web_submit_form),链接(web_link)和图像(web_image)等函数URL-basedscript产生的脚本,所有的链接、图像请求和URL操作都被录制为web_url函数中,表单提交被录制为web_submit_data函数。VuserGenerator-录制Web协议VuserGenerator-录制Web协议脚本录制的基本原则充分考虑脚本的执行效率性能测试脚本关注的是如何模拟用户的真实行为,应该接近用户的真正操作。录制完成后尽量不要增加过多的内容,如检查点、循环等操作录制重要的用户业务建议录制常用的、使用频率较高的业务进行录制选择需要的进行录制如果一些操作对用户关注的业务没有影响,可以不进行录制。VuserGenerator-录制Web协议Infosec脚本录制应用测试:完全模拟用户的各个重要的操作进行系统测试;Infosec产品测试:避开用户的各种繁琐操作,假设用户没有思考时间,所有操作都是连续性的,这样才能对被测服务器产生最大的性能压力。如证书下载流程:产品测试的脚本尽可能融合到一个页面中,避免频繁录入提交的操作;如证书下载流程:用户注册-申请证书-下载证书内部测试中,建议将所有的流程放在一个JSP页面中进行处理,这样会对被测设备产生最大压力,能够最大化的发现产品存在的问题。VuserGenerator-录制Web协议JavaVuser根据测试流程,直接进行Java接口的调用,编写测试脚本LoadRunner对Java版本的支持,需要根据实际情况进行确认。如果版本不正确,编译过程会体现相关的错误信息。可以指定JVM堆栈大小从目前的使用情况来看,不是很适合进行稳定性测试。适用产品:NetSign、NetPass、NetCert;有JavaAPI的都可以支持。VuserGenerator-录制Java协议JavaVuser调用问题可以和脚本放在同一个目录;但只有当前的虚拟用户脚本可以调用;放在LR调用的JDKlib目录下,所有用户脚本都可以调用;多台agent同时调用javavuser时建议使用这种方式多台计算机联机测试,所有运行测试脚本的客户机必须安装JDK环境并正确设置路径。VuserGenerator-录制Java协议VuserGenerator-录制Java协议VuserGenerator-录制Java协议Java脚本转换web脚本使用Java协议脚本可以轻松转变为web协议脚本,将java脚本中的内容按照Java语法变成JSP页面,并部署在WAS中即可。VuserGenerator-录制Java协议WebServices基于WSDL文件的录制(宏远证券项目测试)VuserGenerator-录制WebServicesWindowsSockets(直接发送数据)对于windowssocket协议进行通信的C/S结构的应用程序,可以使用windowssockets类型的Vuser来录制之间的通信。Windowssockets是非常底层的协议,适用于录制一些低级通信会话。lrs_create_socket(“socket1”,“TCP”,“RemoteHost=192.168.3.246:10001”,LrsLastArg);//建立连接lrs_send(“socket1”,“buf0”,LrsLastArg);//发送数据lrs_receive(“socket1”,“buf1”,LrsLastArg);//接收数据lrs_close_socket(“socket1”);//关闭连接;WSRData21sendbuf01000100312303456recvbuf1128VuserGenerator-录制windowsSocketWindowsSocket(调用DLL)适用范围:一类是不适合录制其功能点的业务系统的性能测试;另外一类是基于C++语言开发的业务系统的性能测试。特点是调用动态库容易,难点是DLL中的动作开发

1 / 64
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功