自动化软件测试工具WinRunner的运用_第1页
自动化软件测试工具WinRunner的运用_第2页
自动化软件测试工具WinRunner的运用_第3页
自动化软件测试工具WinRunner的运用_第4页
自动化软件测试工具WinRunner的运用_第5页
已阅读5页,还剩213页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件测试技术第五章软件自动化测试自动化软件测试工具 WinRunner的运用12本章要点软件自动化测试基础自动化测试工具主流自动化软件测试工具简介iolo Macro Magic简介WinRunner简介35.1 软件自动化测试基础自动化测试的产生自动化测试的定义自动化测试的优势4企业的问题在开发新的应用程序软件的激烈竞赛中,企业所面临的压力越来越大,一方面需要在更短时间内开发出更高质量的产品,另一方面为保证软件质量又必须安排相当的时间进行测试,即我们称之为“软件开发矛盾”的两难境地。过去,企业通常以质量为代价或推迟开发某些新功能,来满足产品的面市期限。如今,这些企业认识到:要想生存,就必须在

2、第一时间内既快又好地开发出应用程序。也就是说,开发团队中的每位成员都必须以保证产品质量为己任,因此,软件测试必须自动化。通过自己开发或购买合适的测试工具,以满足特定的测试需求,无论是软件的功能测试,还是性能测试,绝大多数测试工作都可以通过自动化测试工具来完成。5工具和自动化测试的产生用户对产品的要求质量用户希望软件产品能满足其业务的所有需求时间短期现实状况开发人员与测试人员的比例失调测试人员的技术水平不高6计算机执行测试测试的许多操作是重复性的、非智力创造性的,要求准确细致的工作。测试自动化目的着重于发现旧的软件故障;手工测试的目的在于发现新的软件故障;自动化测试大大减轻手工测试的工作量,从而

3、可提高软件质量。 提示:软件测试工具不能代替软件测试员它们只能帮助软件测试员更好地工作。7自动化测试的定义各种测试活动的管理与实施,包括测试脚本的开发与执行,均使用一种自动化测试工具来验证实际的测试结果是否满足测试的需求。8工具和自动化测试的优势速度:以手工方式每5秒执行一个Windows计算器的测试用例(用例总数可能为数千个),试想总的执行时间为多长?效率:自动化测试工具能够将测试员从繁复的测试用例执行过程解放出来,使其从事更有意义的工作(例如修订测试计划、增加测试用例等);9准确度和精确度:测试员在尝试几百个测试用例后,难免注意力分散。测试工具则可以保持前后一致地执行每一次测试;坚持不懈:

4、自动化测试工具永远不会因为疲惫而半途而废。工具和自动化测试的优势(续)10自动化的必要性回归测试每次当程序发生变更时,就需要进行回归测试;如果程序上次通过了回归测试,并且改动很小,看起来这次也应该通过;简单重复的单调的回归测试,无法调动测试员的兴趣,也似乎是浪费时间的罪魁祸首。有些测试过程无法由人工完成对底层通讯协议的测试、 对I/O性能的测试、对服务程序支持的并发交易量的测试、并发用户测试、大数据量测试、长时间运行可靠性测试等等,依靠手工无法完成;11自动化的可能性每次使用的测试用例集都相同;测试流程相对固定;通过编写一些测试脚本,可以实现自动化的软件系统生成(system build)、测

5、试用例运行、运行结果收集、运行结果处理和测试报告生成;12 必要性 可能性 必然性测试人员项目持续时间 测试人员100%50%0%完成比率代码实现消除缺陷质量问题延迟上市维护的费用1x 10 x 100 x 传统的测试13项目持续时间 100%50%0%完成比率消除缺陷消除缺陷保证软件质量缩短上市时间传统的测试改进14风险代码完成可靠性功能应用性能系统性能风险越早测试越好自动的测试 传统的测试是在代码实现之后进行 传统的测试1516 软件开发和测试不能既做运动员又作裁判员。第三方测试是不可缺的;软件测试工具和自动化与测试人员相比,显得前者更优秀。 17在ISO9000-3实施指南中的节有关于“

6、检验、测量实验设备的控制”的要求(原文是Control of inspection, measuring and test equipment)。应如何理解这一节的要求? 我们知道,在传统的制造业中计量设备、化验设备在生产过程中对质量控制是至关重要的。如果千分尺、天平、实验炉的温度计不准,它所引起的后果可想而知。因此必须规定对这些设备的控制、校准和维修的办法,并建立文件化程序。对于软件企业呢,这里应该指的是软件测试工具的控制。5.2 测试工具概述18、什么是软件测试工具?软件测试是软件开发的重要阶段,往往投入 成本的4060。 软件测试工具是一种测试软件,测试人员借 助它来提高软件测试工作的效

