性能测试工具介绍武汉软通测试组:胡婷婷www.fupoel.com一、性能测试的重要性•性能测试是软件测试过程中的重要组成部分,一个合格的软件除了完成需求中的功能之外,性能上的要求也逐渐变的重要。•如果在测试过程中发现性能问题,修复起来是非常艰难的,因为这常常意味着程序的算法不好,结构不好,或者设计有问题。因此在产品开发的开始阶段,就要考虑到软件的性能问题。二、性能测试准备工作•要测试什么或测试的对象是谁?•要测试什么问题或我们想要弄清楚或是论证的问题?•哪些因素会影响测试结果?•需要怎样的测试环境?•应该怎样进行测试?三、主要性能测试工具介绍•LoadRunner–LoadRunner是一种预测系统行为和性能的工业标准级负载测试工具。通过以模拟上千万用户实施并发负载及实时asdfghuj阿萨德法国户籍性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。Winrunner•WR可以帮助你自动处理从测试开发到测试执行的整个过程。你可以创建可修改和可复用的测试脚本,而不用担心软件功能模块的变更。•当你在软件操•RationalRobot•IBM公司提供的RationalRobot可开发三种测试脚本:用于功能测试的GUI脚本、用于性能测试的VU以及VB脚本。四、LoadRunner测试工具介绍1.制定负载测试计划•在任何类型的测试中,测试计划都是必要的步骤。测试计划是进行成功的负载测试的关键。任何类型的测试的第一步都是制定比较详细的测试计划。一个比较好的测试计划能够保证LoadRunner能够完成负载测试的目标。•分析应用程序•确定系统的组成画出系统的组成图。组成图要包括系统中所有的组件,以及相互之间是如何通讯的。•描述系统配置•对于一个项目,试着回答以下问题,对系统的组成图进行完善。1.预计有多少用户会连到系统2.客户机的配置情况(硬件、内存、操作系统、软件工具等)3.服务器使用什么类型的数据库以及服务器的配置情况4.客户机和服务器之间如何通讯5.还有什么组件会影响ResponseTime指标6.通讯装置(网卡、路由器等)的吞吐量是多少?每个通讯装置能够处理多少并发用户•分析最普遍的使用方法•了解该系统最常用的功能,确定哪些功能需要优先测试、什么角色使用该系统以及每个角色会有多少人、每个角色的地理分布情况等,从而预测负载的最高峰出现的情况。确定测试目标•根据我们的调查和分析确定我们要进行测试的目标。2.开发测试脚本•录制测试脚本注意事项:•1.只有选择合适的协议,才能录制出有用的脚本。•2.尽量在录制过程中加入事务,集合点以及注释。对于事务和集合点,应该给一个代表具体含义的名字•3.Action的内容要尽量简单,避免包含过多的操作。•录制步骤:•输入正确的url地址,对按钮option..的设置;•点击确定后,开始进行脚本的录制;•在录制过程中,我们可以根据需要增加多个Action,事务,集合点等对象,使得我们的脚本更加容易阅读;•录制完成后,LR会自动生成测试脚本。•为你的脚本取个名字并保存,一个简单的测试脚本就录制完成了。•RuntimeSettings•Runlogic:Numberofiterations•Thinktime:ignoreThinktime•Others:UseDefaults参数化输入•如果用户在录制脚本过程中,填写提交了一些数据,比如要增加数据库记录。这些操作都被记录到了脚本中。当多个虚拟用户运行脚本时,都会提交相同的记录,这样不符合实际的运行情况,而且有可能引起冲突。为了更加真实的模拟实际环境,需要各种各样的输入。•参数化输入是一种不错的方法。•用参数表示用户的脚本有两个优点:•①可以使脚本的长度变短。•②可以使用不同的数值来测试你的脚本。•参数化包含以下两项任务:•①在脚本中用参数取代常量值。•②设置参数的属性以及数据源。•参数化仅可以用于一个函数中的参量。你不能用参数表示非函数参数的字符串。参数化输入•DateTime:很简单,在需要输入日期/时间的地方,可以用DateTime类型来替代。其属性设置也很简单,选择一种格式即可。当然也可以定制格式。•GroupName:暂时不知道何处能用到,但设置比较简单。在实际运行中,LoadRunner使用该虚拟用户所在的VuserGroup来代替。但是在VuGen中运行时,GroupName...