Chinaunix首页 | 论坛 | 博客
  • 博客访问: 995114
  • 博文数量: 186
  • 博客积分: 10020
  • 博客等级: 上将
  • 技术积分: 1676
  • 用 户 组: 普通用户
  • 注册时间: 2006-08-14 17:08
文章存档

2011年(5)

2009年(11)

2008年(2)

2007年(111)

2006年(57)

我的朋友

分类: LINUX

2007-10-13 18:05:24

WinRunner:强大的企业级自动化测试工具

  Mercury Interactive公司的WinRunner是一种企业级的功能测试工具,用于检测应用程序是否能够达到预期的功能及正常运行。通过自动录制、检测和回放用户的应用操作,WinRunner能够有效地帮助测试人员对复杂的企业级应用的不同发布版进行测试,提高测试人员的工作效率和质量,确保跨平台的、复杂的企业级应用无故障发布及长期稳定运行。

  企业级应用可能包括Web应用系统,ERP系统,CRM系统等等。这些系统在发布之前,升级之后都要经过测试,确保所有功能都能正常运行,没有任何错误。如何有效地测试不断升级更新且不同环境的应用系统,是每个公司都会面临的问题。

  如果时间或资源有限,这个问题会更加棘手。人工测试的工作量太大,还要额外的时间来培训新的测试人员等等。为了确保那些复杂的企业级应用在不同环境下都能正常可靠地运行,你需要一个能简单操作的测试工具来自动完成应用程序的功能性测试。

  轻松创建测试

  用WinRuuner创建一个测试,只需点击鼠标和键盘,完成一个标准的业务操作流程,WinRunner自动记录你的操作并生成所需的脚本代码。这样,即使计算机技术知识有限的业务用户轻松创建完整的测试。你还可以直接修改测试脚本以满足各种复杂测试的需求。WinRunner提供这两种测试创建方式,满足测试团队中业务用户和专业技术人员的不同需求。

  插入检查点

  在记录一个测试的过程中,可以插入检查点,检查在某个时刻/状态下,应用程序是否运行正常。在插入检查点后,WinRunner会收集一套数据指标,在测试运行时对其一一验证。WinRunner提供几种不同类型的检查点,包括文本的、GUI、位图和数据库。例如,用一个位图检查点,你可以检查公司的图标是否出现于指定位置。

  检验数据

  除了创建并运行测试,WinRunner还能验证数据库的数值,从而确保业务交易的准确性。例如,在创建测试时,可以设定哪些数据库表和记录需要检测;在测试运行时,测试程序就会自动核对数据库内的实际数值和预期的数值。WinRunner自动显示检测结果,在有更新/删除/插入的记录上突出显示以引起注意。

  增强测试

  为了彻底全面地测试一个应用程序,需要使用不同类型的数据来测试。WinRunner的数据驱动向导( Data Driver Wizard)可以让你简单地点击几下鼠标,就可以把一个业务流程测试转化为数据驱动测试,从而反映多个用户各自独特且真实的行为。

  以一个订单输入的流程为例,你可能希望把订单号或客户名称作为可变栏,用多套数据进行测试。使用Data Driver Wizard,你可以选择订单号或客户名称用数据表格文件中的哪个栏目的数据替换。你可以把订单号或客户名称输入数据表格文件,或从其它表格和数据库中导入。数据驱动测试不仅节省了时间和资源,又提高了应用的测试覆盖率。

  WinRunner还可以通过Function Generator增加测试的功能。使用Function Generator可以从目录列表中选择一个功能增加到你的测试中以提高测试能力。例如,你可以选择”calendar”,然后从日历功能的下属目录中选择,如Calendar_select_date(),然后你可以直观地输入参数,把这个功能插入到你的测试中。

  针对相当数量的企业应用里非标准对象,WinRunner提供了Virtual Object Wizard来识别以前未知的对象。使用Virtual Object Wizard,你可以选择未知对象的类型,设定标识和命名。在录制使用该对象的测试时,WinRunner会自动对应它的名字,从而提高测试脚本的可读性和测试质量。

  运行测试

  创建好测试脚本,并插入检查点和必要的添加功能后,你就可以开始运行测试。运行测试时,WinRunner会自动操作应用程序,就象一个真实的用户根据业务流程执行着每一步的操作。测试运行过程中,如有网络消息窗口出现或其它意外事件出现,WinRunner也会根据预先的设定排除这些干扰。

  分析结果

  测试运行结束后,你需要分析测试结果。WinRunner通过交互式的报告工具来提供详尽的、易读的报告。报告中会列出测试中发现的错误内容、位置、检查点和其它重要事件,帮助你对测试结果进行分析。这些测试结果还可以通过Mercury Interactive的测试管理工具TestDirector来查阅。

  维护测试

  随着时间的推移,开发人员会对应用程序做进一步的修改,并需要增加另外的测试。使用WinRunner,你不必对程序的每一次改动都重新创建你的测试。WinRunner可以创建在整个应用程序生命周期内都可以重复使用的测试,从而大大地节省时间和资源,充分利用你的测试投资。

  每次记录测试时,WinRunner会自动创建一个GUI Map文件以保存应用对象。这些对象分层次组织,既可以总览所有的对象,也可以查询某个对象的详细信息。一般而言,对应用程序的任何改动都会影响到成百上千个测试。通过修改一个GUI Map文件而非无数个测试,WinRunner可以方便地实现测试重用。

  帮助你的应用程序为无线应用作准备

  随着无线设备种类和数量的增加,你的应用程序测试计划需要同时满足传统的基于浏览器的用户和无线浏览设备,如移动电话、传呼机和个人数字助理(PDA)。