7、率。 目前国内软件企业采用软件测试工具还不够普遍。19 2、软件测试工具的分类 按工作方式分: 静态分析工具 动态测试工具 按工具功能分: 测试计划工具:支持制订测试计划 测试设计与开发工具:支持测试数据生成,测试问题的 捕捉与重演 测试执行工具:支持特定的测试方法、支持回归测试 测试评估工具:报告测试覆盖情况 测试管理工具:协助进行测试的组织工作 其它辅助工具:如数据比较、模拟运行20 3、如何控制 自行开发的测试工具待成熟才可投入使用采购产品的选择:优秀的、名牌的 使用前充分检测21白盒测试工具静态测试工具代码审查一致性检查错误检查接口分析输入输出规格说明分析检查数据流分析类型分析单元分析

8、复杂度分析22白盒测试工具动态测试工具功能确认与接口测试覆盖分析性能测试内存分析23黑盒测试工具功能测试工具检测程序是否达到预期的功能并正常运行。性能测试工具确定软件和系统的性能常用的黑盒测试工具有Rational公司的TeamTest、Compuware公司的QACenter(QARun、QALoad、Eco Tools、Eco Scope)测试工具详情24测试设计与开发工具测试设计:说明测试待测试软件特征或特征组合的方法,并确定选择相关测试用例的过程。工具类型:测试数据生成器(Parasoft C+ test)给予需求的测试设计工具捕获/回放覆盖分析25测试执行和评估工具测试执行和评估:执

9、行测试用例并对测试结构进行评估的过程;评估类工具对执行测试用例和评估测试结果起辅助作用。工具类型捕捉/回放覆盖分析存储器测试26测试管理工具测试管理工具:对测试进行管理,帮助制定完成测试计划,跟踪测试运行结果。通常管理工具对测试计划、测试用例、测试实施和缺陷跟踪进行管理。测试用例管理缺陷跟踪管理配置管理如:Rational公司的Test Manager MI 公司的Test Director 27 5.3 主流自动化软件测试工具简介 Rational Suite TestStudio Rational Suite Enterprise的系统测试工具组, 提供了针对可靠性测试, 功能测试, 分布

10、式功能测试, 单元测试和C/S的调用测试, 网页应用测试和ERP应用测试的自动化解决方案. 提供了一个同开发无缝集成的测试过程, 软件配置管理和测试管理方面的支持,提高了测试质量和最终的产品质量。28 包含以下工具:功能测试和回归测试工具Rational Robot针对WEB, ERP 和C/S 进行功能自动化测试的工具;执行完整的功能测试。记录和回放遍历应用程序的脚本,以及测试在查证点(verification points)处的对象状态。测试IDE下Visual Basic、Oracle Forms、Power Builder、HTML、Java开发的应用程序。甚至可测试用户界面上不可见对

11、象; 29可以识别和记录以及重复测试各种应用程序中的对象;跟踪, 报告和图形化测试进程的信息; 检测以及修改网站的各个元素的问题;在记录的时候检查和修改测试脚本;对于多重平台使用同样测试脚本;面向对象的工具,可以创建, 修改和实现自动化 Rational TestManager 和Rational SiteCheck包含于Rational Robot;执行完整的性能测试。Robot和Test Manager协作可以记录和回放脚本,这些脚本有助于你断定多客户系统在不同负载情况下是否能够按照用户定义标准运行。 30Rational Robot可开发三种测试脚本支持“GUI”方式脚本录制,专门用于录

12、制用户界面上的各种操作。非常适合于对GUI软件进行功能测试。 支持“VU”方式脚本录制(Session Script ),专用于录制应用程序间的各种通讯协议,比如Socket协议、ODBC协议、HTTP协议、IIOP协议等等。除了可以对涉及数据通讯的软件进行功能测试以外,显然更适合于各类软件的性能测试。VB脚本31VU和GUI脚本的异同 方面GUI脚本VU脚本并发性在一台计算机上同时只能执行一个GUI脚本。在一台计算机上同时可以执行多个VU脚本。语言包括对GUI对象的键盘敲击以及鼠标点击行为,脚本用SQA Basic语言写成。包括客户端发送到服务器的要求,脚本用VU语言写成。测试领域用于功能测

13、试和性能测试。通常用于加入用户负载的性能测试,例如:测试不同负载下服务器响应时间。查证点可以包括查证点,用于比较记录回放时捕获的信息。不支持查证点。执行既可在Robot中执行,也可以作为Test Manager Suite的一部分执行。作为Test Manager Suite的部分执行。32需求管理工具Rational RequisitePro.可靠性测试自动化测试工具Rational TestFactory.需求变更与缺陷管理系统Rational ClearQuest.测试管理工具Rational TestManager从一个独立的,全局的角度对于各种测试活动进行管理和控制. 提高团队生产力

14、;从测试计划、测试设计、测试实现、测试执行、 结果分析各个方面进行测试管理。33调用和功能测试Rational TeamTest提供了功能, 分布式功能, 衰减, 客户/服务器应用调用, 网页和ERP应用的自动化测试解决方案. 通过跟踪和测试管理可以降低团队开发和配置的风险.运行时分析Rational PurifyPlus对于开发期间的单元测试实现了自动化, 确保了可靠性, 高性能和高质量. 包括三个独立工具:Rational Purify定位内存泄漏和运行时错误Rational Quantify寻找性能瓶颈Rational PureCoverage表示了未测试代码和提供代码覆盖分析34Com

