RFT软件功能自动化测试入门

上传人:平*** 文档编号:46215925 上传时间:2018-06-24 格式:PPT 页数:40 大小:1.13MB
返回 下载 相关 举报
RFT软件功能自动化测试入门_第1页
第1页 / 共40页
RFT软件功能自动化测试入门_第2页
第2页 / 共40页
RFT软件功能自动化测试入门_第3页
第3页 / 共40页
RFT软件功能自动化测试入门_第4页
第4页 / 共40页
RFT软件功能自动化测试入门_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《RFT软件功能自动化测试入门》由会员分享,可在线阅读,更多相关《RFT软件功能自动化测试入门(40页珍藏版)》请在金锄头文库上搜索。

1、RFT软件功能自动化测试培训广州卓业信息技术有限公司项目合作处Zerozhang 2013-4-8目 录RFT概述IBM Rational Functional Tester:(简称RFT)是Rational软件公司(现在Rational公司被IBM并购,是IBM 软件集团旗下之第五大软 件品牌)创造的一款先进的、自动化的功能和回归测试工具;操作平台(Eclipse):与IBM Rational整个测试生命周期软件完美集成,实现了一个平台统一整个软件开发团队的能力; 测试人员只要在开发人员工作的Eclipse环境中打开Functional Test透视图,就会马上拥有专业的自 动化功能测试工具

2、所拥有的全部功能;Rational Functional Tester 的基础:l针对于Java、.NET的对象技术和基于 Web 应用程序的录制、回放功能;Rational Functional Tester 脚本语言和开发环境:选择 Eclipse 框架中的 Java 或 Microsoft Visual Studio .NET 开发环境中的 Microsoft Visual Basic .NET。这意味着不论开发人员选择的是什么语言或平台,都应该能够将开发和自动测试整合在 一起,并利用开发工具的一些特点;基于Wizard的智能数据驱动的软件测试技术;提高测试脚本重用的ScriptAssu

3、rance技术;目前为 IBM 的专有技术,通过对用户界面细节的识别 阈值的定制,来实现了一种先进的查找最合理候选对象的匹配机制,使得脚本的维护工作不再囿于界 面的频繁改动,变得更加轻松。与其它生命周期管理软件的完美集成:lIBM Rational的自动化功能测试工具基于Eclipse平台,提供了和需求管理工具(RequisitePro)、 建模工具、代码级测试工具和变更及配置管理工具(ClearQuest和ClearCase)的完美集成,这使得 系统测试人员能够和整个软件开发团队在同一个软件平台上,实现系统功能测试,完成测试脚本的配 置管理和缺陷追踪。自动化测试自动化测试定义:把以人为驱动的

4、测试行为转化为机器执行的一种过程;与手工测试相比,测试自动化的优势:首先自动化测试可以提高测试效率,使测试人员更加专注于新 的测试模块的建立和开发,从而提高测试覆盖率;其次,自动化测试更便于测试资产的数字化管理, 使得测试资产在整个测试生命周期内可以得到复用,这个特点在功能测试和回归测试中尤其具有意义 ;此外,测试流程自动化管理可以使机构的测试活动开展更加过程化,这很符合CMMI过程改进的思想 ;实施自动化测试之前需要对软件开发过程进行分析,以观察其是否适合使用自动化测试,通常需要同 时满足以下条件: l1) 软件需求变动不频繁。 ;l2) 项目周期足够长。 ;l3) 自动化测试脚本可重复使用

