天天看点

测试工具之 LoadRunner & WinRunner

业界知名的LoadRunner、WinRunner,TestDirector和QuickTestPro等自动化测试工具出自Mercury公司。Mercury是全球企业测试市场的绝对领导者。

我们来了解一下WinRunner 和 LoadRunner

下面就安装和使用上,我们一起来学习一下这两个工具。

1. WinRunner

Mercury WinRunner是行业标准的用于企业IT应用功能测试解决方案。它自动捕获、验证和重放用户的交互行为,因此您可以发现应用缺陷,确保业务流程按照设计正常工作。

各种规模的机构如今都面临着这样一个两难问题,即如何应对部署在不同平台上,需要在多种环境下工作的复杂应用展开有效的测试。此外,各企业正竭尽全力,利用有限的资源,去应付不断增加的如期完成高质量产品的压力。您又是如何确保您的关键业务应用的如期运行,并满足各项业务需求呢?

对此的回答是在应用部署之前进行功能和回归测试。Mercury WinRunner为您的机构提供一个强大的企业级的功能和回归测试工具。 WinRunner自动捕获、验证和重放用户的交互行为,确保应用部署后万无一失地展开业务流程,并保持其可靠性。WinRunner可以提供给您的机构以下几种优势:

• 通过自动执行重复任务,减少了测试时间。

• 通过在不同应用环境中使用同一测试工具,优化了测试进程。

• 在应用展开时,通过对测试脚本的修改和重复利用,最大化投资回报(ROI)。

1.1 WinRunner是如何工作的

WinRunner直观的记录流程可以帮助用户创建稳固的测试案例。WinRunner通过模拟用户行为,例如订购一件商品或打开卖方的一个帐户,来记录下一个典型的业务流程,从而创建一个测试。在记录过程中,您也可以直接编辑生成的脚本,以满足大多数复杂的测试需求。

接着,测试人员可以在测试脚本中加入检查点(Checkpoint),这些检查点可以在测试过程中比较预期值和实际值。WinRunner提供各种类型的检查点,包括GUI、位图和Web链接等。WinRunner可以标示出被更新、修改、删除和插入的记录,以验证数据库值,确保交易的准确性和数据库的完整性。

仅仅通过几下鼠标点击,WinRunner的数据驱动(Data Driven)向导就可以帮助您将所录制的业务流程转换成为以数据驱动为主导的测试案例,这些测试的执行能反映不同用户的唯一和实时的行为。为了进一步巩固测试,函数生成器(Function Generator)提供一种快速可靠的方法对测试进行规划,同时虚拟对象(Virtual Object)向导可以让您指导WinRunner去识别、记录和回放任何未知的或被定制的对象。

当WinRunner执行测试时,它自动操作应用,就如一个真实用户正在业务流程中进行每一步操作。如果测试执行中断了,或者QA工程师不在场, WinRunner的恢复管理器(Recovery Manager)和例外捕获机制将自动查找例外事件、错误和应用崩溃的起因,确保测试的顺利完成。

一旦测试被运行,WinRunner的互动报告工具将通过提供详尽易懂的报告,向您的工作小组解释测试结果,该报告列出了错误和错误的起因。 WinRunner能帮助机构建立可重复利用的测试,在整个应用生命周期中反复使用。所以,如果开发人员对应用做了修改的话,测试人员无需对多个测试案例进行修改。他们可以将修改内容置于一个与测试案例有关的中央信息存储-GUI映射(GUI Map)中,WinRunner将自动把修改内容传递到所有与之相关的脚本。

• 捕捉业务流程,生成测试脚本

• 添加合适的验证手段

• 让测试使用不同的数据

• 运行测试脚本,并检查实际值和期望值

• 应用发生变化时,重用和运行测试脚本

使用以上的流程,WinRunner可以模拟并捕捉用户行为,生成可被用于整个应用生命周期的测试脚本。

1.2 WinRunner 的安装

Step 1 下载一个 Alcohol 120% 软件

              什么是 Alcohol 120%     :兼具光盘烧录与虚拟光盘功能的软件,最大的特色是:可以破解防拷光盘、制作/烧录光盘映像档、CDR/DVD 烧录。

Step 2     运行./winrunner/winrunner8.2/m-mwrn82.cue 进行安装,或自动运行,在界面上进行安装。(第一次初学者推荐用自定义安装)

Step 3     注册码:9357-2820602186

Step 4     安装后,运行特别文件中的"m-mwr82.exe"注册一个文件

Step 5     使用注册文件

建议使用虚拟机安装(例如VMware5)

WinRunner8.2的下载地址

[url]http://lib.verycd.com/2005/09/18/0000065515.html[/url]

2. LoadRunner