15、puware NuMega DevPartner Studio 白盒测试工具,主要是用于代码开发阶段,检查应用的可靠性和稳定性。它提供了先进的错误检查和调试解决方案,充分地改善生产力和开发团队的软件开发质量 ; 产品主要有自动错误检测、性能分析、代码覆盖分析等功能,分别用于捕获、定位错误,抽取代码执行频度,以及抽取代码覆盖率等数据,产品包括 :35 BoundsChecker 通过对被测应用程序的操作,提供清晰的、详细的程序错误分析,自动查明静态的堆栈错误及内存/资源泄漏,并能够迅速的定位出错的源代码,即使在没有源代码的情况下也可检查第三方组件的错误。错误检测范围主要包括指针和泄漏错误 、内存

16、错误 、API错误。 TrueCoverage 列出程序每次运行中所有函数被调用次数、所占比率等,并可以直接定位到源代码支持的语言C+, JAVA ,VB,主机平台NT, 95/98 36 TrueTime 提供程序每次运行中函数的调用时间,提供详细的应用程序和组件性能的分析,并自动定位到运行缓慢的代码。这样就能帮助程序员尽快地调整应用程序的性能;支持的语言C+, JAVA ,VB,主机平台NT, 95/98 SmartCheck 检测所有的Windows API函数调用、内存分配以及其它一些重要的程序错误 ,包括泄漏、接口方法失败、存储错误、程序和函数失败和Visual Basic的Runt

17、ime错误等; 支持的语言VB,主机平台NT, 95/98 :37 FailSafe 对程序插入额外的代码进行插装,当程序执行时,通过这些插装的代码捕获、记录执行时程序和系统的重要信息,直接指出错误发生时程序和系统的状态;支持的语言VB,主机平台NT, 95/98 CodeReview 最好的自动源代码分析工具,对应用程序的组件、逻辑、Windows和VB自身潜在的数百个问题进行严格地源代码检查; 支持的语言VB,主机平台NT, 95/9838 JCheck 功能强大的Java Applet或Application图形化的线程和事件分析工具,提供了一个生动的图形化的方法来表现程序的线程的状态信

18、息以及和Windows线程、同步对象、线程组等的交互作用信息,使开发人员能够直观地分析,确定runtime错误,对执行和逻辑错误进行分析,立刻发现线程问题如死锁、活锁、资源缺乏和系统失败,诊断线程同步和时间选择问题,分析程序执行流程;而后JCheck对于那些错误可以定位和显示详细的信息并能定位到源代码; 支持的语言MVJ,主机平台NT, 95/98 39Telelogic Logiscope简介40 嵌入式软件测试工具集。贯穿于软件开发、代码评审、单元/集成测试、系统测试、以及软件维护阶段,重点是帮助代码评审和动态覆盖测试; 采用基于国际间使用的度量方法(Halstead、McCabe等)的质

19、量模型,以及从多家公司收集的编程规则集,可以从软件的编程规则,静态特征和动态测试覆盖等多个方面,量化地定义质量模型,并检查、评估软件质量。Logiscope简介411.RuleChecker自定义的代码规则走查系统预定义了50 个的编程规则:名称约定(如:局部变量用小写等);表示约定(如:每行一条指令); 限制(如:不能用GOTO 语句,不能修改循环体中的计数器等)。用户可以规则中选择,也可以用脚本和编程语言定义新的规则。用于开发阶段对源代码进行验证 42 2.TestChecker动态测试模块 提供对指令块(IB)、判定路径(DDP)和调用路径(PPP)覆盖测试。此外对安全-关键软件还提供了

20、MC/DC 的覆盖测试。 第一个提供MC/DC(Modified Condition/Decision Coverage)测试的工具。 产生每个测试的测试覆盖信息和累计信息。用直方图显示覆盖比率,并根据测试运行情况实时在线更改。随时显示新的测试所反映的测试覆盖情况。 允许所有的测试运行依据其有效性进行管理。用户可以减少那些用于非回归测试的测试。 43TestChecker覆盖测试过程(交叉开发环境)44TestChecker与覆盖测试TestChecker & TcGateWay TcGateWay 接收插装后程序执行时传送的路径信息TestChecker 统计覆盖率并显示覆盖路径45 AMC

21、 CODETEST嵌入式软件在线测试与分析工具 硬件辅助软件的测试与分析工具 ;吸取了纯软件的测试工具采用的软件打点技术,并对这种技术进行了改善。纯软件测试在被测代码中插入一些函数(插桩函数),用这些函数来完成数据的生成,并上送数据到目标系统的共享内存中。同时在目标系统中运行一个预处理任务(Monitor),将处理后的数据通过目标机的网口或串口上送到主机平台,这些代码会对系统的运行效率有很大的影响(超过50%)。CodeTEST插入的是一条赋值语句, 它在汇编级也是一条语句,所以它执行的时间非常短,同时避免了被其它的中断所中断,所以它对目标系统的影响非常小(1%-15%); 46从纯硬件的测试

