性能测试工具loadrunner

导读  
如果你是正在学LoadRunner,或者已经精通LoadRunner,你也许会有这样的感觉:做性能测试我离不开LoadRunner了。是的,LR太棒了,不爱都不行。从现在开始,我们来走入LoadRunner的世界。

LoadRunner介绍  
LoadRunner是原Mercury公司是产品,2006年Mercury公司被HP收购。LoadRunner(以下简称LR)是一种高规模适应性的自动负载测试工具,它能预测系统行为,优化性能。LR强调强调是的对整个企业应用架构进行测试,它通过模拟实际用户的操作行为和实行实时性能监控,来帮助客户更快的确认和查找问题。LR能支持广泛的协议的技术,为客户的特殊环境,提供特殊的解决方案。

LR的特点:  
1、能很轻松地创建虚拟用户  
2、能创建真实的负载  
3、定位性能问题  
4、分析结果精确定位问题所在  
5、完整的企业应用环境支持

LR的结构:  
1、Virtual User Generator:虚拟用户生成器,简称VuGen,用来录制操作者的操作,建立虚拟用户脚本。  
2、Controller:压力控制器,整个压力测试的控制中心,用来管理,设计,驱动及监控压力测试场景。  
3、Load Generator:压力生成器,执行虚拟使用者脚本以产生虚拟用户,对被测系统发出请求和接收响应,模拟实际的负载。  
4、Analysis:结果分析器,通过测试结果的数据,用来分析压力测试结果。  
5、Launcher:提供一个集中的界面,启动LR所有模块。

LoadRunner的工作原理:  
LR的工作原理是通过用户执行被测程序的客户端,在VuGen中录制被测系统的客户端和服务器的协议交互,生成脚本,然后在Controller中控制Load Generator,按照一定的配置(又称为场景),模拟一定数量的用户,对服务器产生压力,同时对被测系统涉及的操作系统,数据库,中间件笔资源进行监控,收集压力情况下的资源信息,测试结束后形成测试结果和监控数据,在结果分析器中进行分析,最后生成测试结果报告。
  RL的功能非常强大,在下一篇中会讲到,插入事务,参数化技术,精确搜索数据和筛选特定数据等等。  做软件性能测试前的准备  做测试的都知道,做性能测试比做功能测试难许多,主要是因为性能涉及的范围太广,所考虑的不仅仅是软件本身,还要考虑到硬件,操作系统,网络和各种用到的服务器等等。在做性能测试是都要对这些进行监控,收集数据,光是工作量就比做功能大很多。功能主要关注的是软件系统能做什么,而性能测试关注更多的则是在一定条件下软件系统能做得多好。


想要做软件性能测试,首先你得搞懂几个概念性的术语。
  一、什么是软件性能  
  软件性能是软件的一种非功能特性,它关注的不是软件是否完成特定的功能,而是在完成该功能时展示出来的及时性。
  二、软件性能的指标  
  1、响应时间:
  是指系统对请求作出响应的时间。这里的响应时间只是一个很笼统的概念,其实响应时间是可以被进一步分解为系统响应时间和呈现时间。响应时间是衡量一个系统性能的重要指标,但需要说明的是,软件性能的高底实际上取决于用户对该响应时间的接受程度。  
  2、吞吐量:
  是指系统在单位时间内处理请求的数量。对无并发的应用系统而言,吞吐量与响应时间成严格的反比关系,此时吞吐量就是响应时间的倒数。  
  3、并发用户数:
  是指系统可以同时承载的正常使用系统功能的用户数量。与吞吐量相比,并发数量是一个更直观但也是更笼统的性能指标。  
  4、资源利用率:
  资源利用率反映的是在一段时间只资源平均占用的情况, 
  5、性能计数器:
  是描述服务器或操作系统性能的一些数据指标。例如,对Windows系统来说,使用内存数(Memory In Usage),进程时间(Total Process Time)等都是常见的计数器。  
  6、思考时间(think time):
  也被称为“休眠时间”,从业务的角度来说,这个时间指的是用户在进行操作时,每个请求之间的间隔时间。从自动化测试实现的角度来说,要真实地模拟用户操作,就必须在测试脚本中让各个操作之间等待一段时间,体现在脚本中,具体而言,就是在操作之间放置一个lr_think_time()的函数,使得脚本在执行两个操作之间等待一段时间。但在实际测试中,设置多长的think time才算最合理,不影响迭代次数、并发用户数和吞吐量,是值得我们思考的问题。  
  三、软件性能测试的分类  
  根据测试目的不同,可以把软件性能测试以及性能有关的其它一些测试分为以下几类。  
  1、性能测试
  这里的性能测试是一个狭义的概念,是指测试软件的性能是否符合需求中规定的性能。  
  2、并发测试  
  3、压力测试  
  4、可靠性测试  
  5、负载测试  
  6、配置测试  
  7、失效恢复测试  
  其他方面的准备  
  OK,到这里,我们就可以做测试前的准备了。了解项目背景,制定测试计划,参于人员有人数用各自的任务,测试范围和目标,测试模型,测试数据,系统信息,搭建测试环境等等,所有这些都准备好了,在下一篇,我以一个自己写的博客网为例用LR来现实其性能测试。

你可能感兴趣的:(测试技术)