您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > 性能测试与loadrunner
功能指的是在一般条件下软件系统能够为用户做什么,能够满足用户什么样的需求用户期望这个软件系统能够提供手机用户通过下载手机客户端程序,与现实的朋友一起在手机上通过玩游戏、智力挑战等方式来实现与朋友的互相交流,除电话、短信外,为手机用户提供一种与朋友的新型互动方式。只有这些功能实现了,用户才认为这是他想要的软件需求说明书(功能):系统定位做一个手机上的互动工具,既不同于像开心网这样的SNS社区交流工具软件,也不同于像QQ、MSN这样的聊天工具软件。平台主要针对手机用户在现实中社交关系(以手机通讯录为主),提供游戏、信息交流、学习等多种互动方式,让用户用来维护与增强自己现有的社交关系。性能则是衡量软件系统“好快”的一个重要考虑因素“好”就是要为用户省钱,用最小的硬件成本运行软件系统;“快”就是软件响应时间要短,最好一秒钟也不要等。简单地说,性能就是在空间和时间资源有限的条件下,软件系统还能不能工作。性能:为什么应进行性能测试?自动性能测试是一项规范,它利用有关产品、人员和过程的信息来减少应用程序、升级程序或修补程序部署中的风险。自动性能测试的核心原理是通过将生产时的工作量应用于预部署系统来衡量系统性能和最终用户体验。构造严密的性能测试可回答如下问题:➤应用程序是否能够很快地响应用户的要求?➤应用程序是否能处理预期的用户负载并具有盈余能力?➤应用程序是否能处理业务所需的事务数量?➤在预期和非预期的用户负载下,应用程序是否稳定?➤是否能确保用户在真正使用软件时获得积极的体验?通过回答以上问题,自动性能测试可以量化更改业务指标所产生的影响。进而可以说明部署的风险。有效的自动性能测试过程将有助于您做出更明智的发行决策,并防止系统出现故障和解决可用性问题。随着用户的软件质量意识的增强,用户对软件的性能需求也越来越多,越来越细致。这时不仅要让马儿跑,还要马儿能快能慢(软件系统的伸缩性),“路遥知马力”(软件系统在长时间运行下的稳定性)等。细数起来,如下:计算性能资源的利用和回收伸缩性稳定性。。。就是马儿要能跑,要有很快的速度,最好是“日行千里,夜行八百”。对软件系统来讲,计算性能是用户最关心的一个指标,即软件系统有多快。比如,用户会关注软件系统执行一个典型的业务需要花多少时间。我们要给出用户答案,我们的系统完成用户典型操作,比如业务的交易计算,数据的增、删、改、查时间是不是在用户可以接受的范围内。就是马儿吃草。软件系统的“草料”就是其依存的硬件和软件资源,硬件资源包括客户端硬件、服务器硬件和网络硬件;软件资源包括操作系统、中间件和数据库等。其中要特别说的是,运行软件系统需要使用到的服务器内存数量,对于整个系统的性能表现是至关重要的。如果CPU是个画家,那么内存就是他的工作台。工作台上放着画布(被操作的数据),还有各种画笔、刷子等各种工具(运行的程序)。如果工作台(内存)不能足够大,容纳不下绘画所使用的所有工具,那么画家就需要不时地去储藏室(硬盘等存储设备)里取所需的工具,这就会大大影响绘画的速度。因此,软件系统能否在运行时有效地使用和释放内存是我们考察软件性能的一个重要因素。马儿要能快能慢。伸缩性是分析系统性能经常被忽略的一个方面。比如一个系统在50个并发用户访问的时候表现正常,但是当并发用户达到1000的时候,系统表现如何?服务器的性能是逐渐下降呢,还是在某个拐点附近急剧下降呢?千里马能够“路遥知马力”,而黑马只能够一时跑得快。用户希望自己的软件系统是千里马,而不是黑马。比如友信互动平台系统基本上都是每天24小时运转,时时刻刻准备着为用户提供服务。如果它们在运行一段时间后出现了问题,不能响应用户的请求甚至破坏或丢失了数据,那么系统为用户带来的损失是巨大的。这种稳定性问题应该在软件系统上线之前就被考虑并得到解决。“快”、“好”这只是用户的主观体验,如果能让这些感觉和要求被其他人正确地理解(尤其是对软件人员),那么就需要用数据把上述用户的感受量化并表达出来,这就是性能指标。请求响应时间事务响应时间每秒事务数吞吐量页面点击率并发用户数资源使用率请求响应时间就是从客户端发出请求,即从点击了一个页面计时开始,到得到响应,即这个页面完全在浏览器里展现计时结束的这一段时间间隔。根据“管辖区域”不同,响应时间可以细分为:(1)服务器端响应时间,这个时间指的是服务器完成交易请求执行的时间,不包括客户端到服务器端的反应(请求和耗费在网络上的通信时间),这个服务器端响应时间可以度量服务器的处理能力。(2)网络响应时间,这是网络硬件传输交易请求和交易结果所耗费的时间。(3)客户端响应时间,这是客户端在构建请求和展现交易结果时所耗费的时间那么客户感受的响应时间其实是等于客户端响应时间+服务器端响应时间+网络响应时间。事务可能由一系列的请求组成,事务的响应时间主要针对用户而言,属于宏观上的概念,是为了向用户说明业务响应时间而提出的,例如转账业务的响应时间…每秒钟系统能够处理的交易或事务的数量,它是衡量系统处理能力的重要指标,TPS是Loadrunner中重要的性能参数指标一次性能测试过程中网络上传输的数据量的总和,吞吐量/传输时间,就是吞吐率从用户或业务角度看,吞吐率也可以用“请求数/秒”或“页面数/秒”等来衡量每秒钟用户向服务器提交的HTTP请求数,这个指标是系统应用特有的指标,系统应用时“请求-响应”模式,用户发出一次申请,服务器就要处理一次,所以“点击”是系统应用能够处理交易的最小单位。注:这里的点击不是指一次“单击”操作,因为在一次“单击”操作中,客户端可能向服务器发出多个HTTP请求在同一时刻与服务器进行交互的在线(非使用)用户数量是指对不同系统资源的使用程度,例如服务器的CPU的利用率、磁盘利用率等。资源利用率是分析系统性能指标进而改善性能的主要依据资源利用率主要针对服务器、操作系统、数据库服务器、网络等,是测试和分析瓶颈的主要参数测试需求测试方案测试计划测试场景/案例测试脚本测试数据测试环境监控计划/监控脚本/监控工具执行计划测试结果测试问题/缺陷记录包括风险的测试报告交付件交付件交付件测试评估和计划评估当前测试活动组建测试团队制定测试方案制定测试计划评审工作件测试设计设计测试场景/案例编写测试脚本准备测试数据搭建测试环境制定监控计划编写监控脚本/安装监控工具制定执行计划评审工作件测试执行和报告组织测试就绪评审性能测试*执行测试案例*记录问题/缺陷*记录结果报告并完成测试*收集/分析结果*编写测试报告评审工作件性能测试活动根据所需范围可能在生命周期中出现多次开始下一计划周期需求初步评审初步测试计划执行流程改进►软件开发生命周期阶段任务阶段任务阶段任务启动部署项目结束项目方案制定概要设计详细设计开发项目方案需求性能测试负载测试压力测试稳定性测试并发测试配置测试失效恢复测试技术定义举例性能测试-performancetesting–性能测试-F1赛车在正常条件下需要多少秒在正常条件下,测试应用在其所处可以从0加速到60里?的基础架构中运行情况负载测试-loadtesting–测试应用在负载测试–轿车可以托挂几吨的拖车?不会导地低载、高载及临界负载等情况下致其不能移动的最大拖挂吨位是多少的运行情况压力测试-stresstesting–测试应用压力测试–在水箱中仅有1加仑散热剂,且水在特定条件下处理大批量数据的能力。温在120度情况下,汽车能否以60英里的时速行驶2小时后,继续工况良好ReliabilityTesting是指加载一定的业务压力,同时让此压力持续运行一段时间,测试系统是否可以稳定运行.可以理解为压力测试关注的是过载压力,可靠性测试关注的是持续时间。ConcurrencyTesting是模拟用户并发访问同一应用的测试,用于发现并发问题诸如内存泄漏,线程锁,资源争用,数据库死锁。ConfigurationTesting验证各种配置对系统性能的影响,用于性能调优和规划能力.FailoverTesting针对有冗余备份和负载均衡的系统,检验系统局部故障时用户所受到的影响•MercuryInteractive(MI)公司(现在属于HP公司)开发的一套预测系统行为和性能的工业标准级负载测试工具。•通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,对整个系统结构实施监测。•能支持广泛的通讯协议,如HTTP,COM,CORBA,OracleApplication等。•支持最广泛的应用标准,如WEB,RTE,Tuxedo,SAP,Oracle,Sybase,Email,Winsock等,拥有近五十种虚拟用户类型。•界面友好,易于使用,通过图形化的操作方式使用户在最短的时间内掌握LoadRunner•内置众多的性能监控器,可监控网络,操作系统,数据库,应用服务器等常见的性能指标。•自动记录测试结果,自动分析产生各种分析图表,可以进行多角度分析。VirtualUsersGenerator——虚拟用户生成器LoadRunnerController——设计和运行场景Analysis——分析场景TuningConsole(LoadRunner8.0以上)—调优VirtualUsersGenerator——虚拟用户生成器通过录制应用程序中典型最终用户执行的操作来生成虚拟用户(Vuser)。VuGen将这些操作录制到自动虚拟用户脚本中,以便作为负载测试的基础。在一台或多台计算机上可以运行许多Vuser,利用这些Vuser模拟实际用户的行为,运行实际的应用程序。LoadRunnerController——设计和运行场景Controller是用来创建、管理和监控负载测试的中央控制台。建立VirtualUsers后,在Controller中设定加压模式,确定执行业务Vuser的数量和加载方法。LoadRunnerController提供一互动的设定环境,建立可重复运作的加压模式,并可以管理和驱动整个加压过程,实现自动化的测试过程。LoadRunner内含即时监测器,可在压力测试期间随时查看应用系统的运作效能。这些监测器可即时显示Transaction资料,如反应时间和其他后端系统组件性能包括APserver、Webserver、网络设备、database等。如此,便可在测试过程中同时从client端和server端双方面评估这些系统组件的运作效能,从而更快发现问题。Analysis——分析场景完成测试后,Loadrunner收集所有测试数据,Analysis提供了包含深入的性能分析信息的图表和报告,以便迅速找到性能问题并追溯其错误原因。TuningConsole(LoadRunner8.0以上)—调优系统分析,确定各种性能指标的预期,制定负载测试计划。利用虚拟用户生成器建立虚拟用户脚本。创建负载测试场景执行测试,同步监测应用性能分析测试结果录制期间,VuGen将监控应用程序的客户端,并跟踪服务器上用户接收和发送的所有请求。LoadRunner启动以后,在任务栏会有一个Agent进程,通过Agent进程,监视各种协议的Client与Server端的通讯,使用自带的一套C语言函数将录制下来的用户操作转化为脚本。播放期间,Vuser脚本通过执行对服务器API的调用直接与服务器通信。LoadRunner调用这些脚本向服务器端发出请求,并接收服务器的响应。至于服务器内部如何处理,它不关心。这样就可以在一个工作站上同时运行大量Vuser,并使您可以使用很少的测试计算机来模拟非常大的服务器负载。通常的测试执行,直接点击Start就可以了,但在Run中,也提供了一些功能,仍可以对执行进行灵活的控制。执行过程中,一个主要任务就是了解业务处理状况和系统资源使用状况。LoadRunner提供大量图表,可以实时监测显示业务的处理,响应状况和服务器资源的资源。对于资源的监控,LR支持大
本文标题:性能测试与loadrunner
链接地址:https://www.777doc.com/doc-4456846 .html