22、工具那里吸取了从总线捕获数据的技术并且对它进行了改善,CodeTEST不再是采样的方式,它是通过监视系统总线,当程序运行到插入的特殊的点的时候才会主动的到数据总线上把数据捕获回来,借此,在同样的处理能力下,CodeTEST可以做到精确的数据观察; 强大的性能分析:能同时对32000个函数和1000个任务进行性能分析,可以精确的得出每个函数或任务执行的最大时间、最小时间和平均时间,精确度达到50ns;能够精确的显示各函数或任务之间的调用情况,帮助发现系统瓶颈、优化系统和提升系统性能。47强大的覆盖率分析:可以在系统真实的环境下,从单元级、集成级、系统级以及产品终端现场阶段进行嵌入式软件的分析与测

23、试。帮助测试工程师掌握当前的测试覆盖率数据,指导测试用例的编写。 强大的内存分析:可以动态追踪内存分配,报告内存出错和相应的原始数据。不仅可以在程序运行时报告为每条语句分配多少字节的内存,而且可以鉴别20多种内存分配的错误。例如:CodeTEST可以捕捉“释放空指针(freeing a null pointer)”一样常见的程序错误,报告发生错误的函数和代码行,帮助尽早发现动态内存泄漏,而无需到系统崩溃时。48强大的代码跟踪分析:提供400K的追踪缓冲空间,能追踪150万行的源代码。可以设置触发器来追踪自己感兴趣的事件,可以显示运行过程中程序运行的实际情况,帮助查找程序的BUG所在。 49 C

24、odeTEST对软件分析测试功能的实现原理 50 ParaSoft系列工具 Insure+自动化内存检查及变异测试系统 当前最先进的自动运行时调试工具,使用源码加工专利技术,自动检测大多数C/C+错误,包括大量算法和运行时错误。在整个编程阶段使用能有效减少调试工作量。 实时显示内存的动态分配和释放过程,并提供多种形式的动画数据显示,帮助进一步发现内存使用上的问题,并真正掌握实际的内存操作模式,从而优化内存使用。针对C/C+应用的运行时错误自动检测工具,发现诸如内存破坏、内存泄漏、指针错误和I/O错误等大量问题。 彻底检查和测试代码,报告错误并指出其准确的位置。执行覆盖率分析,清楚地指出那些代码

25、已经被测试过;以及帮助内存优化,实时显示程序如何使用内存。 51 CodeWizard自定义的代码规则走查系统 自动执行编程标准,在第一时间或第一地点防止错误的发生。包含70多条编程标准,并允许扩充加入自己的编程标准。基于C/C+专家的编程经验的源码自动分析工具。52C+Test主机平台软件自动化单元测试系统自动化C/C+单元测试过程,支持嵌入式系统和设备驱动程序测试。自动建立测试执行程序和所有的调用代码以及测试用例。适用于任何开发生命周期。 自动测试任何C/C+类、函数或部件 自动测试代码构造(白盒测试) 自动测试代码的功能性(黑盒测试) 自动维护代码的完整性(回归测试)53.TEST代码分

26、析和动态测试 .TEST是专为.NET开发而推出的使用方便的自动化单元级测试与静态分析工具。使用超过200条的工业标准代码规则对所写代码自动执行静态分析。这些规则应用.NET工业专家深入、全面的编程知识到你的代码当中,迅速、彻底地防止错误的出现。自动测试代码构造与功能。 .TEST非常智能。能提取刚完成的代码,对其进行读取,并提出如何对这些代码进行单元测试,不需要任何的人为干涉。所有由.TEST产生的单元测试都是可以用户自定义的。通过自动衰减测试自动地维持代码完整性。可用于任何Microsoft .NET框架的语言,如:等 54VectorCAST嵌入式软件自动化单元级测试 美国Vector

27、Software, Inc ()产品,专门面向单元测试的工具,能够完全自动的完成测试的所有方面,能减少测试的时间、成本和麻烦。它主要有以下功能:环境构造器(Environment Generator) ,自动产生一个可执行的测试激励环境(或外壳程序的)的代码,包括必须的输入和输出驱动 测试用例产生器 (Test Case Generator) ,允许用户通过对提示的回答来产生测试用例 执行管理器(Execution Manager),全自动的控制测试用例的执行,并自动的实时捕获结果 在线测试报告产生器 (Test Report Generator) 55Jtest自动化的Java单元测试工具自

28、动设计和执行黑盒(功能性)、白盒(构造)和回归测试自动执行超过240条业界推荐的编程标准 自动建立测试驱动和桩调用即时测试编写的每一个类 提供可以增加用户定义的测试用例和桩调用的框架提供可以建立和执行定制编程标准的框架 跟踪项目指标的变化支持短周期开发过程 防止简单错误变成更复杂的问题 56代码覆盖率(Code Coverage)提供语句覆盖(Statement);判定覆盖(Decision);修正条件覆盖(Modified Condition/Decision)静态分析(Static Analysis Tools ) 提供McCabe 圈复杂度分析和基本路径分析。 575.4 iolo Ma