5、。 通常适合于软件测试自动化的场合: l(1)回归测试,重复单一的数据录入或是击键等测试操作造成了不必要的时间浪费和人力浪费; l(2)此外测试人员对程序的理解和对设计文档的验证通常也要借助于测试自动化工具; l(3)采用自动化测试工具有利于测试报告文档的生成和版本的连贯性; l(4)自动化工具能够确定测试用例的覆盖路径,确定测试用例集对程序逻辑流程和控制流程的覆盖;自动化测试过程自动化测试过程:与软件开发过程从本质上来讲是一样的,利用自动化测试工具(相当于软件开发工 具),经过对测试需求的分析(软件过程中的需求分析),设计出自动化测试用例(软件过程中的需 求规格),从而搭建自动化测试的框架(

6、软件过程中的概要设计),设计与编写自动化脚本(详细设 计与编码),测试脚本的正确性,从而完成该套测试脚本(即主要功能为测试的应用软件)l1)自动化测试需求分析 测试需求说明书l2)测试计划确定自动化测试的范围以及相应的测试用例、测试数据,并形成详细的文档;l3)自动化测试框架的搭建确定自动化测试框架需要调用哪些文件、结构,调用的过程,以及文 件结构如何划分;l4) 测试用例设计编写测试用例或开发测试脚本;l5) 测试调试测试(针对自动化测试脚本);l6)评估评估测试结果并改进测试过程;自动化测试框架自动化测试框架:由一个或多个自动化测试基础模块、自动化测试管理模块、自动化测试统计模块 等组成的

7、工具集合。定义了在使用该套脚本时需要调用哪些文件、结构,调用的过程,以及文件结构 如何划分等;测试框架的典型要素:l公用的对象;不同的测试用例具有的一些可被重复使用的相同的对象;l公用的环境;独立封装可重复使用的测试环境;l公用的方法;经常重复使用独立编写的方法;l测试数据;多个测试数据放在一个独立的文件中由测试用例执行时读取到;自动化测试框架的其他定义:l一套自动化测试管理系统被称之为测试框架;l一个自动化测试工具被冠以关键字驱动框架之名;l一段程序也被声称其实现了数据驱动的框架;l自动化测试框架犹如盲人摸象中的那头大象一样,有人说它是一个软件,只不过它的功能是测试另外 一个软件,有人认为它

8、是一套流程和规范;l所谓“自动化测试框架”这个概念只是一个封装了很多东西的盒子,这个盒子的外观和形状对我们来说 无关紧要,我们最更关心怎样构建一个高效务实的自动化测试解决方案。STAF自动化测试框架Software Test Automation Framework (STAF) :一个开源的、跨平台、支持多语言的自动化测试框架,它是基于可重用的组件来构建的 ;基于 RFT 和 STAF 进行的无需人工干预的跨平台自动化回归测试;在拿到新版本的软件之后自动触发回归测试,自动记录执行结果 , 并且发送通知;自动触发回归测试定时检测服务器端的软件版本,一旦检测到服务器端已经上载完全的新版本的软件,

9、 就可以调用 STAF 的信号量服务来触发自动回归测试;自动发送测试结果在执行完回归测试的自动脚本并且将结果记入数据库之后,在将结果传回 STAF 服务 器的同时,还可以发送邮件将测试结果通知给相关人员;STAF测试流程图自动化测试流程图RFT功能自动化测试本质对象识别:从开发的角度看,lGUI 通常都是基于某一 GUI 开发库(SWT/SWING/AWT),这些库通常是按照面向对象的方式进行 建模的,它将每一个 GUI 元素映射成该库中某一个类的对象;从测试的角度看,l所有的 GUI 元素,无论基于何种 GUI 库,都被 RFT 映射成对象,RFT 提供一个对象模型框架管理 各种 GUI 元

10、素;验证点:在RFT中,验证点是脚本(Script)中非常重要的组成部分,它完成对被测试程序生成的实际数据和 期望数据的比较,并将比较结果写入日志。一般情况下,测试的结果是通过对验证点的执行而得到的 ;静态验证点(Static Verification Point)RFT功能自动化测试本质数据驱动:用一个数据文件把测试脚本驱动起来,来达到更接近用户化更智能的测试其目的是把测 试人员从维护复杂的脚本程序中解放出来,只需维护好数据文件即可,减少了很多修改脚本的麻烦; 关键字驱动:l1)界面元素名与测试内部对象名的分离;l2)测试描述与具体实现细节的分离;l3)脚本与数据的分离;RFT对象识别从开发

