首页 《软件测试技术及应用》实验指导书

《软件测试技术及应用》实验指导书

举报
开通vip

《软件测试技术及应用》实验指导书软件测试技术及应用 -基于IBM Rational Functional Tester 测试平台 (软件测试实验用指导书) 李 整 二零一一年九月 前 言 在IT业处于发展的初级阶段时,由于大多数软件比较简单,对其的测试工作也不复杂,往往是软件开发企业在开发完成后进行一下简单的检测就可以了。但在IT业发展到一个高级阶段后,系统越来越精密,而软件也越来越复杂,影响的范围也不断扩大。因此,这时期开发的软件就必须进行十分严格的测试。否则,不仅会引发企业销售收入下降和运营成本的增加,甚至给企业带来法律责任。而在金融、...

《软件测试技术及应用》实验指导书
软件测试技术及应用 -基于IBM Rational Functional Tester 测试平台 (软件测试实验用指导 关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf ) 李 整 二零一一年九月 前 言 在IT业处于发展的初级阶段时,由于大多数软件比较简单,对其的测试工作也不复杂,往往是软件开发企业在开发完成后进行一下简单的检测就可以了。但在IT业发展到一个高级阶段后,系统越来越精密,而软件也越来越复杂,影响的范围也不断扩大。因此,这时期开发的软件就必须进行十分严格的测试。否则,不仅会引发企业销售收入下降和运营成本的增加,甚至给企业带来法律责任。而在金融、电信这种系统趋于全国集中,风险波及面大,业务影响广泛的行业,其产生的后果更是不堪设想。专家指出,全面、严谨的测试和评估是降低企业IT系统风险的最佳实践,没有经过质量测试就上线运行的IT系统犹如一颗“定时炸弹”。 中国目前大多数的软件都是由软件开发企业自行进行质量测试的。总体而言,企业是重视开发而轻视测试。相关资料显示,国内测试所花的费用不超过整个项目投资的5%(这个数据如果包括硬件投入会更低,另外在一些行业低得可怜)。但在国外,一般测试环节所花的费用占项目比重非常高,达到30%左右。事实上,近年来许多软件的质量问题已引起人们的关注,有的在运行中出现问题甚至带来巨大影响。 为了顺应国际IT行业发展的潮流,越来越多的高校已经非常重视培养软件测试的人才,开设了相关课程。多数高校不仅在课程中讲解软件测试的理论,更注重软件测试工具的介绍。IBM公司的Rational Functional Tester功能测试平台是一款非常丰富的软件测试工具,但到目前为止,其参考资料均为英文,还没有一本系统的指导书供学习使用。本书结合IBM的相关软件测试理念,运用一个代 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 性的Java版本的软件产品,对RFT软件测试工具的使用进行详细讲解,主要供软件测试课程的学生使用。 第一章概述了软件测试的发展历程及软件测试自动化的优势和基本知识;第二章主要讲解IBM Rational Functional Tester工具的各部分功能;第三章使用Classic CD应用程序作为案例,进行各方面的测试工作,以深刻理解和掌握RFT工具。 因时间仓促,书中若有不妥之处,欢迎读者提出宝贵意见。 目 录 1第一章 概 述 11.1 软件测试的发展 21.2 软件测试自动化 21.2.1 自动化测试的优势 31.2.2 涉及的基本知识介绍 5第二章 IBM Rational Functional Tester简介 52.1 概述 52.1.1 IBM RFT的类层次结构 62.1.2 IBM RFT脚本 62.2 IBM RFT的功能和界面 62.2.1 主要功能 72.2.2 主要组件 10第三章 实验案例 123.1 启用IBM RFT 123.1.1 查看Rational Functional Tester 的功能视图 133.1.2 熟悉脚本的录制和回放 183.2 录制脚本 183.2.1 创建数据验证点 223.2.2 创建属性验证点 243.2.3 创建属性验证点 263.2.4 在脚本中插入定时器 283.2.5 将 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 插入活动的Functional Test脚本 293.3 回放脚本并查看结果 293.3.1 回放脚本、查看结果 303.3.2 查看特定的日志 313.3.3 从包含一个验证点的脚本查看回结果 323.3.4 使用验证点比较 333.3.5 在脚本中插入断点 353.3.6 设置Functional Tester首选项 373.4 扩展脚本 373.4.1 创建消息框 393.4.2 覆盖首选项设置 413.4.3 处理一个意外的活动窗口 433.4.4 创建一个Java帮助类,并把意外活动窗口代码放进去 473.5 使用测试对象映射 473.5.1 显示测试对象映像 483.5.2 创建并使用一共享对象映射 513.5.3 修改测试对象映射 533.6 管理对象的识别 533.6.1 设置识别评分阈值 553.6.2 设置基础模式识别 563.7 数据驱动测试 563.7.1 在Functional Tester中创建数据驱动 603.7.2 导入数据池 663.7.3 导出数据池 72参考文献 第一章 概 述 软件工程诞生于1968年,是北大西洋公约组织(North Atlantic Treaty Organization, NATO)在讨论应对“软件危机”的对策的过程中提出的一个概念,意图通过工程化的生产方式使软件走上工业化道路,从而解决“软件危机”所带来的“危害”。而软件测试贯穿于软件项目的整个过程,是软件质量保证的重要手段。软件测试通过在软件项目各个阶段进行的不同目的及内容的测试活动,来保证各个阶段的正确性。对整个软件工程来说,软件测试在保证产品质量、科学控制成本、保证软件可靠性、提高企业竞争力等方面都有着十分重要的作用。[1] 本章介绍软件测试的发展,包括软件测试如何一步步走向自动化测试的过程,以及自动化测试的基本概念等。读者可从中了解软件测试的重要性、手工测试和自动化测试的比较、自动化测试中需要注意的问题等。 1.1 软件测试的发展 软件测试是伴随着软件的产生而产生的。早期的软件开发过程中,软件规模都很小、复杂程度低,软件开发的过程混乱无序、相当随意,测试的含义比较狭窄,开发人员将测试等同于“调试”,目的是纠正软件中已经知道的故障,常常由开发人员自己完成这部分的工作。对测试的投入极少,测试介入也晚,常常是等到形成代码,产品已经基本完成时才进行测试。 到了上世纪80年代初期,软件和IT行业进入了大发展,软件趋向大型化、高复杂度,软件的质量越来越重要。这个时候,一些软件测试的基础理论和实用技术开始形成,并且人们为软件开发设计了各种 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 和管理方法,软件开发的方式也逐渐由混乱无序的开发过程过渡到结构化的开发过程,以结构化分析与设计、结构化评审、结构化程序设计以及结构化测试为特征。人们还将“质量”的概念融入其中,软件测试定义发生了改变,测试不单纯是一个发现错误的过程,而且将测试作为软件质量保证(SQA)的主要职能,包含软件质量评价的内容,Bill Hetzel在《软件测试完全指南》(Complete Guide of Software Testing)一书中指出:“测试是以评价一个程序或者系统属性为目标的任何一种活动。测试是对软件质量的度量。”这个定义至今仍被引用。 软件测试已有了行业标准(IEEE/ANSI ),1983年IEEE提出的软件工程术语中给软件测试下的定义是:“使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别”。这个定义明确指出:软件测试的目的是为了检验软件系统是否满足需求。它再也不是一个一次性的,而且只是开发后期的活动,而是与整个开发流程融合成一体。软件测试已成为一个专业,需要运用专门的方法和手段,需要专门人才和专家来承担。 进入上世纪90年代,软件行业开始迅猛发展,软件的规模变的非常大,在一些大型软件开发过程中,测试活动需要花费大量的时间和成本,而当时测试的手段几乎完全都是手工测试,测试的效率非常低;并且随着软件复杂度的提高,出现了很多通过手工方式无法完成测试的情况,尽管在一些大型软件的开发过程中,人们尝试编写了一些小程序来辅助测试,但是这还是不能满足大多数软件项目的统一需要。于是,很多测试实践者开始尝试开发商业的测试工具来支持测试,辅助测试人员完成某一类型或某一领域内的测试工作,而测试工具逐渐盛行起来。人们普遍意识到,工具不仅仅是有用的,而且要对今天的软件系统进行充分的测试,工具是必不可少的。测试工具可以进行部分的测试设计、实现、执行和比较的工作。通过运用测试工具,可以达到提高测试效率的目的。测试工具的发展,大大提高了软件测试的自动化程度,让测试人员从繁琐和重复的测试活动中解脱出来,专心从事有意义的测试设计等活动。采用自动比较技术,还可以自动完成测试用例执行结果的判断,从而避免人工比对存在的疏漏问题。设计良好的自动化测试,在某些情况下可以实现“夜间测试” 和“无人测试”。在大多数情况下,软件测试自动化可以减少开支,增加有限时间内可执行的测试,在执行相同数量测试时节约测试时间。 而测试工具的选择和推广也越来越受到重视。 在软件测试工具平台方面,商业化的软件测试工具已经很多,如捕获/回放工具、Web测试工具、性能测试工具、测试管理工具、代码测试工具等等。这些都有严格的版权限制且价格较为昂贵,无法自由使用。当然,一些软件测试工具开发商对于某些测试工具提供了Beta测试版本以供用户有限次数使用。幸运的是,在开放源码社区中也出现了许多软件测试工具,已得到广泛应用且相当成熟和完善。[2] 1.2 软件测试自动化 1.2.1 自动化测试的优势 通常,软件测试的工作量都很大(占软件总开发时间的40%-60%),并且有相当一部分测试工作都适合使用工具完成。因此,在软件产品的质量要求越来越高的今天,软件测试的自动化逐步被软件开发人员认可和青睐。那么,使用自动化测试工具都有哪些好处呢? 1. 节约时间,提高工作效率 由于测试工作繁琐且需要保证测试质量,测试人员就不得不花费较多的时间进行测试的前期计划和测试用例的设计工作。而使用测试工具进行自动化测试,无疑会节省测试人员的时间,在测试的实施中不用过多的人工干预,从而提高工作效率,这成为一个明显的优势。 2. 易于进行回归测试 新版本的程序发布之后,往往需要进行之前已有的测试,这叫作回归测试。一些软件产品的研发中,新版本往往与旧的版本在功能、界面上非常相似甚至完全相同,若对这部分使用自动化测试,就会轻松达到测试每个功能的目的。由于新版本经过了频繁的修改,进行回归测试再合适不过。此时,使用自动化测试工具,对之前已经运行过的测试重新执行,便会高效地完成回归测试。 3. 可以进行一些手工测试难以完成或不可能完成的测试 在软件测试中,有些非功能方面的测试,如压力测试、并发测试、回归性测试、大数据量测试,用人来测试是不可能实现的。例如,对于淘宝网站进行1600个用户同时在线的测试,用手工进行并发操作的测试几乎是不可能的,但是用自动化测试工具就可以模拟来自1600个用户的同时登录。另外,测试工具还可以发现一些手工测试不可能发现的问题,如内存方面的问题等。 4. 测试具有一致性和可重复性 软件被修改发生微小变化时,手工测试是难以发现的。而使用自动化测试工具进行测试时,由于每次回归测试的脚本是完全相同的,因此每次测试的过程是完全一致的,不会漏掉软件中任何小的修改,这是手工测试不可能做到的。 当然,自动化测试的优势远远不止这些,可以通过参考书查阅,在长期的测试工作过程中深刻体会。 1.2.2 涉及的基本知识介绍 在自动化测试的工具和技术应用中,读者需要掌握的基本知识或本书后续章节会用到的基本概念如下: 1.对象的有效拆分 软件开发的任务是将多个独立对象进行组合,形成一套客户端程序。而测试则是将整个程序拆分成一个个的对象,检测某个或某些对象属性是否符合测试需求,如某textBox的文本内容是否与预期相同。测试时拆分的原则是,分解程序中不同类型的对象,或根据测试路径筛选测试对象。 2.测试的智能化处理 软件测试过程中,对产品的不同版本有些对象的变化我们并不想过多关心,如某个按钮的各属性在新旧版本之间发生了变化,但按钮的大小变化一般不是我们感兴趣的内容,此时便可以采用模糊识别。那么,到底如何处理对象的各个属性感兴趣的程度呢?可以将不同权重赋予对象的不同属性。按钮的文本我们关心,可以将权重设置大一点,按钮的大小不关心,可以将权重设置小一点,最后算出总的分数,如大于某个阈值,则认为测试通过,否则测试失败。 3.ClassicsCD应用程序 Classics Inc.是一个发展迅速的连锁店,出售经典的音乐、电影和书籍等,到2005年为止在全国开有127家连锁店。为了帮助管理ClassicsCD产品的销售情况和存货,设计了ClassicsCD应用程序,其使用者为商店的经理和店员。为了保证成功订货,需要测试ClassicsCD。订货的关键数据有订购数量、信用卡号、信用卡类型和有效期等。职员典型的操作顺序是启动ClassicsCD应用程序->选择货物->登录到顾客账户->完成数据输入->订购成功。实验步骤参见实验3.0。 4. 脚本录制和回放过程 设定测试环境->设定录制选项->启动录制->执行用户动作->插入验证点->结束录制->复位环境->设定回放选项->回放脚本->查看分析结果。 5. 验证点 在设计测试时,一个重要的因素就是决定何时以及如何确认应用程序符合预期,这就需要在环境中设计验证点。验证点是一个脚本中创建的某一个要点,用于在运行过程中确定待测应用的状态,而不再需要通过视觉判断程序是否通过测试,代之以自动测试。可以说,若没有验证点就不叫测试。一般把以下对象作为数据验证点:下拉列表、菜单分级结构、 表格 关于规范使用各类表格的通知入职表格免费下载关于主播时间做一个表格详细英语字母大小写表格下载简历表格模板下载 、文本、树结构、状态等。 6. 脚本支持命令 是在脚本录制过程中可以随时添加的一些辅助工程,操作方便。包括调用脚本、日志录入、记时器、休眠、注释、剪贴板等。详见实验3.2.4等。 除此之外,还有一些相关概念,在实验过程中逐步理解,这里不一一赘述。 第二章 IBM Rational Functional Tester简介 2.1 概述 Rational Functional Tester(以下简称RFT)是一个面向对象的、自动测试工具,它使您能够测试各种应用程序。通过录制一个应用程序的测试您可以很快产生测试脚本,您还可以测试这个应用程序之中的任何对象,包括这个对象的属性和数据。RFT可以给您提供一个编写脚本语言的机会和两种开发环境:Eclipse 框架中的 Java™或者 Microsoft™ Visual Studio™开发系统中的 Microsoft™ Visual Basic™ .NET。这意味着,无论您开发小组的成员使用什么样的语言或者平台,您都应该能够将它们与 Rational Functional Tester 集成起来,并且您在开发自动化测试的时候能够利用它们的一些功能。 2.1.1 IBM RFT的类层次结构 如果你使用的是Rational Functional Tester Java scripting,那么测试脚本是使用 Java 语言进行编写的。一个 Functional Tester 的测试脚本存在于一个类的层次结构中,并从相应的父类继承而来。下面的图显示了这个类的层次级别和每一个特定的级别所提供的功能。 图2-1 Functional Tester的类层次结构 • Rational TestScript类 :提供了基础的功能,它是所有Functional Tester测试脚本的根层次。每一个测试脚本都从这个类扩展而来,例如,你能够重载缺省的事件处理器(event handler)来提供你自己的应用程序特定的事件处理器。 • helper super 类: (可选的)提供了对基础级别方法的重载的支持。 • script helper 类: 提供了为访问测试对象和验证点特定的脚本方法。这些特定脚本的方法简化了脚本命令并改进了Functional Tester 脚本的可读性。但是你不应该去编辑 script helper 类。 • Functional Tester script类:包含了被录制的或者脚本化的命令,这些命令构成了一个特定的功能测试。你能够通过与Functional Tester项目相关联的模板文件定制 Functional Tester script 类和 script helper 类的格式。 2.1.2 IBM RFT脚本 一个 Functional Tester 脚本是一个由 Java 语句组成的文本文件,它是由Functional Tester 在录制脚本过程中生成的,并且可以向其中手工添加语句。当测试脚本被回放时,Functional Tester 通过执行脚本中的语句来重现功能测试的动作。 一个Functional Tester 脚本包括四个主要的语句分类: · 由RationalTestScript 继承的方法,比如,startApp() 和logTestResult()。 · 在测试对象上调用的方法,比如Click()或者 Drag()。 · 执行验证点的语句。 · 任何你需要的但没有被Functional Tester 生成的 Java 代码。 如果你没有手工修改脚本,在 Functional Tester脚本中的第一条语句应该 startApp()语句。例如: public void testMain (Object[] args) { startApp("ClassicsJavaA"); .... } startApp()方法的参数是你要启动的应用程序的名字。 因为Functional Tester脚本应该能够在不同的计算机和操作系统下被执行的,因此Functional Tester 将应用的启动信息存储在一个配置文件中,而不是脚本中。 2.2 IBM RFT的功能和界面 2.2.1 主要功能 1. 回放更新的应用程序脚本 ScriptAssure 特性是 Rational Functional Tester 的对象识别技术,可以使您成功地回放脚本,甚至在您的被测应用程序已经更新的时候。您可以为测试对象必须通过的、用来作为识别候选的识别记分设置门槛,并且如果 Rational Functional Tester 接受了一个分值高于指定门槛的候选,您还可以向日志文件中写入警告。 2. 更新对象的识别属性 在测试对象地图中,您可以对所选的测试对象更新识别到的属性。Rational Functional Tester 显示了 Update Recognition Properties 页,其显示出更新的测试对象属性、原始的识别属性和对象所有的识别属性。如果必要,您可以修改更新的识别属性。 3. 合并多个测试对象地图 对象地图要么是共享的要么是专用的。专用地图附属于一个脚本并只由具体的脚本进行访问,反之,共享的地图由多个脚本共享。共享地图的优势是,当需要更新对象时,只有对应一个地图的一个更新会确定多个脚本。您可以在RFT的项目视图中并且在创建新测试对象地图时,将多个私有的或共享的测试对象地图合并成一个单个的共享测试对象地图。RFT可以随意地更新您所选择的指向新合并的测试对象地图的脚本。 4. 显示相关的脚本 在测试对象地图中,您可以观察到与列表与地图相关的脚本,且可以使用该列表来选择要添加测试对象的多个脚本。 5. 使用基于模式的对象识别 您可以用正则表达式或一个数值范围来代替允许基于模式的识别。允许对象识别具有更好的灵活性。您可以将属性转变成验证点编辑器(Verification Point Editor) 或测试对象地图中的正则表达式和数值范围。正则表达式计算器(Regular Expression Evaluator)允许您在编辑表达式时进行测试,这节省下了不得不运行脚本观察模式是否工作的时间。 6. 集成UCM RFT在ClearCase统一变更管理(Unified Change Management,UCM)的视图中。RFT中创建的工件是可以进行版本控制的。 2.2.2 主要组件 在本课程中我们将集中使用Eclipse框架中的Java的Rational Functional Tester。本章节将为您展示RFT的用户界面。 当您启动 Rational Functional Tester For Java 时,您会看到带有八个主要组件的 Test Perspective 窗口:主菜单、工具栏、Project 视图、Java 编辑器、Script Explorer、Console 视图、Tasks 视图和状态栏。下面是对每个组件的简要描述。 1. 主菜单 您可以在 Rational Functional Tester 的在线帮助中读到关于主菜单中每个选项的内容。 2. 工具栏 工具栏中包含这些图标: Open the New Wizard -- 显示适当的对话框来创建许多项中的一个或录制 Functional Test 脚本。单击 以显示要创建的可能项列表。 Create New Functional Test Project -- 显示出一个对话框,让您在 Functional Test 中生成新工程。 Connect to an Existing Functional Test Project -- 显示出一个让您连接到现有工程的对话框。 Create an Empty Functional Test Script -- 显示出一个让您创建您可以用来手动地添加 Java 代码的脚本的对话框。 Create New Test Object Map -- 显示出一个让您向工程添加一个新的测试对象地图的对话框。 Create New Test Datapool -- 显示出一个让您创建一个新的测试数据库的对话框。 Create a New Test Folder -- 显示出一个让您为工程或现有文件夹创建一个新文件夹的对话框。 Record a Functional Test Script -- 显示出一个让您输入关于新脚本的信息并开始记录的对话框。 Insert Recording into Active Functional Test Script -- 在当前脚本的光标位置开始记录,这使您启动应用程序、插入验证点,并添加脚本支持功能。 Configure Applications for Testing -- 显示 Application Configuration 工具,其使您添加并编辑配置信息 -- 例如名称、路径和其他用于开始并执行应用程序的信息 -- 关于您要测试的 Java 和 HTML 应用程序。 Enable Environments for Testing -- 显示出一个您用来启动 Java 环境和浏览器及配置 JRE 和浏览器的对话框。 Display the TestObject Inspector Tool -- 显示出 TestObject Inspector 工具,使您显示测试对象信息,如父层次、继承层次、测试对象属性、无值属性和方法信息。 Insert Verification Point -- 显示 Verification Point and Action Wizard 的 Select an Object 页,其使您在您要测试的应用程序中选择对象。 Insert Test Object into Active Functional Test Script -- 显示出一个让您选择测试对象来向测试对象地图和脚本中添加的对话框。 Insert Data Driven Commands into Active Functional Test Script -- 显示出 Datapool Population Wizard 的 Data Drive Actions 页,其使您选择被测应用程序中的对象来数据驱动应用程序。 Replace Literals with Datapool Reference -- 用测试脚本中的数据库参考代替文字值,其使您向现有的测试脚本中添加现实数据。 Run Functional Test Script -- 运行 Functional Test 脚本。单击 来显示运行命令列表。 Debug Functional Test Script -- 启动当前脚本并显示 Debug Perspective(在脚本调试时提供信息)。单击 以在当前脚本的方法 Main 中开始调试。单击以显示调试命令列表。 Run or Configure External Tools -- 使您可以配置非工作台一部分的外部工具。单击 来显示选项列表。 3. Functional Test Projects视图 Functional Test Projects视图在Test Perspective窗口的左窗格中,为每个工程列出测试资产,包括文件夹、脚本、共享的测试对象地图、日志文件夹、日志、Java 文件。 4.Java编辑器 您使用Java编辑器(脚本窗口)编辑Java代码。您正在编辑的脚本或类的名字出现在Java编辑器框架的选项卡上。选项卡左边的星号表示有未保存的变更。您可以打开 Java 编辑器中的若干文件并通过单击适当的选项卡来在它们之间移动。如果在此窗口中进行处理时出现代码问题,就会在受影响行附近显示出一个问题标记。另外,在Java编辑器中单击右键会显示出关于脚本的各种菜单选项。除此,它就与每个其他的脚本编辑器相像了。 5.Script Explorer Test Perspective窗口右边窗格中的Script Explorer列出了脚本助手、助手超类或助手基类、测试数据库、验证点和当前脚本的测试对象。注意这些关于 Script Explorer的项: Verification Points文件夹中包含所有为脚本记录的验证点。双击验证点会显示出 Verification Point Editor。 Test Objects文件夹中包含了一列脚本可用的所有测试对象。该列中每个测试对象前面都有代表其作用的图标。双击 Test Object Map图标会显示测试对象地图。 右键单击验证点、测试对象地图或 Script Explorer中的测试资产显示出各种菜单选项。 6.Console视图 Console视图显示来自脚本或应用程序的输出 -- 例如,System.out.print语句和未处理的Java异常。  7.Tasks视图 Tasks视图显示错误、警告或其他由编译器自动生成的信息。该视图默认地列出工程中所有文件的所有任务,但您也许想要限定显示与当前脚本相关的任务。您可以通过点击Tasks视图标题中的 过滤器按钮来应用一个过滤器。  8.状态栏 Rational Functional Tester利用 Test Perspective窗口底下的状态栏来显示消息。 第三章 实验案例 在前一章中,我们熟悉了IBM Rational Functional Tester的基本框架和概念,本章将在此基础上,以一个出售音乐CD的Java程序ClassicCD为例,使用IBM Rational Functional Tester完成对此软件的各方面测试,以便我们对此工具有更深刻的理解。 在做实验之前,需要安装两个应用程序,一是ibm-java2-jre-50-win-i386.exe,这是为运行java程序提供的环境;二是导入被测试程序,本章测试tst279_student_lab_project.exe,这是被测试应用程序,包含版本A和B。 首先熟悉ClassicCD应用程序。在这个练习中,你将要运行ClassicCD应用程序,执行各种类型用户的操作,为以后用IBM Rational Functional Tester 测试做准备。 步骤 1. 通过ClassicsJavaA桌面快捷方式运行ClassicsCD应用程序。版本A中的各种功能都可采用IBM Rational Functional Tester进行测试。然后,你就会看到版本B的测试应用程序。 2.点击“Haydn”旁边的“+”展开列表。 3.点击“Symphonies Nos. 94 & 98”。 4.点击“Place Order”按钮。 5. 在Member Logon 对话框,保持默认设置“Existing Customer”和“Trent Culpito”。不要输入任何密码。点击“OK”。 6.输入“credit card number”和“expiration date”。你可以输入任何类型。例如:credit card number:7777 7777 7777 7777,expiration date:07/11 7.点击“Place Order”。 8.点击确认消息框中的“OK”。 9.关闭应用程序点击窗口右上角的X。 10. 暂停10分钟后重新运行这个应用程序再进行其他的操作。 3.1 启用IBM RFT 3.1.1 查看Rational Functional Tester 的功能视图 步骤 1.单击 开始>程序> IBM Software Delivery Platform > IBM Rational Functional Tester > Java 脚本。 2.在工作空间启动程序,“将此值用作缺省值并不再询问检查用作默认”前的复选框选中,然后单击“确定”。 3.连接到Training-TST279项目。如果该项目没有出现在项目列表中,单击 文件>连接到Functional Teste项目。浏览到C:\ Training-TST279 \ Training-TST279并单击 完成。 4.如果你不在Functional Tester的透视图,单击右上角 打开透视图 按钮。 (如果该按钮没有显示,单击 窗口>打开透视图>其他> Functional Tester。 5.在Functional Tester项目资源管理器,找到为你创建的Training-TST279项目。 6.单击 帮助>帮助内容。可以在此阅读Rational Functional Tester的帮助文档,用来学习Rational Functional Tester。 7.关闭 帮助 窗口。 3.1.2 熟悉脚本的录制和回放 这个练习的目的是向你介绍到Rational Functional Tester,学习怎么记录和回放脚本。同时也是为了以后进一步的学习。 步骤 1. 打开Rational Functional Tester: 单击 开始->程序-> IBM Software Delivery Platform -> IBM Rational Functional Tester -> Java 脚本。 如果需要,连接到Training-TST279项目。 2.在Functional Test透视图中,单击 记录 Functional Test 脚本 按钮。 3.在 记录 Functional Test 脚本 对话框:a. 选择Training-TST279项目。 b. 给该脚本取名为: Simple_OrderNewSchubertString_01。 c. 如果显示 添加到源代码管理 的复选框不要选择。 d. 单击 下一步。 4.在 选择脚本资产对话框中,确保测试对象图是选定 专用测试对象图。单击 完成。 我们将在后面讨论测试对象图。 5.你现在就可以开始录制一个脚本。在功能测试记录监视器中,单击 启动应用程序。 6.在启动应用程序对话框中,选择ClassicsJavaA – Java然后单击 确定。 7.在ClassicsCD应用程序中执行以下用户操作: a. 单击Schubert旁边的+展开列表。 b. 单击String Quartets Nos. 4 & 14。 c. 单击Place Order。 d. 在Member Logon 对话框,保持默认设置“Existing Customer”和“Trent Culpito”。不要输入任何密码。单击“OK”。 e. 在Card Number 中输入7777 7777 7777 7777。 f. 在Expiration Date中输入07/11。 8.在功能测试记录监视器中,单击插入验证点或操作命令按钮。该脚本暂停,并且验证点和操作向导对话框打开。 9. 去除选择对象后前进到下一页的复选框。 10.要插入验证点,你必须先选择对象进行测试。 a. 用鼠标单击“对象查找器”图标。 b. 拖动图标到Place an order中的total上方。 c. 在对象上方释放鼠标按键。 d. 单击 下一步。 插入验证点或操作向导对话框消失。 选中对象被一个红色边框包围,并显示对象名称。 11.在选择要对选中的测试对象执行的操作对话框中,单击下一步。选中 执行“数据验证点”。 12.继续单击 下一步, 然后 单击 完成。 记录验证点,恢复录制脚本。 13.点击Place Order按钮。 14.在你的订单已收到的对话框单击 确定。 15.点击ClassicsCD窗口右上角的X关闭该应用程序。 16.单击功能测试记录监视器停止录制按钮。 17.在测试的透视图中,你所录制的脚本将在Functional Tester项目资源管理器中列出,其内容将在编辑器窗格中显示。测试对象将在脚本资源管理器中显示。 18.现在可以播放你所录制的脚本。在Rational Functional Tester的工具栏上,单击运行Functional Tester脚本图标,并选择Simple_OrderNewSchubertString_01。 19.在 选择日志 对话框中,保持默认设置并单击 完成。 20.观察脚本回放和Rational Functional Tester回放显示器上显示的消息。 21.当播放结束后,检查测试日志。如果日志没有自动出现,展开Rational Functional Tester资源管理器的Training-TST279_logs,然后双击Simple_OrderNewSchubertString_01日志。 我们将在以后的讨论这些测试日志。 现在,仅需熟悉日志中所包含的信息。 22.关闭测试日志。 23.关闭 Simple_OrderNewSchubertString_01脚本。 3.2 录制脚本 3.2.1 创建数据验证点 步骤 1.在Functional Test透视图中,单击 记录 Functional Test 脚本 按钮。 2.在 记录 Functional Test 脚本 对话框: a. 选择Training-TST279项目。 b. 给该脚本取名为: VP1_OrderNewBachViolin_01。 c. 如果显示 添加到源代码管理 的复选框不要选择。 d. 单击 下一步。 3.在 选择脚本资产对话框 中,在测试对象图,单击 浏览。 4.在选择测试对象图对话框中,选择/SharedMap.rftmap,然后单击 确定。然后,在 设置为此项目中的新脚本的测试资产缺省值 中选择 测试对象图 复选框。 5.在 选择脚本资产对话框 中,单击 完成。 6.在功能测试记录监视器中,单击 启动应用程序。 7.在启动应用程序对话框中,选择ClassicsJavaA – Java然后单击 确定。 8.展开Bach文件夹, 单击Violin Concertos。 9.单击 Place Order 按钮。 10.在 功能测试记录监视器 中, 单击 插入验证点或操作命令 按钮 11.要插入验证点,你必须先选择对象进行测试。 a.用鼠标单击“对象查找器”图标。 b.拖动图标到Remember Password 上。 c.在对象上方释放鼠标按键。 e.单击 下一步。 选中对象被一个红色边框包围,并显示对象名称。 12.现在,你必须指定操作记录。执行“数据验证点”应该已经被选中。如果没有,点击它,然后单击下一步。 13.在 数据值列表,选择 复选框可视文本,然后单击下一步。 14.在接下来的对话框中,显示该对象属性。点击 完成。 你可以看到功能测试记录监视器中的验证点。 15.在ClassicsCD应用程序中,在Member Logon对话框中,单击 OK。 16.在ClassicsCD应用程序中执行以下用户操作: a.点击Quantity。 b.按HOME键。 c.按住Shift键和End键。 d.按Delete键。 e.在Quantity中输入10。 f.按Tab键。(注:如果应用程序中的Tab键顺序有变化,该脚本可能会失败。另一种是方法是直接单击所需字段。) g. 在Card Number中输入 1234 1234 1234 1234。 h.按两次Tab键跳到Expiration Date字段。 i.在Expiration Date中键入12/11。 17. 在功能测试记录监视器中,单击 插入验证点或操作命令按钮,录制另一个验证点。 18.选中 选择对象后前进到下一页 前面复选框,如果未选中。 19.选择对象进行测试。用鼠标单击“对象查找器”图标,拖动图标到Place an order中的total上方,在对象上方释放鼠标按键,单击 下一步。 20.在创建数据验证点并将测试插入脚本命令页,修改验证点名称为: OrderTotalAmount。单击 下一步。 21.在检查要包含到验证点中的属性页,单击 完成。 验证点被记录。 22.在应用程序中,单击Place Order按钮。 23. 单击对话框上的OK,证明你的订单已经收到。 24.关闭ClassicsCD窗口,然后停止记录。 25.在Functional Test透视图,在Functional Test项目视图中找到你的新的脚本。双击可在Java™编辑器中打开。 后面的实验将用到这个脚本。 26.在脚本中找到你添加的验证点。 在脚本中验证点以“performTest();”结束。 27.在脚本资源管理器中找到你的验证点。 28.关闭脚本 VP1_OrderNewBachViolin_01。 3.2.2 创建属性验证点 步骤 1.创建一个新脚本 a. 在Functional Test透视图中,单击 记录 Functional Test 脚本 按钮。 b. 在 记录 Functional Test 脚本 对话框,选择Training-TST279项目。 c. 给该脚本取名为: VP2_OrderNewBachViolin_02。 d. 如果显示 添加到源代码管理 的复选框不要选择。 e. 单击 完成。(选择脚本资产对话框保持默认) 2. 运行ClassicsJavaA应用程序。 3. 展开Bach文件夹,单击Violin Concertos。 4. 单击Place Order按钮。 5. 在Member Logon 对话框单击OK。 6. 在ClassicsCD应用程序中执行以下用户操作: a. 单击Card Number。 b. 在Card Number 输入1234 1234 1234 1234。 c. 单击Expiration Date 。 d. 在Expiration Date输入12/11。 Quantity应该已经有一个值为1。 7. 在功能测试记录监视器中,单击 插入验证点或操作命令按钮。 8. 选择对象进行测试。用鼠标单击“对象查找器”图标,拖动图标到Place Order按钮上方,在对象上方释放鼠标按键。 9. 在选择要对选中的测试对象执行的操作操作页面,选择执行“属性验证点选项,然后单击下一步。 10. 在创建属性验证点并将测试插入脚本页中,你将定义属性来测试Place Order按钮。 a. 包含下级 选择 无。 b. 将验证点名称改为:PlaceOrderButtonProperties。 c. 单击 下一步。 d. 调整验证点和操作向导窗口,显示在右边窗格中的属性和值的文本。 e. 找到 actionCommand 属性,选中。 f. 找到 enabled 属性,选中。 g. 单击 完成。 不要选择全部属性,选择你的测试所要进行是。 11. 单击应用程序的Place Order 按钮。 12. 单击Your order has been received.窗口上的OK 按钮。关闭ClassicsCD 应用程序并停止记录。如果出现SharedMap.rftmap窗口,关闭他 。 13. 在Functional Test透视图中,找到在项目视图中列出的新脚本。 14. 在脚本中找到你添加的验证点。 15. 在脚本资源管理器中找到你的验证点。 16. 关闭脚本 VP2_OrderNewBachViolin_02 3.2.3 创建属性验证点 步骤 1. 创建一个新脚本 a. 在Functional Test透视图中,单击 记录 Functional Test 脚本 按钮。 b. 在 记录 Functional Test 脚本 对话框,选择Training-TST279项目。 c. 给该脚本取名为: VP2_OrderNewBachViolin_02。 d. 如果显示 添加到源代码管理 的复选框不要选择。 e. 单击 完成。(选择脚本资产对话框保持默认) 2. 运行ClassicsJavaA应用程序。 3. 展开Bach文件夹, 单击Violin Concertos。 4. 单击Place Order按钮。 5. 在Member Logon 对话框单击OK。 6. 在ClassicsCD应用程序中执行以下用户操作: a. 单击Card Number。 b. 在Card Number 输入1234 1234 1234 1234。 c. 单击Expiration Date 。 d. 在Expiration Date输入12/11。 Quantity应该已经有一个值为1。 7. 在功能测试记录监视器中,单击 插入验证点或操作命令按钮。 8. 选择对象进行测试。用鼠标单击“对象查找器”图标,拖动图标到Place Order按钮上方,在对象上方释放鼠标按键。 9. 在选择要对选中的测试对象执行的操作操作页面,选择执行“属性验证点选项,然后单击下一步。 10. 在创建属性验证点并将测试插入脚本页中,你将定义属性来测试Place Order按钮。 a. 包含下级 选择 无。 b. 将验证点名称改为: PlaceOrderButtonProperties。 c. 单击 下一步。 d. 调整验证点和操作向导窗口,显示在右边窗格中的属性和值的文本。 e. 找到 actionCommand 属性,选中。 f. 找到 enabled 属性,选中。 g. 单击 完成。 不要选择全部属性,选择你的测试所需要的即可。 11.单击应用程序的Place Order 按钮。 12.单击Your order has been received.窗口上的OK 按钮。关闭ClassicsCD 应用程序并停止记录。如果出现SharedMap.rftmap窗口,关闭他 。 13. 在Functional Test透视图中,找到在项目视图中列出的新脚本。 14. 在脚本中找到你添加的验证点。 15. 在脚本资源管理器中找到你的验证点。 16.关闭脚本 VP2_OrderNewBachViolin_02 3.2.4 在脚本中插入定时器 1. 创建一个新的脚本命名为: TIMER_OrderNewSchubertString_02。 2. 运行ClassicsJavaA应用程序。 3. 展开Schubert文件夹,单击 String Quarter Nos。4&14。 a. 点击 Place Order 。 b. 以Trent Culpito 登录。 4. 在功能测试记录监视器中,单击 插入脚本支持命令。 5. 在脚本支持功能对话框中,单击 定时器 标签。 6. 在启动定时器中的名称处输入Order_10,点击插入代码,然后单击关闭。确定Order与10之间的下划线“_”。 7. 在ClassicsCD应用程序中执行以下用户操作: a. 单击Quantity。 b. 按Home 键。 c. 按住Shift 键再按End键。 d. 按Delete键。 e. 在Quantity处输入:10。 f. 按Tab 键。(注:如果应用程序中的Tab键顺序有变化,该脚本可能会失败。另一种是方法是直接单击所需字段。) g. 在Credit Card number处输入: 1234 1234 1234 1234。 h. 在Expiration Date处输入:12/11。 8.在功能测试记录监视器中,单击 插入验证点或操作命令按钮。 9.选择对象进行测试。用鼠标单击“对象查找器”图标,拖动图标到Place an order中的total上方,在对象上方释放鼠标按键。 10.创建一个数据验证点取名为:TotalSchubertString10,单击 下一步 然后单击 完成。 11.在ClassicsCD应用程序中: a. 单击 Place Order按钮。 b. 单击对话框上的OK,证明你的订单已经收到。 12. 在功能测试记录监视器中,再次单击 插入脚本支持命令 13. 在脚本支持功能对话框中,再次单击 定时器 标签。 现在停止定时器。 14. 在停止定时器字段,如果有需要选择Order_10计时器。单击插入的代码,然后单击关闭。 15. 关闭ClassicsCD应用程序,停止记录。 16. 在Functional Test透视图中,从项目视图中找到你的新脚本。 后面的试验将用到这个测试脚本。 17. 在脚本中找到你的定时器代码。 定时器开始: 定时器结束: 18.关闭脚本 TIMER_OrderNewSchubertString_02。 3.2.5 将记录插入活动的Functional Test脚本 步骤 1. 在项目视图中,双击脚本 VP2_OrderNewBachViolin_02打开。 2. 在Java编辑器中,在input for the Expiration Date of 12/11后插入一个空白行,在新的一行中输入“stop();” 3. 使用默认的日志信息运行该脚本。 4. 查看测试日志然后关闭。 注意应用程序现在是在理想状态中添加一个VP来检查订单total。 5. 从脚本中删除“stop();”行。 这个stop例子是一个简单手工编码的实例。 6. 将光标定位在Expiration Date 后的12/11处。 7. 单击 将记录插入活动的Functional Test 脚本。 8. 创建一个数据验证点。 a. 拖动图标使其选中订单中的total。 b. 验证点取名:TotalBachViolin01。 如有必要暂停录录制,,使Place Order窗口具有焦点。 9. 停止录制。 10. 取消Object Map: Help页面,关闭Object Map对话框。 11. 在Cla
本文档为【《软件测试技术及应用》实验指导书】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_188918
暂无简介~
格式:doc
大小:2MB
软件:Word
页数:77
分类:互联网
上传时间:2012-06-07
浏览量:23