29、cro Magic简介 Macro Magic是 iolo technologies 出品的一个优秀的Windows宏记录管理软件;除了可象中的宏记录器那样简单地记录并重复用户所做操作之外,还向广大用户提供了许多额外的功能。可以夸张地说:“只要用户能够完成的任务,Macro Magic都可以完成”。58Macro录制和回放课堂演示:先录制一段宏(比如:用画图软件画一副画并保存),再回放该宏。宏(Macro)录制和回放是自动执行简单测试任务的流行方式,同时也是测试员学习如何使测试自动化的好起点。59可编程的宏可编程的宏是在简单录制和回放基础上的变革;此类宏可以通过从菜单中选择各操作的方式来编程-

30、甚至不必输入命令;可编程的宏可以解决录制宏的许多时序问题,不是依靠绝对延时,而是等待特定条件成立才继续执行。60Macro Magic如何定义宏作为一个宏记录软件,如何方便、快捷地定义一个新宏对于简化用户的操作来说是非常重要的。Macro Magic提供的三种宏记录方式:向导方式是最重要的宏定义方式,它可引导用户一步一步创建自己所需的宏,完成各种设置及管理操作,初级用户一般都以使用该方式为好;快速添加方式主要是在日常操作的同时快速定义宏,速度较快,但操作相应复杂一些,一般只适合高级用户使用;内存记录方式则是仅将用户的操作作为宏记录到内存中,以适合各种临时性工作。61以向导方式定义宏的步骤启动M

31、acro Magic, 右击Windows 系统托盘(即任务栏最右边显示系统时钟的区域)中的Macro Magic图标,并从弹出的快捷菜单“New Macro”子菜单中执行“Macro setup Wizard”命令,启动Macro Magic的宏定义向导功能;62以向导方式定义宏的步骤(cont.)Macro Magic首先将会询问用户是一步步创建新宏,还是记录鼠标、键盘的操作,或是直接启动某个应用程序或文档。用户可根据自己的需要加以选择,并在其后的对话框中输入新宏的名称;636465以向导方式定义宏的步骤(cont.)单击“下一步按钮,此时系统将会打开“Select Macro Trigg

32、ers对话框,要求用户对激活该宏的状态进行设置。我们可从“Manual选项卡中为其设置适当的快捷键,并为其在开始菜单、桌面、收藏夹等位置建立快捷方式以加快启动该宏的速度。6667以向导方式定义宏的步骤( cont.)另外,Macro Magic所定义的宏还具有自动运行功能,我们只需将某个应用程序窗口的启动、打开、运行、或最大化作为新定义宏的运行条件,此后只要系统一满足该条件,所定义的宏就会自动运行,从而进一步方便了用户的使用。为此,我们只需从“Select Macro Triggers对话框的“Automatic选项卡中加以设置即可。6869以向导方式定义宏的步骤( cont.)再次单击“下一

33、步按钮,打开Macro Magic的“Macro Builder窗口,然后我们就可以利用它的有关菜单命令及快捷按钮设置所需定义宏的具体内容了。如启动应用程序、拷贝删除文件等等,并可对所定义的宏进行编辑、复制、删除、调试等操作。7071以向导方式定义宏的步骤( cont.)执行“Macro Builder窗口“File菜单的“Save命令将新定义的宏保存下来,并利用“Exit命令退出“Macro Builder窗口。最后,Macro Magic宏记录向导还会要求用户选择新定义宏的运用范围,我们既可允许在所有的应用程序中使用该宏,又可限制只在某一个具体的应用程序中使用它,用户可根据自己的实际情况加

34、以选择。如果完成了为Macro Magic定义一个新宏的操作,此后只需右击系统托盘中的Macro Magic图标即可从弹出快捷菜单的Play Macro子菜单中发现我们所定义的宏,选择该宏后即可运行它所代表的一系列任务,从而简化了用户的操作。同时,当我们为某个宏设置了自动运行功能及相应的自动运行条件时,只要系统满足了该条件,该宏就也会自动运行,操作非常方便。72Macro Magic实验编写、调试一个Macro Magic的宏,使其能自动完成以下任务:启动windows计算器计算123-100的值提示用户验证结果得到用户确认后关闭计算器73Answer of exercise计算器 测试123

35、-100=74File “”:计算器 测试123-100=755.5 WinRunner简介Mercury Interactive企业测试和性能管理解决方案供应商;其自动测试软件和网络管理在线服务帮助客户提供和维护高性能的应用系统。测试套件WinRunnerLoadRunnerTestDirector提供整个测试流程的解决方案测试计划、测试开发;GUI负载测试、错误跟踪、多用户系统客户端负载测试76主要内容WinRunner介绍WinRunner如何识别GUI对象GUI MAP创建测试检查GUI对象 77WinRunner基于MS Windows的功能测试工具; 由于C/S结构的软件功能增加越

36、来越快,QA部门测试难度越来越大,手工测试已经跟不上这种发展趋势; WR可以帮助自动处理从测试开发到测试执行的整个过程。可以创建可修改和可复用的测试脚本,而不用担心软件功能模块的变更。78WinRunner的安装795.5.1 WinRunner使用概述 1.启动WinRunner 点击开始程序WinRunnerWinRunner 启动WR。WR的Record/Run Engine(记录/执行引擎)的图标出现在Windows的任务条上。这个引擎设立和维护WR和被测软件之间的连接。 第一次启动WR会看到欢迎窗口,可以选择新建测试、打开已有测试或快速预览WR。如果不希望下次启动看到这个窗口,可以把