Mercury LoadRunner 是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试。通过使用LoadRunner ,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。

       目前企业的网络应用环境都必须支持大量用户,网络体系架构中含各类应用环境且由不同供应商提供软件和硬件产品。难以预知的用户负载和愈来愈复杂的应用环境使公司时时担心会发生用户响应速度过慢,系统崩溃等问题。这些都不可避免地导致公司收益的损失。Mercury Interactive     的 LoadRunner 能让企业保护自己的收入来源,无需购置额外硬件而最大限度地利用现有的IT 资源,并确保终端用户在应用系统的各个环节中对其测试应用的质量,可靠性和可扩展性都有良好的评价。

       LoadRunner 是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。LoadRunner 的测试对象是整个企业的系统,它通过模拟实际用户的操作行为和实行实时性能监测,来帮助您更快的查找和发现问题。此外,LoadRunner 能支持广范的协议和技术,为您的特殊环境提供特殊的解决方案。

轻松创建虚拟用户

       使用LoadRunner 的Virtual User Generator,您能很简便地创立起系统负载。该引擎能够生成虚拟用户,以虚拟用户的方式模拟真实用户的业务操作行为。它先记录下业务流程(如下订单或机票预定),然后将其转化为测试脚本。利用虚拟用户,您可以在 Windows ,UNIX 或Linux 机器上同时产生成千上万个用户访问。所以LoadRunner能极大的减少负载测试所需的硬件和人力资源。另外,LoadRunner 的TurboLoad 专利技术能。

       提供很高的适应性。TurboLoad 使您可以产生每天几十万名在线用户和数以百万计的点击数的负载。

       用Virtual User Generator 建立测试脚本后,您可以对其进行参数化操作,这一操作能让您利用几套不同的实际发生数据来测试您的应用程序,从而反映出本系统的负载能力。以一个订单输入过程为例,参数化操作可将记录中的固定数据,如订单号和客户名称,由可变值来代替。在这些变量内随意输入可能的订单号和客户名,来匹配多个实际用户的操作行为。

       LoadRunner 通过它的Data Wizard 来自动实现其测试数据的参数化。Data Wizard 直接连于数据库服务器,从中您可以获取所需的数据(如定单号和用户名)并直接将其输入到测试脚本。这样避免了人工处理数据的需要,Data Wizard 为您节省了大量的时间。

       为了进一步确定您的Virtual user 能够模拟真实用户,您可利用LoadRunner 控制某些行为特性。例如,只需要点击一下鼠标,您就能轻易控制交易的数量,交易频率,用户的思考时间和连接速度等。

创建真实的负载

       Virtual users 建立起后,您需要设定您的负载方案,业务流程组合和虚拟用户数量。用LoadRunner 的 Controller,您能很快组织起多用户的测试方案。Controller 的Rendezvous 功能提供一个互动的环境,在其中您既能建立起持续且循环的负载,又能管理和驱动负载测试方案。

       而且,您可以利用它的日程计划服务来定义用户在什么时候访问系统以产生负载。这样,您就能将测试过程自动化。同样您还可以用 Controller 来限定您的负载方案,在这个方案中所有的用户同时执行一个动作---如登陆到一个库存应用程序----来模拟峰值负载的情况。另外,您还能监测系统架构中各个组件的性能---- 包括服务器,数据库,网络设备等----来帮助客户决定系统的配置。

       LoadRunner 通过它的AutoLoad 技术,为您提供更多的测试灵活性。使用AutoLoad ,您可以根据目前的用户人数事先设定测试目标,优化测试流程。例如,您的目标可以是确定您的应用系统承受的每秒点击数或每秒的交易量。

定位性能问题

       LoadRunner 内含集成的实时监测器,在负载测试过程的任何时候,您都可以观察到应用系统的运行性能。这些性能监测器为您实时显示交易性能数据(如响应时间)和其它系统组件包括application server, web server,网路设备和数据库等的实时性能。这样,您就可以在测试过程中从客户和服务器的双方面评估这些系统组件的运行性能,从而更快地发现问题。

       再者,利用LoadRunner 的ContentCheck TM ,您可以判断负载下的应用程序功能正常与否。 ContentCheck 在Virtual users 运行时,检测应用程序的网络数据包内容,从中确定是否有错误内容传送出去。它的实时浏览器帮助您从终端用户角度观察程序性能状况。

分析结果以精确定位问题所在

       一旦测试完毕后,LoadRunner 收集汇总所有的测试数据,并为您提供高级的分析和报告工具,以便迅速查找到性能问题并追溯原由。使用LoadRunner 的Web 交易细节监测器,您可以了解到将所有的图象、框架和文本下载到每一网页上所需的时间。例如,这个交易细节分析机制能

       够分析是否因为一个大尺寸的图形文件或是第三方的数据组件造成应用系统运行速度减慢。另外,Web 交易细节监测器分解用于客户端、网络和服务器上端到端的反应时间,便于确认问题,定位查找真正出错的组件。例如,您可以将网络延时进行分解,以判断DNS 解析时间,连接服务器或SSL 认证所花费的时间。通过使用LoadRunner 的分析工具,您能很快地查找到出错的位置和原因并作出相应的调整。