无线应用协议是一种公开的、全球性的网络协议,用来支持标准数据格式化和无线设备信号的传输。
    使用WinRunner,测试人员可以利用微型浏览模拟器来记录业务流程操作,然后回放和检查这些业务流程功能的正确性。

工业标准级负载测试工具

  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 基础架构

全球测试管理系统

  TestDirector 是业界第一个基于Web的测试管理系统,它可以在您公司内部或外部进行全球范围内测试的管理。通过在一个整体的应用系统中集成了测试管理的各个部分,包括需求管理,测试计划,测试执行以及错误跟踪等功能,TestDirector极大地加速了测试过程。

  电子商务正影响着许多公司制定计划和建立自己的IT系统。很快,一个Web应用软件就能被创建,开发并立即展现在您的客户、供应商或合作伙伴的面前。然而,由于紧凑的开发计划和复杂的系统基构,Web应用软件的测试经常是被忽视的。为了与新经济同步, 您必须开发经过系统测试的高品质的网络应用软件。

  您需要设立一个中央点来管理测试过程。一套基于Web的测试管理系统提供了一个协同合作的环境和一个中央数据仓库。由于测试人员分布在各地,您需要一个集中的测试管理系统能让测试人员不管在何时何地都能参与整个测试过程。IT部门增长地会非常快,人员也会不断流动。您必须以最快的速度培训新的测试人员,教会他们所有与测试有关的知识技术。重点在于管理复杂的开发和测试过程,改善部门间的沟通,加速您测试的成功。

  TestDirector能消除组织机构间、地域间的障碍。它能让测试人员、开发人员或其它的IT人员通过一个中央数据仓库,在不同地方就能交互测试信息。TestDirector将测试过程流水化——从测试需求管理,到测试计划,测试日程安排,测试执行到出错后的错误跟踪——仅在一个基于浏览器的应用中便可完成,而不需要每个客户端都安装一套客户端程序。

  需求管理

  程序的需求驱动整个测试过程。TestDirector 的Web 界面简化了这些需求管理过程,以此您可以验证应用软件的每一个特性或功能是否正常。通过提供一个比较直观的机制将需求和测试用例、测试结果和报告的错误联系起来,从而确保能达到最高的测试覆盖率。

  一般有2 种方式可将需求和测试联系起来。其一,TestDirector 捕获并跟踪所有首次发生的的应用需求。您可以在这些需求基础上生成一份测试计划,并将测试计划(?)对应与您的需求。例如,您或许有25 个测试计划(?)可对应同一个应用需求。您一定能方便地管理需求和测试计划(?)之间可能存在的一种多配多的关系,确保每一个需求都经过测试。其二,由于Web 应用是不断更新和变化的,需求管理允许测试人员加减或修改需求,并确定目前的应用需求已拥有了一定的测试覆盖率。它们帮助决定一个应用软件的哪些部分需要测试,哪些测试需要开发,是否完成的应用软件满足了用户的要求。对于任何动态地改变Web 应用,必须审阅您的测试计划是否准确,确保其符合最当前的应用要求。

  计划测试

  测试计划的制定是测试过程中至关重要的环节。它为整个测试提供了一个结构框架。TestDirector的Test Plan Manager 在测试计划期尖,为测试小组提供一个关键要点和Web 界面来协调团队间的沟通。

  Test Plan Manager 指导测试人员如何将应用需求转化为具体的测试计划。这种直观的结构能帮助您定义如何测试您的应用软件,从而您能组织起明确的任务和责任。Test Plan Manager提供了多种方式来建立完整的测试计划。您可以从草图上建立一份计划,或根据您用Require-ments Manager所定义下的应用需求,通过Test Plan Wizard 快捷地生成一份测试计划。如果您已经将计划信息以文字处理文件形式,如Microsoft Word 方式储存,您可以再利用这些信息,并将它导入到Test Plan Manager。它把各种类型的测试汇总在一个可折叠式目录树内,您可以在一个目录下查询到所有的测试计划(?)。例如,你可以将人工和自动测试,如功能性的,还原和负载测试方案结合在同一位置。

  Test Plan Manager 还能进一步的帮助您完善测试设计和以文件形式描述每一个测试步骤,包括对每一项测试,用户反应的顺序,检查点和预期的结果TestDirector 还能为每一项测试连加附属文件,如Word ,Excel ,HTML ,用于更详尽的记录每次测试计划。

  Web 网络应用日新月异,您的应用需求也随之不断改变。您需要相应地更新您的测试计划,优化测试内容。即使频繁的更新,TestDirector 仍能简单地将应用需求与相关的测试对应起来。TestDirector 还可支持不同的测试方式来适应您公司特殊的测试流程。

  多数的测试项目需要一个有人工与自动测试的结合,包括健全,还原和系统测试。但即使符合自动测试要求的工具,在大部分情况下也需要人工的操作。启用一个演变性的而非革新性的自动化切换机制,能让测试人员决定哪些重复的人工测试可转变为自动脚本以提高测试速度。

  TestDirector 还能简化将人工测试切换到自动测试脚本的转化,并可立即启动测试设计过程。

 

阅读(1008) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~