37、Show on startup前面的勾去掉。 802.加载WinRunner 插件在WinRunner启动时,可以选择支持ActiveX control、PowerBuilder、VisualBasic或WebTest的插件。把Show on startup前面的勾去掉,这样AddIn Manager的窗口就不会在WR启动的时候出现。你也可以在进入WR后在SettingsGeneral OptionsEnviroment 里面设置是否在开始时显示这个窗口以及等待时间等。建议:不要同时载入所有的插件。 81主窗口主窗口包括以下部分: WinRunner title bar(标题栏)Menu ba

38、r (菜单栏) Standard toolbar (标准工具栏),包含运行测试时常用的命令 User toolbar (用户工具栏),包含创建测试时常用的命令 Status bar (状态栏) 82WinRunner主窗口83确认显示工具条844.测试窗口在测试窗口创建和执行测试,窗口包含以下部分: Test Window title bar(测试窗口标题栏),显示当前打开的测试名称 Test script (测试脚本), 通过录制或编写代码方式生成 Execution arrow (执行箭头),指明当前正在执行的那一行脚本,如果想要移动这个标志到某一行,只需要在该行左侧空白处点击鼠标左键 I

39、nsertion point (插入点),你可以插入或编辑文本的地方 8586记录Script1、先将光标移动到要插入Script的地方!2、启动要录制的Application3、按红色按钮开始录制4、停止录制87三种运行模式UpdateUpdate 模式用于更新Verfiy方式允许用到的各种Checkpoint比较的基准(Baseline) VerifyVerify模式指正式运行,执行测试DebugDebug模式用于调试。 以上三种运行模式的结果都会保存在Script保存的目录下88WinRunner测试过程 WR的测试过程分六个步骤: 创建GUI map(RapidTest Script

40、wizard) 创建测试 调试测试(Debug Mode) 执行测试 (Verify Mode)查看测试结果(Test Results) 报告发现的错误 895.5.2 WinRunner如何识别GUI对象GUI的每个对象都有一组被定义的属性来决定它的行为和外观。WinRunner通过学习这些属性来识别和定位GUI对象,而不需要知道对象的物理位置;WinRunner把从GUI map上学来的信息储存起来。当执行测试时,WinRunner使用GUI map定位对象:先从GUI map读取有关对象的描述,然后寻找有相同属性的对象;当GUI被修改了之后,先前的脚本仍然可以使用 用户只需要在GUI m

41、ap上添加、删除或编辑相关的对象的描述,WinRunner就可以在修改后的软件上找到这些对象。90GUI对象的逻辑名在测试脚本中,WinRunner不使用全部的物理描述来表示对象,而是给每个对象一个逻辑名。对象的逻辑名由它的类决定。多数情况下,逻辑名是对象的卷标:一个button的逻辑名就是它的卷标,如“OK”或“Cancel”;一个window的名称就是它标题栏上的文本;一个list的名称是list上方或旁边的文本。逻辑名和物理描述一起作用,确保每个GUI对象有自身唯一的标识。91GUI对象的物理描述WinRunner使用物理描述识别被测软件的GUI对象物理描述包括物理属性名和相应的值;这些

42、属性值的配对在GUI map中以下面的格式出现:属性1:值1,属性2:值2,property3:value3,.例如:对于“Open” window的描述包含两个属性:类(Class)和卷标(Label)。类的属性的值是“window”,卷标的属性的值是“Open”:class:window,label:Open类的属性标识对象的类型。每个对象根据功能不同属于不同的类:window, push button, list, radio button, menu等。92935.5.3 GUI map选择ToolsGUI Map Editor 可以查看GUI map的内容。GUI map实际上是一个

43、或多个GUI map文件的总和。在GUI Map Editor中,可以查看整个GUI map或单个GUI map文件的内容。GUI对象按照他们在软件中出现时所在的窗体分组。9495用GUI Spy查看GUI对象的属性GUI Spy可以用来检视某个GUI对象有哪些属性以及WR是以哪些属性来识别它的。过程:开启GUI Spy;按下spy按钮,将鼠标移动到登入窗口上,将鼠标移到OK按钮上,然后按下Ctrl_L+F3,在跳出的Spy模式里,可以看到显示OK按钮的属性。96检视GUI Spy显示的信息在Recorded标签,是显示WR用来识别OK按钮的属性,分别是class:push_button以及l

44、abel:Ok,表示这个GUI对象是个按钮,按钮上面的文字是OK;在All Standard标签,则是显示OK按钮的所有属性。可以看见WR只用最少的属性来识别GUI对象97设定窗体环境(Window Context)WR在对象出现的窗体环境中学习和实现操作。当录制脚本时,一旦当前窗体(Active window)改变而且有GUI对象被操作,WR会自动在测试脚本中插入一条set_window 语句。然后所有的对象就在那个窗体环境中被识别。例如: Set_window(“Print”,12); Button_press(“OK”); Set_window(“Print”,12)指明Print wi

