在软件测试领域,自动化测试工具的重要性日益凸显。UFT(Unified Functional Testing)作为一款功能强大的自动化测试工具,在全球范围内被广泛应用于各种软件开发项目中,助力企业提高软件质量、缩短开发周期。它能够模拟用户的各种操作,对软件的功能进行全面、高效的测试,极大地提高了测试效率和准确性。对于零基础的新手来说,UFT可能看起来有些复杂,但只要掌握了正确的学习方法,就能轻松入门开启自动化测试的大门。
(一)UFT的起源与发展
UFT的前身是QuickTest Professional(QTP),由Mercury Interactive公司开发,在自动化测试领域崭露头角。2012年,QTP正式更名为UFT(Unified Functional Testing),这一转变不仅是名称的改变,更代表着其功能的全面升级和整合,以适应更加多元化和复杂的测试需求。
自诞生以来,UFT不断进行版本迭代,功能日益强大。早期版本主要专注于基本的功能测试和录制回放功能,随着技术的发展和用户需求的增长,后续版本逐渐引入了数据驱动测试、关键字驱动测试、强大的对象识别技术等功能。例如,在UFT 12版本中,引入了增强型对象识别,支持更多应用技术,大大提高了测试脚本的稳定性和可靠性;UFT 14版本支持云端和容器环境测试,优化报告生成,以适应新兴的软件开发和部署模式;到了UFT 15版本,增强了移动测试功能,引入机器学习技术,进一步提升了其在移动应用测试领域的能力。
(二)功能介绍
录制与回放:UFT提供直观的录制功能,能精准记录用户与应用程序的交互操作,包括鼠标点击、键盘输入等行为,并自动生成对应的测试脚本。在回放阶段,测试人员可通过回放录制的脚本,模拟真实用户操作,对系统的响应进行全面验证,高效检测软件是否符合预期功能。比如在测试一款电商APP时,通过录制用户从浏览商品、加入购物车到结算支付的完整流程,再回放脚本,就能快速验证该APP在这些关键业务流程上的功能是否正常。
数据驱动测试:支持数据驱动测试模式,即可以使用不同的测试数据执行相同的操作,进而全面验证系统在各种不同条件下的表现,显著提高测试的覆盖率。测试数据可存储在Excel、数据库、CSV等多种外部数据源中,通过脚本方便地读取和调用。以测试用户登录功能为例,可将不同的用户名和密码组合存储在Excel表格中,让UFT在测试时依次读取这些数据进行登录操作,检测系统在面对不同用户数据时的登录功能是否稳定可靠。
对象识别与管理:具备强大的对象识别和管理能力,能够依据属性、值或其他元素特征精准识别应用中的各类对象。测试人员还可为对象创建多个属性,并对其进行有效管理。借助Object Spy工具,UFT可以实时捕获对象的属性信息,为识别和调试问题提供有力支持。在测试一个复杂的桌面应用程序时,UFT能够快速准确地识别出窗口、按钮、文本框等各种界面元素,确保测试脚本能够正确地操作这些对象。
关键字驱动测试:允许测试人员通过定义关键字和动作来设计测试脚本,这种方式极大地简化了测试脚本的编写过程,特别适合非技术背景的测试人员。例如,对于一个简单的网页搜索功能测试,测试人员只需定义“打开浏览器”“输入搜索关键词”“点击搜索按钮”等关键字,UFT就能根据这些关键字生成相应的测试脚本,降低了测试脚本编写的难度和工作量。
内置检查点与断言:提供丰富的检查点(Checkpoints)和断言(Assertions)功能,测试人员可在脚本中灵活插入检查点,全面验证界面元素、数据库值、性能等是否符合预期。常见的检查点包括文本检查点、图像检查点、表格检查点等。在测试一个在线新闻网站时,可以设置文本检查点来验证新闻标题和内容是否正确显示,设置图像检查点来确保图片正常加载且显示无误。
(三)UFT独特优势
多应用支持:能够支持Web应用、桌面应用、移动应用(包括iOS和Android平台)、企业级应用(如SAP、Oracle)等多种类型的应用程序的自动化测试。通过相应的插件或Add-ins,UFT可以轻松适应不同类型的应用程序,满足企业多样化的测试需求。无论是测试一个简单的网页小游戏,还是复杂的企业级ERP系统,UFT都能发挥其强大的测试能力。
强大的对象识别技术:借助先进的对象识别技术,UFT能够快速、准确地识别UI元素,即使面对页面布局和结构的动态变化,也能确保测试脚本的稳定性。这使得测试人员无需花费大量时间和精力去处理因界面变化而导致的测试脚本失效问题,大大提高了测试效率和质量。例如,当一个Web应用程序进行界面更新后,UFT依然能够准确识别更新后的界面元素,保证测试工作的顺利进行。
可扩展性:提供丰富的功能扩展接口,支持脚本的自定义、数据的动态输入、对象的复杂识别等。同时,它还能与其他测试工具和管理工具(如ALM、JIRA、Git、LoadRunner、Jenkins、Azure DevOps等)无缝集成,便于团队协作、自动化测试报告和版本控制,满足复杂的测试项目需求。在一个大型软件开发项目中,UFT可以与其他工具协同工作,实现从测试计划制定、测试执行到测试结果分析的全流程自动化和高效管理。
易于使用:具有直观的操作界面和简单易懂的操作流程,尤其是其录制与回放功能,降低了自动化测试的入门门槛。对于非技术人员,也可以通过关键字驱动等方式轻松设计自动化脚本,快速上手进行测试工作。即使是没有编程经验的测试人员,也能在短时间内学会使用UFT进行基本的自动化测试。
(四)UFT安装前准备工作
在安装UFT之前,需要确保计算机满足以下硬件和软件要求:
硬件要求:
CPU:主频1.6G以上,以保证软件运行的基本性能,若要同时处理多个测试任务或应对复杂的测试场景,建议选择更高主频的CPU,如2.5G及以上,能显著提升处理速度和效率。
内存:最少2GB,若测试的应用程序较为复杂,或者需要同时运行多个测试任务,推荐使用4GB及以上的内存,以避免因内存不足导致软件运行卡顿甚至崩溃。
显卡:64MB以上内存的显卡,确保图形界面的正常显示和操作流畅性。对于涉及图形渲染或可视化测试的场景,可选用性能更好的显卡,如1GB显存及以上的独立显卡。
磁盘空间:至少预留10GB的可用磁盘空间用于安装UFT及相关组件,随着测试项目的增加,存储测试数据、脚本和报告等可能会占用更多空间,建议定期清理不必要的文件或扩展磁盘空间。
操作系统要求:UFT支持多种Windows操作系统,如Windows 7、Windows 8、Windows 10等桌面版,以及Windows Server 2008 R2、Windows Server 2012等服务器版。请确保操作系统已安装最新的补丁和更新,以保证系统的稳定性和兼容性。
软件要求:需要安装Microsoft.NET Framework 4.5或以上版本,它为UFT提供了必要的运行环境。此外,若要进行移动测试,还需安装相应的移动设备驱动,如针对iOS设备的iTunes及相关驱动,针对Android设备的ADB驱动等。
获取UFT安装包通常有以下几种途径:
官方网站:可前往官方网站,在产品页面中找到UFT并下载。在官网下载能确保获取到最新版本和最完整的功能,同时也能获得官方的技术支持和更新服务。下载前可能需要注册账号,按照提示填写相关信息完成注册即可。
授权经销商:联系授权经销商,他们可以提供合法的安装包及相关的购买咨询和技术支持服务。通过经销商购买可能会获得一些优惠政策或增值服务,如培训课程、技术咨询等。
企业内部资源:如果所在企业已经购买了UFT的许可证,可向企业内部的IT部门或相关负责人获取安装包,他们会根据企业的实际情况和许可协议,为你提供合适的安装文件和安装指导。
(五)UFT基础功能
1.双视图操作详解
UFT提供了两种主要的视图模式,分别是关键字视图(Keyword View)和专家视图(Expert View),它们各自具有独特的特点和用途,熟练掌握这两种视图的操作,能让你在自动化测试工作中更加得心应手。
关键字视图:是一种图形化的界面,以表格的形式展示测试步骤。每一行代表一个测试步骤,包含操作的对象、执行的动作以及相关参数。例如,在测试一个网页登录功能时,关键字视图中可能会有如下步骤:第一行,对象为“用户名输入框”,动作是“Set”,参数为具体的用户名;第二行,对象是“密码输入框”,动作同样是“Set”,参数为对应的密码;第三行,对象为“登录按钮”,动作是“Click”。这种视图的优点在于直观易懂,对于非技术背景的测试人员来说,能够快速理解和编辑测试脚本,即使没有编程经验,也能通过简单的拖拽和参数设置来创建和修改测试用例。同时,它还能清晰地展示测试步骤的逻辑结构,方便进行测试用例的维护和管理。然而,关键字视图也存在一些局限性,例如对于复杂的测试逻辑,如条件判断、循环等操作的实现相对困难,且代码的灵活性和可扩展性较差。
专家视图:也被称为脚本视图,它以VBScript脚本代码的形式呈现测试脚本。在专家视图中,你可以直接编写和编辑VBScript代码,实现各种复杂的测试逻辑和功能。例如,使用循环语句来遍历一组测试数据,或者使用条件判断语句根据不同的条件执行不同的测试步骤。对于有编程经验的测试人员来说,专家视图提供了更大的灵活性和控制权,能够充分发挥UFT的强大功能。而且,在处理动态页面元素、复杂的数据处理和系统交互等场景时,专家视图具有明显的优势。但它的缺点是对测试人员的编程能力要求较高,代码的可读性相对较差,对于新手来说,学习和维护的难度较大。
在实际使用中,你可以根据测试需求和个人技能水平,灵活地在关键字视图和专家视图之间进行转换。在菜单栏中,通过单击【关键字视图】按钮或【专家视图】按钮,即可轻松实现两种视图的切换。例如,当你在关键字视图中创建了一个基本的测试脚本后,如果需要添加一些复杂的逻辑控制,就可以切换到专家视图进行代码编写;反之,当你在专家视图中编写的脚本需要进行可视化的检查和修改时,也可以切换回关键字视图。这种灵活的视图切换机制,使得UFT能够满足不同层次测试人员的需求,提高测试工作的效率和质量。
2.对象概念与操作
在UFT自动化测试中,理解测试对象(Test Object,TO)和运行时对象(Runtime Object,RO)的概念及其区别,是进行有效测试的关键。同时,掌握获取和修改对象属性的方法,能够帮助你更好地控制和验证测试过程。
测试对象(TO):是UFT定义的一些类,用于代表被测应用的各种对象,这些对象存储在对象库中。例如,在测试一个Web应用时,网页上的按钮、文本框、下拉列表等元素,在UFT中都被定义为测试对象。测试对象的属性是UFT为了识别在测试执行过程中的运行时对象而保留在对象库中的属性,这些属性可以理解为静态属性,在运行时与输入的具体数据无关。例如,一个按钮的测试对象属性可能包括按钮的名称、类型、位置等,这些属性在测试脚本编写和维护过程中相对固定。
运行时对象(RO):是实际的被测应用对象,是测试执行过程中,测试对象(TO)用来关联的对象。当测试脚本运行时,UFT会根据测试对象的属性在被测应用中查找对应的实际对象,这个实际对象就是运行时对象。运行时对象的属性会随着测试执行过程中的操作和输入数据的变化而变化。例如,在测试一个用户登录功能时,用户名输入框这个运行时对象的“text”属性,会随着用户输入不同的用户名而发生改变。
获取对象属性:在UFT中,可以使用GetToProperty和GetRoProperty方法分别获取测试对象和运行时对象的属性值。GetToProperty用于取得测试对象的某个属性的值,例如:
修改对象属性:使用 SetToProperty 方法可以修改测试对象的属性值。需要注意的是,修改测试对象属性通常是在测试脚本编写阶段,用于调整对象的识别方式或其他相关设置,而不是在测试运行过程中随意修改。例如,如果你发现某个按钮的默认识别属性在某些情况下不稳定,可以通过修改测试对象的属性来提高识别的准确性:
在实际测试中,正确理解和运用测试对象与运行时对象的概念,以及熟练掌握获取和修改对象属性的方法,能够帮助你解决各种测试问题,确保测试脚本的准确性和稳定性。例如,在处理动态页面元素时,通过获取运行时对象的属性值,可以实时验证页面元素的状态和变化;在调试测试脚本时,通过查看和修改测试对象的属性,能够快速定位和解决对象识别问题。
3.对象库管理秘籍
对象库是UFT中用于存储和管理被测应用程序界面对象(界面元素)的重要工具,有效地管理对象库可以提高测试脚本的可维护性和可重用性,接下来介绍对象库的创建、对象添加、属性编辑及管理技巧。
创建对象库:在UFT中创建对象库非常简单,当你开始录制测试脚本时,UFT会自动将录制过程中涉及到的对象添加到默认的本地对象库中。如果你需要创建一个新的对象库,或者使用共享对象库(供多个测试脚本或Action使用),可以通过以下步骤操作:在菜单栏中选择“Resources”>“Object Repository Manager”,打开对象库管理器对话框。在对话框中,点击“New”按钮,选择对象库的类型(如本地对象库或共享对象库),并指定对象库的存储路径和名称,然后点击“OK”即可创建新的对象库。例如,你可以创建一个共享对象库,将其存储在团队共享的文件夹中,方便团队成员共同使用和维护。
对象添加:有多种方式可以将对象添加到对象库中。在录制脚本过程中,UFT会自动识别并添加所操作的对象;也可以使用“Object Spy”工具手动添加对象,点击菜单栏中的“Tools”>Object Spy”,打开对象嗅探器窗口,点击窗口中的手型按钮,然后在被测应用程序中点击需要添加的对象,UFT会自动获取该对象的属性并添加到对象库中。此外,还可以在对象库管理器中,选中对象库,点击“Add Objects”按钮,选择要添加的对象类型(如Web元素、Windows控件等),然后在应用程序中选择对应的对象进行添加。比如在测试一个桌面应用时,通过“Object Spy”工具添加登录窗口中的用户名输入框和密码输入框对象到对象库中。
属性编辑:在对象库中,你可以对对象的属性进行编辑,以满足不同的测试需求。选中对象库中的某个对象,在属性列表中可以直接修改对象的逻辑名称、属性值等。例如,将一个按钮的逻辑名称从默认的“Button1”修改为更具描述性的“LoginButton”,这样在编写测试脚本时更容易理解和识别。同时,还可以通过点击属性列表中的“Advanced”按钮,对对象的高级属性进行设置,如对象的识别方式、辅助属性等。如果某个对象在不同的页面或场景下有不同的属性特征,可以通过编辑属性来确保UFT能够准确地识别该对象。
管理技巧:为了提高对象库的管理效率,建议按照一定的规则对对象进行分类和组织。例如,可以根据被测应用的功能模块、页面等进行分类,将相关的对象放在同一个文件夹或分组中。同时,合理使用对象库的注释功能,为每个对象添加详细的注释说明,包括对象的用途、相关的测试场景等,这样在维护和更新测试脚本时,能够快速了解对象的相关信息。另外,定期清理对象库中不再使用的对象,避免对象库过于臃肿,影响测试脚本的执行效率。在项目开发过程中,随着应用程序的不断更新和测试需求的变化,及时更新和维护对象库,确保对象库中的对象与实际的应用程序界面元素保持一致。
以上从 UFT起源发展,功能介绍,安装前准备工作,独特优势以及基础功能五个方面为大家进行了详细解析,大家想要获取任何关于 UFT价格、最新版试用下载链接等内容可以随时咨询我们。