最近有朋友提出关于UFT的问题,我抽空进行了回答。关于UFT,近期似乎热度有所回升。过去,企业多使用QTP,后来HP将其升级为UFT,功能上更加强大。然而,对于一般测试工程师来说,常用的功能有限,因此意义不大。同时,现在行业普遍推崇开源免费工具,如JMeter、Selenium、Appium等,因此UFT在大型企业或购买正版软件的公司中可能还有一定的市场。就学习而言,个人不建议学习UFT,可以将其作为辅助知识,拓展自己的知识面。
以下是书中摘取的一部分内容,供大家参考。该书定位为高校教材,因此讲解较为通俗。如有错误,欢迎指正。
以下是文章正文部分,后续将陆续放出全部章节。
1.自动化测试简介
本章介绍了手工测试在软件研发活动中的实施流程,本章重点介绍自动化测试技术在项目测试活动中的应用。
自动化测试,顾名思义,通过工具或编程语言,模拟用户业务使用流程,设定特定的测试场景,自动寻找缺陷。
2.自动化测试工具
目前业内较为流行的商用自动化测试工具有HP公司的Unified Function Testing和IBM公司的RFT,开源自动化测试工具则以Selenium、Appium为代表。
Unified Function Testing,简称UFT,是HP公司研发的自动化测试工具。提供符合所有主要应用软件环境的功能测试和回归测试的自动化。采用关键字驱动的理念简化测试用例创建和维护。用户可直接录制屏幕上的操作流程,自动生成功能测试或回归测试用例。专业的测试者也可以通过提供的内置VBScript脚本和调试环境来自定义脚本执行过程。
IBM Rational Functional Tester,简称RFT,是一款先进的、自动化的功能和回归测试工具,适用于测试人员和GUI开发工程师。测试新手可以简化复杂的测试任务,快速上手,测试专家能够通过选择工业标准化的脚本语言,实现各种高级定制功能。
Selenium,业内流行的开源自动化测试工具,直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7、8、9)、Mozilla Firefox、Chrome等。Selenium主要功能包括:测试浏览器兼容性、测试系统功能。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。
3.自动化测试优缺点
自动化测试优点是能够快速、重用,替代人的重复活动。回归测试阶段,可利用自动化测试工具进行,无需大量测试工程师手动重复执行测试用例,极大地提高了工作效率。
当然,自动化测试的缺点也很明显,它们只能检查一些比较主要的问题,如崩溃、死机,但是却无法发现新的错误。另外,在自动测试中编写测试脚本工作量也很大,有时候该工作量甚至超过了手动测试的时间。
自动化测试活动中,测试工具的应用,可以提高测试质量、测试效率。但在选择和使用测试工具的时候,也应该看到在测试过程中,并不是所有的测试工具都适合引入,同时,即使有了测试工具,会使用测试工具也不等于测试工具真正能在测试中发挥作用。因此,应该根据实际情况选择测试工具,选择使用何种测试工具,千万不可为了使用工具而刻意地使用工具。在目前软件系统研发环境下,利用自动化测试完全替代手工测试是不可能的。
自动化测试不仅仅运用在系统测试层面,在单元测试、集成测试阶段同样可以使用自动化测试方法进行测试。此章节所述自动化主要是指系统层面的自动化测试。
4.自动化测试技能要求
自动化测试在企业中基本是由专业的团队来实施的,自动化测试团队的成员的技能要求要比普通的手工测试人员一般要求要高,主要要求的技能如下:
自动化测试团队的规模视项目规模而有所区别,团队规模从几人到几十人不等。
5.UFT简介
UFT,全称Unified Function Testing,前版本是Quick Test Professional。HP在测试工具研发方面的巨大投入,使得UFT增加了很多新的功能特性,其市场占有率一度达到70%以上。
UFT是新一代自动化测试解决方案,采用了关键词驱动(Keyword-Driven)测试的理念,极大简化自动化测试流程,采用录制-回放模式自动生成脚本,测试人员可便捷地实施自动化测试工作。
本书以UFT Version12.01版本进行讲解,产品特点如下:
6.UFT实现原理
面向对象编程语言中,常听到类、对象、属性等概念,UFT实现自动化测试时同样使用了类似的概念,只是相对简单。
类,具有相同静态、动态特性的事物的集合,如文本编辑框、单选按钮、下拉列表等常见Web控件。涉及类概念时,往往是一个宽泛的指代。UFT试用版默认支持Windows、Web对象类。
对象,某类事物中的具体个体,如用户名编辑框、用户性别单选框等。此时,对象作为一个特定个体,具有非常明确的属性值,易于辨别。
属性,事物固有或被赋予的特性,如文本编辑框的长度、名称、默认值、默认焦点等。
设计测试脚本前,测试工程师需根据需要选择正确的插件,选择完成启动UFT后,UFT会根据Add-in Manager中勾选的插件自动加载所匹配的对象识别方法。
以OA系统登录功能为例,在录制之前,测试工程师首先选择Web插件类型,录制时,UFT启动IE,根据默认加载的Web对象识别方式,将IE上测试工程师操作的控件进行识别,识别成功后自动加入对象存储库进行管理,进入对象存储库的Web对象称为测试对象(Test Object),如图7-1所示。
图7-1测试对象管理库
识别测试对象时,UFT以强制属性、辅助属性、位置定义、智能识别等顺序进行识别。
图7-2对象识别属性
以OA系统用户名文本输入框为例,UFT首先以html tag、name、type三个强制属性进行识别,如果未能识别出其是WebEdit输入框,则以辅助属性进行识别(可自定义),若仍未识别,则以index位置属性进行识别,若强制、辅助、位置属性(index、location)都无法识别此对象时,将启用智能识别模式,将待识别对象的所有属性进行匹配,直到匹配成功或超时。
录制完成后,UFT将所有操作的对象存在对象存储库中,测试回放时,采用录制时的识别方法,判断被测对象是否与测试对象一致,若一致,则进行预期与实际结果比较,若不一致,则报告对象识别错误。
温馨提示:答案为网友推荐,仅供参考