45、ndow(打印窗口)是当前窗体。OK button是在这个窗体环境里学到的。 如果手工编写脚本,则需要写入set_window 语句以对应当前窗体的变化。同样在编辑脚本时注意不要随意删除必要的set_window 语句。 98教WinRunner学习被测软件的GUIWR需要先学习软件的GUI 当使用GUI Map File per Test mode时,WR会在录制脚本时自动学习软件的GUI。 当使用Global GUI Map File mode(共用GUI映射文件)时,需要教给WR有关GUI对象属性的信息。方式: 使用RapidTest Script wizard在录制脚本前一次性的学习每

46、个窗体中所有的GUI对象的属性;通过录制脚本的方法学习被录制的那部分软件中所有的GUI对象的属性,如果只使用录制的方法让WR学习对象,WR或许不能把窗体上所有的对象都学到(因为有对象没有被操作),学习得不全面 ;录制方式只用于小的或临时的测试。 使用GUI Map Editor学习单个GUI对象、窗体或某个窗体中所有GUI对象的属性 。注意:在GUI Map File per Test 模式下,RapidTest Script wizard将被禁用。 99GUI map file模式的选取计划和创建测试时,需要确定GUI map的工作模式。 作为WR新手或GUI map只使用一次,可以使用GU

47、I Map File Per Test模式。这种模式下,每次新建测试就自动新建一个GUI map file。在你保存测试时,GUI map file自动保存;在你打开测试时,GUI map file自动加载。 作为WR老手或GUI map将被不同测试共享,建议使用更有效率的Global GUI Map File模式。这是WR的默认模式。100两种模式的优缺点比较: GUI Map File Per Test Global GUI Map File 优点 1. 每个测试都有自带的GUI map file。 2. 使用方便,且避免忘记保存或加载GUI map file。 3. 作为单次测试,容易维

48、护和更新(就是重新录一次)。 1. 如果对象或窗体属性改变,只需要在GUI map file里把对应的属性修改。 2. 容易维护和更新(无需重新录制) 缺点 一旦软件GUI变更,每个测试的GUI map file都要重新录制。要记住保存和加载GUI map file。建议 如果你对WR没有经验或被测软件的GUI已经固定,可以采用这种模式。如果你是有经验的WR使用者或被测软件的GUI经常变化,最好使用这种模式。 1015.5.4 Global GUI Map File模式的使用 WR最有效率的用法是把测试分组。一组中的测试(任务)都测试同一窗体上的GUI对象。这样这些任务就可以共享GUI map

49、 file。当GUI发生变化,只需要修改一个GUI map file,就可以让同组中的任务都正常工作。 102RapidTest Script wizard的使用 1).选择CreateRapidTest Script Wizard,点击Next。 注意:当载入WebTest插件或其他某些插件后,RapidTest Script wizard将被禁用。 2).标识被测软件屏幕打开点击指向手(手型图标),然后点击被测软件。被测软件的窗体名称显示在Window Name框中。 3).选择测试屏幕打开4).选择希望WR创建的测试类型。当RapidTest Scipt Wizard在被测软件中走查结束

50、,选择的测试就会被显示在WR窗口中。 103RapidTest Script wizard的使用(续)5).消除所有设定(这里仅识别GUI对象)6).接受Navigation Controls默认值 此窗口主要告诉WR哪些GUI对象会开启一个新窗口,默认与。点击Next。 7).选择Express(快速)或Comprehensive(全面)学习流程。点击Learn。WR就开始系统地一个窗口一个窗口地学习被测软件。8).选择Yes或No来告诉WR你是否希望在你使用WR时,让WR自动启动这个被测软件。点击Next。 9).输入启动脚本和GUI map文件的保存路径和文件名,或使用默认值。点击Nex

51、t。 10410).输入测试文件的保存路径和文件名,或使用默认值。点击Next。 11).点击OK关闭RapidTest Script wizard。你刚才创建的测试被显示在WR窗口中。105可选择以下几种类型的测试: GUI Regression Test(界面回归测试)用来比较软件不同版本中的GUI对象。例如检查一个button是否被禁用。创建这种测试时,WR先捕捉GUI对象默认信息。在回归测试时,WR把当前信息和默认比较,并报告不符合的地方。 Bitmap Regression Test (位图回归测试)用来比较软件不同版本中的位图图片。如果被测软件没有GUI对象,则选择这种类型。创建这

52、种测试时,WR先捕捉被测软件每个窗体的一幅位图图片。在回归测试时,WR把当前图片和以前捕捉的比较,并报告不符合的地方。 User Interface Test(用户界面测试)这种测试决定被测软件是否符合Microsoft Windows标准。Test Template(测试模板)这种测试提供一个操作被测软件的自动测试的基本框架。它打开和关闭每个窗口,为你留下可以添加代码(手写或录制)的空间。 106User Interface Test(用户界面测试)检查: a). GUI对象在窗体中的排列 b). 所有被定义的文本(text)在GUI对象上可见 c). GUI对象上的卷标(Label)以大写