重复测试保证系统发布的高性能

       负载测试是一个重复过程。每次处理完一个出错情况,您都需要对您的应用程序在相同的方案下,再进行一次负载测试。以此检验您所做的修正是否改善了运行性能。

Enterprise Java Beans的测试

       LoadRunner 完全支持EJB 的负载测试。这些基于Java 的组件运行在应用服务器上,提供广泛的应用服务。通过测试这些组件,您可以在应用程序开发的早期就确认并解决可能产生的问题。

       利用LoadRunner, 您可以很方便地了解系统的性能。它的Controller 允许您重复执行与出错修改前相同的测试方案。它的基于HTML 的报告为您提供一个比较性能结果所需的基准,以此衡量在一段时间内,有多大程度的改进并确保应用成功。由于这些报告是基于HTML 的文本,您可以将其公布于您公司的内部网上,便于随时查阅。

最大化投资回报

       所有Mercury Interactive 的产品和服务都是集成设计的, 能完全相容地一起运作。由于它们具有相同的核心技术,来自于 LoadRunner和ActiveTest TM 的测试脚本,在Mercury Interactive 的负载测试服务项目中,可以被重复用于性能监测。借助Mercury Interactive的监测功能--Topaz TM 和ActiveWatch TM ,测试脚本可重复使用从而平衡投资收益。更重要的是,您能为测试的前期布署和生产系统的监测提供一个完整的应用性能管理解决方案。

支持无线应用协议

       随着无线设备数量和种类的增多,您的测试计划需要同时满足传统的基于浏览器的用户和无线互联网设备,如手机和PDA。 LoadRunner 支持2 项最广泛使用的协议:WAP和I-mode。此外,通过负载测试系统整体架构,LoadRunner 能让您只需要通过记录一次脚本,就可完全检测上述这些无线互联网系统。

支持Media Stream应用

       LoadRunner 还能支持Media Stream应用。为了保证终端用户得到良好的操作体验和高质量Media Stream,您需要检测您的Media Stream应用程序。使用LoadRunner ,您可以记录和重放任何流行的多媒体数据流格式来诊断系统的性能问题,查找原由,分析数据的质量。

完整的企业应用环境的支持。

       LoadRunner 支持广泛的协议,可以测试各种IT 基础架构。

2.2 LoadRunner 的安装

Step 1 下载一个 Alcohol 120% 软件

Step 2     运行./Loadrunner 8.0 (Web Site Load Test Tool - Good).iso 进行安装,或自动运行,在界面上进行安装。(推荐用自定义安装并且在安装前建立一个新的用户,也就是不要在Administrator用户上安装)

Step 3     安装完成后使用下面的注册码

100 clients

AEAMAUIK-YAFEKEKJJKEEA-BCJGI

10000 web clients

AEABEXFR-YTIEKEKJJMFKEKEKWBRAUNQJU-KBYGB

建议使用虚拟机安装(例如VMware5)

LoadRunner8.2的下载地址

[url]http://lib.verycd.com/2005/01/07/0000034096.html[/url]

Loadrunner总结:

1、weblogic需要预先配置,使用的时候,才不会宕机。

2、资源利用率VS负载,如果关系符合规律,可推断程序开发没有瓶颈,服务器配置没有瓶颈。

3、LR中,并发模式和在线模式,当Licence不足时才能选择并发模式,否则都要选择在线模式,以真实的模拟真实环境。此外,当一个终端连接几台服务器时,这个时候的测试,只能用并发的,不能用在线的。

4、问项目的问题:什么时候上线?提交测试,要质量保证还是时间保证?服务器是独立的还是共享的?

5、用户有两种,一种是实际用户(活的,喘气的),一种是系统用户(如批处理程序)

6、开发提交测试前,要问开发的问题:

    应用服务器能拷贝吗?如果不能,打回去;

    数据库能拷贝吗?如果不能,打回去;

    如果都能拷贝,那么当用户访问量增加时,当系统性能达不上去的时候,就买服务器,然后把应用服务器和数据库拷贝到新的服务器上就好了。

7、性能测试用例:场景名、操作步骤、动态的数据点、思考的时间、检查点。

8、在LR中,返回HTTP200错误,是正确的,被测试的系统没有错,这是lr的bug。

9、造数据,如果要造的数据关联到数据库中的多个表,可以用LR编个脚本,让它自己跑,把数据跑出来。在数据库中编程,不是件简单的事。

2.3 LoadRunner 的安装的一些问题

winxp安装完成后MI_Viewer的密码是什么?

在WindowsXP下安装的LR8.0,安装完成后重启机器,看不到原来的用户了,只有一个MI_Viewer,崩溃了,应该是安装的时候没有仔细看造成的吧?

难道我之前的用户被删除了吗?MI_Viewer这个用户的密码又是什么呢?

MIOrchid#1,使用这个密码可以进入系统。

当运行 winrunner,不能正常启动,怎么办?

这时候往往是虚拟机安装的问题.最好的办法就是配置好虚拟机然后卸载Winrunner, 再次安装.