11、的角度看,lGUI 通常都是基于某一 GUI 开发库(SWT/SWING/AWT),这些库通常是按照面向对象的方式进行 建模的,它将每一个 GUI 元素映射成该库中某一个类的对象;从测试的角度看,l所有的 GUI 元素,无论基于何种 GUI 库,都被 RFT 映射成对象,RFT 提供一个对象模型框架管理 各种 GUI 元素;RFT 对象识别:基于 RFT 的自动化测试,都会采用 IBM 推荐的 ITCL 框架。在这个框架下,所有的 脚本被划分为三个层次:对象层,任务层,用例层。对象识别就是在 RFT 的对象模型框架下,得到 被测程序的 GUI 对象。它是对象层开发中最核心的任务。常用的 RFT

12、 的对象识别技术:l可以分为两大类:静态识别与动态识别。l动态和静态方法各有优缺点,l静态方法识别效率高、开发成本比较低,但是脚本的可维护性比较差;l而动态方法刚好相反;常用的对象识别技术:l可以识别出大部分的 GUI 元素,但有时也会遇到 RFT 无法识别的 GUI 元素,事实上识别这类用常用 对象识别技术无法识别的 GUI 元素占用了 RFT 脚本开发的大部分时间,不同的对象识别技术:lIWindow 接口用于识别 windows 标准控件;lInvoke 方法用于识别应用程序定制的 GUI 控件;RFT对象识别使用 RFT 经常听到的一个谬论就是 RFT 只能测试基于 java 的 GU

13、I 程序,对于 C/C+ 或者 windows 标准控件,RFT 无法识别。事实上,RFT 提供了 IWindow 接口用于识 别平台相关的控件;IWindow 接口介绍:IWindow 接口也继承自 IGraphical 接口,从这点看,IWindow 接口具有与 GuiTestObject 类似的功能。使用 IWindow 接口能够识别平台相关的 GUI 控件,但是其接口函数的具体实现与平台相关,windows 与 linux 上的实现就不一样;Invoke 方法介绍:在进行 GUI 自动化测试时,一个经常遇到的问题就是如何测试开发 者定制的控件?通常一组定制的控件,是作为一个整体被 RF

14、T 识别出来,可以对这个整 体作一些操作,但是如何识别出每一个具体的定制控件呢?可以使用 TestObject 类提 供的方法:Invoke 函数。Invoke 方法类似于 java 中的反射机制,它可以在运行时而不 是编译时调用函数。通俗地说,在 RFT 中,它可以根据字符串来调用相应的函数。这使 得不仅可以调用某些确定的方法(如 GuiTestObject 的方法),还可以主动查询定制控 件本身提供的方法,大大加强了对象识别能力。AutoIt 介绍 :AutoIt 是一种在 windows 平台上,针对 C/C+ 以及 windows 标准控 件的,免费、开源的自动化管理工具。AutoIt

15、 本身有一种非常简单的脚本语言,这种脚 本语言类于 Basic,并且其脚本可以直接转化为可执行程序且不依赖于任何库。事实上 ,AutoIt 的这些功能,RFT 提供的 IWindow 接口也能够完成,但 AutoIt 具有更高的效 率;验证点在RFT中,验证点是脚本(Script)中非常重要的组成部分,它完成对被测试程序生成的实际数据和 期望数据的比较,并将比较结果写入日志。一般情况下,测试的结果是通过对验证点的执行而得到的 ;静态验证点(Static Verification Point):l静态验证点是在录制(Record)RFT脚本的过程中通过向导插入的验证点,它在脚本回放( Playb

16、ack)的过程中自动被验证;以录制-回放(Record-Playback)模式使用RFT进行图形界面( GUI)的自动化回归测试(Regression Test),较常用的是静态验证点。手动验证点(Manual Verification Point):l如果验证点所要验证的内容是由脚本开发人员在脚本中所提供的,则需要建立手动验证点对其进行验 证。例如待验证数据来自外部数据源的情况,脚本开发人员需将数据读取后以参数的形式显式传给验 证点;非图形化界面存在的大量的用户自定义类型对象,这些被测试对象并不能在录制过程中被插入 对象映射表(ObjectMap)中,也就是不能使用静态验证点来进行验证,这就需要我们使用手动验证 点来比较它们。动态验证点(Dynamic Verification Point):l动态验证点用来处理普通验证点的期望值随着输入参数不同而发生变化的情况,可以再在验证点中使 用正则表达式或使用数据驱动的方法建立动态验证点。动态验证点是在脚本首次回

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号