53、字母写 d). 每个卷标包含一个有下划线的字母 e). 每个窗口有一个OK button,一个Cancel button,和一个系统菜单 在这种测试中,WR搜索软件UI,把不符合Microsoft Windows标准的地方报告出来。 107保存GUI Map 1). 选择ToolsGUI Map Editor,打开编辑器。 2). 选择ViewGUI Files。 3). 确认文件显示在GUI File清单中。文件名前有一个星号(*),标识GUI map文件被改变了。当文件保存后,星号消失。 4). 在GUI Map Editor中,选择FileSave打开Save GUI File对话框。

54、5). 选择文件夹、文件名(或输入新文件名)。点击保存。被保存的GUI map文件被加载并显示在GUI Map Editor里。 108加载GUI Map文件 有两种方法加载GUI map文件: 用GUI_load功能 从GUI Map Editor中加载 1095.5.5 GUI Map File per Test模式 WR通过录制的方式学习被测软件的GUI。如果GUI发生变化,可以用GUI Map Editor更新每个测试的GUI map。无需加载或保存GUI map文件。 注意:如果你改变了对象的逻辑名,你必须更新脚本。 1105.5.6 创建测试用户可以用录制或编程的方式创建测试。通常

55、从录制一个基础测试脚本开始 用户对被测软件进行操作,TSL语言记录下这些操作;用户可以在脚本中修改、添加功能等。有两种可用的录制模式:Context Sensitive模式录制你对GUI对象的操作;Analog模式用X轴和Y轴定位跟踪鼠标运行轨迹。111Context Sensitive模式主要以GUI对象为基础,WR会识别使用者点选的GUI对象以及执行的操作;如在登入窗口按下OK按钮动作,则WR产生button_press(“OK”),执行这段TSL,WR会在应用程序上找寻OK按钮,然后按下它。112Analog模式WR主要录制鼠标移动的轨迹、鼠标的点选以及键盘的输入三种动作;如在登入窗口按

56、下OK按钮动作,则WR产生move_locator_track(1); 鼠标移动mtype(“-”); 按下鼠标左键mtype(“+”); 放开鼠标左键执行这段TSL,WR会控制鼠标移动,此鼠标移动的轨迹是以屏幕的绝对坐标为基准,所以当应用程序的位置或是使用接口变动,则测试脚本将会执行失败。113两种Recording测试的模式Context Sensitive(环境判断模式)Analog(模拟模式)应用程序只对GUI对象进行操作 应用程序不仅仅只对GUI对象进行操作,对位图敏感。如画图软件等Default mode 完全按照用户鼠标、键盘的移动来进行记录Recommended 使用Conte

57、xt Sensitive不能完成测试时。提示:假如测试的应用程序包含一般GUI对象,也包含绘图区域,在录制过程中,可随时切换录制模式114用户可以在脚本中为GUI、位图、文本和数据库添加检查点和同步点。检查点用于比较软件当前版本和以前版本的区别;同步点用来处理测试运行中可能发生的时间控制和窗体位置等问题。用户也可以创建数据驱动测试。测试将使用内部数据库来驱动。115创建测试脚本的主要步骤决定要测试的功能点。确定想在脚本中使用的检查点和同步点。 在测试属性对话框里把测试相关的信息文档化。 选择录制模式(Context Sensitive或Analog)并录制。 给测试分配一个名字并保存。 116

58、检查点 在脚本中可以插入以下四类检查点: GUI检查点,检验GUI对象信息。比如:可以查看一个button是否可用或一个清单中哪个项目被选定了。位图检查点,做一个窗体或区域的截图,并把这张图片和以前版本进行比较。文本检查点,读取GUI对象和位图中的文本,使你可以检验文本内容。数据库检查点,检查一定数量的行和列组成的集合(这个集合由你在数据库中创建)的内容。117同步点 同步点解决测试和被测软件之间的时间占用问题。例如:如果你创建一个打开数据库软件的测试,你可以插入一个同步点让测试等待直到在数据库中的记录在屏幕上被加载。 对于模拟测试,可以使用同步点让WR把一个窗体移动到特定位置。 118录制C

59、ontext Sensitive模式的测试脚本 录制测试的操作方法: 1).开启WR并加载GUI Map File;2).开启Flight Reservation并登入;3).开始以Context Sensitive模式录制测试脚本; 4).开启3号定单;5).停止录制;6).保存测试脚本为lesson3。 注意:WR是以目录的方式而不是单一文件的方式储存lesson3测试脚本,此目录将会包含测试脚本以及测试执行的结果。119录制测试的操作方法: 1).开启lesson3测试脚本,将光标移到最后一行;2).开始以Context Sensitive模式录制测试脚本; 3).开启 订单;Fax N

60、umber输入41555512344).勾选send signature with order;5).在Context Sensitive模式下录制签名动作;6).清除签名;7).将Fax Order窗口移动到其他位置;8).在Analog模式下录制签名动作;(F2或再按一次Record按钮进行切换)录制Analog模式的测试脚本 1209).切换回Context Sensitive模式并将订单 出去;10).停止录制; 11).保存测试脚本;12).记住保存新的GUI对象。前次Fax Order窗口的GUI对象并未被识别,当录制到Fax Order窗口上的操作时,会被识别到并先放到tempo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论