您好,欢迎访问三七文档
®UML软件工程组织EvolvebycaseQTP入门与实践火龙果软件工程技术/UML软件工程组织培训大纲QTP的背景知识、应用范围及基本功能介绍QTP的核心功能解析一个例子带你进入QTP的实践QTP开发相关参考资料火龙果软件工程技术/UML软件工程组织培训大纲QTP的背景知识、应用范围及基本功能介绍QTP的核心功能解析一个例子带你进入QTP的实践QTP开发相关参考资料火龙果软件工程技术/UML软件工程组织背景知识QTP是HP公司花费45亿收购的美科利产品套件之一QTP是继WR产品之后推出的以VBS为内嵌语言的工具QTP是一款用于功能测试的自动化测试工具QTP可以和HP的QC产品协作进行自动化测试开发(BPT)QTP是一款容易掌握但价格很高的测试自动化工具QTP:QuickTestProfessionalBPT:BusinessProcessTestingVBS:VBscriptWR:WinRunner火龙果软件工程技术/UML软件工程组织应用范围自带插件ActiveX,Database,StdWindows,TEA,VisualBasic,Web,XML额外购买插件Java,DotNet,PeopleSoft,VisualAge,Siebel,Oracle,目前还有flex也有了相关插件,不过感觉不是很好用火龙果软件工程技术/UML软件工程组织的基本功能介绍创建测试检验数据增强测试运行测试分析结果维护测试火龙果软件工程技术/UML软件工程组织的基本功能介绍(官方广告)HPQuickTestProfessional支持功能测试和回归测试自动化,用于每个主要软件应用程序和环境。此解决方案使用关键字驱动的测试概念,简化了测试创建和维护过程。它使测试人员能够使用专业的捕获技术直接从应用程序屏幕中捕获流程来构建测试案例。测试专家还可通过集成的脚本和调试环境完全访问内在测试和对象属性。火龙果软件工程技术/UML软件工程组织的基本功能介绍(作者观点)TestActionActionActionFunctionFunctionFunctionFunctionLibraryStepStepStep以Test为测试运行单位,每个Test包含若干类型Action。以Action为最小单位映射对象库,多个Action之间可以共享统一对象库Action内的Step可以包含用户录制操作或者函数库内对Function的调用StepStep火龙果软件工程技术/UML软件工程组织的基本功能介绍用15分钟视频对QTP全部功能进行快速解释。火龙果软件工程技术/UML软件工程组织培训大纲QTP的背景知识、应用范围及基本功能介绍QTP的核心功能解析一个例子带你进入QTP的实践QTP开发相关参考资料火龙果软件工程技术/UML软件工程组织核心功能清单对象库描述性编程检查点对象属性运行期间变更数据驱动错误恢复自动化对象火龙果软件工程技术/UML软件工程组织核心功能-对象库入口:Resources-ObjectRepositoryCtrl+R功能保存被测试对象属性,在编写执行步骤时使用火龙果软件工程技术/UML软件工程组织核心功能-对象库对象库中的对象可以在录制过程中自动产生,也可以手动添加指定对象对象库分为本地对象库和共享对象库,区别是:本地对象库只应用于本地Action调用共享对象库以.tsr扩展名文件形式存在,可以被其他Action调用。对象库面板具有定义以及更新对象的功能,并且能够进行在被测软件和对象库之间双向查找对象。对象属性可以在对象库中被任意修改,并且其属性描述支持正则表达式。火龙果软件工程技术/UML软件工程组织核心功能-对象库智能识别是鸡肋,辅助标识符要慎用对象库与描述性编程的区别:对象库将对象收集起来,以可视化的方式呈现给用户描述性编程在运行步骤中通过对象属性指定对象。结合使用时应注意:描述性编程的子对象不可以是对象库中的对象,反之可以。具体采用哪种方式指定对象因具体情况和个人喜好所定,并非描述性编程更“高人一筹“火龙果软件工程技术/UML软件工程组织核心功能-对象库-简单的对象识别原理用户通过录制或指定对象属性的方式将一个对象添加到对象库,在录制过程中添加的对象是根据Tools-ObjectIdentification中的设定记录的。在回放的过程中QTP通过将对象库中的对象属性和被测软件中的实时对象属性进行比对,如果发现存在能够唯一确定的对象,则对对象使用相应的用户设定的方法,完成用户动作。若不能发现唯一确定的对象,则启动智能识别机制,若智能识别仍无法唯一确定对象,则报错。更多细节请参见QTP帮助。火龙果软件工程技术/UML软件工程组织核心功能-描述性编程'Browser(name:=UML软件工程组织).Page(Title:=UML软件工程组织).link(text:=项目管理,htmltag:=A).ClickSetdesc=Description.Createdesc(text).value=项目管理desc(htmltag).value=ABrowser(name:=UML软件工程组织).Page(Title:=UML软件工程组织).link(desc).Click对象类型(“识别属性1:=属性值”).子对象属性(“识别属性1:=属性值”,“识别属性2:=属性值)。。。方法此外,描述性编程中属性值默认是支持正则表达式的,在使用中请留意。由于支持了正则表达式,就可以一次获取多个测试对象,便可以逐个处理这个相似对象集。火龙果软件工程技术/UML软件工程组织中子菜单项,包括文字,位图,XML,数据库(数据表)等检查点。每个检查点的执行结果都会在Automation-Result中存在相应的记录。有些检查点需要在录制状态下才能够使用。火龙果软件工程技术/UML软件工程组织核心功能-对象属性运行期间变更Object(description).SetTOPropertyProperty,Value通过此方法能够在运行期间更改对象库中对象的识别属性值。尤其在一个循环逻辑中更为常用,通过每次循环修改属性值,完成对一系列类似对象的相同动作。此方法弥补了对象库相对于描述性编程的不足。Browser(UML软件工程组织).Page(UML软件工程组织).Link(项目管理).SetTOPropertytext,需求管理Browser(UML软件工程组织).Page(UML软件工程组织).Link(项目管理).Click火龙果软件工程技术/UML软件工程组织核心功能-对象属性运行期间变更更多方法通过.object对象,能够使用对象本身(没有被QTP封装)的更多方法或属性值设定。火龙果软件工程技术/UML软件工程组织核心功能-数据驱动通过变更不同的数据组合,执行相同的逻辑步骤,完成对一个测试用例的测试。数据来源可以是:Excel表格,数据库(数据表),XML文件,TXT文件。任何有规则的VBS可以操纵的文件类型都可以作为QTP的数据来源。当然最常用的还是Excel表。火龙果软件工程技术/UML软件工程组织核心功能-错误恢复QTP软件本身自带了错误恢复手段RecoveryScenarioManager。通过在发生不同错误的时候,执行指定的操作,保证测试脚本能够24*7的不间断运行。用户也可以通过在容易发生错误的步骤或函数调用处执行相应的操作,保证无人值守时不宕机,脚本不中断。火龙果软件工程技术/UML软件工程组织入口:Resources-RecoveryScenarioManager不同的错误条件和用户可执行操作如上图所示,具体到问题的处理,还需要QTP的使用者在开发过程中不断揣摩优化。火龙果软件工程技术/UML软件工程组织核心功能-错误恢复-用户自定义错误恢复举例在某一个用户动作执行时,总会产生某个不需要的,并且会阻止测试正常运行的软件打开,或者过程存在。这个时候就要进行人为干预。Browser(“xxxx”).close,或者火龙果软件工程技术/UML软件工程组织,可以通过创建QTP对象完成对QTP一些运行环境及错误收集等细节的指定。具体请参考下图中手册。网上很多,自己下载。火龙果软件工程技术/UML软件工程组织核心功能-自动化对象-概念自动化对象,指的是实现了IDispatch接口的COM对象,IDispatch接口是自动化对象的一个重要标志。使用自动化技术的一个主要目的就是对COM的一些底层操作进行简化。包括自动化组件和自动化客户两方面的内容,分别用来定义和使用自动化对象。自动化对象包含有属性和方法这两种重要的组成。属性类似于类中的数据成员,方法则类似于类成员函数,只不过这里的属性只能被读取而不允许被写入。自动化组件除了定义自动化对象外,还将内部可编程对象展现给自动化客户,而自动化客户则对这些暴露的自动化对象进行操作。火龙果软件工程技术/UML软件工程组织=CreateObject(“Scripting.FileSystemObject”)Fso.opentextfile(“filename”,[1|2|8],True|False)通过创建一个COM组件对象,调用对象的方法便可完成相应操作。火龙果软件工程技术/UML软件工程组织培训大纲QTP的背景知识、应用范围及基本功能介绍QTP的核心功能解析一个例子带你进入QTP的实践QTP开发相关参考资料火龙果软件工程技术/UML软件工程组织自带示例本程序用例只完成了用户注册模块,若读者有兴趣,可以自己补充完成整个订票程序的测试代码设计。由于目前对自动化框架讨论如火如荼,并且大多尚不成熟,为了不误导读者,在本例中只提供作者在开发过程中常用模式方法,仅供参考。作者观点:1:能够最优化你的开发过程的框架就是最好的框架。2:测试自动化程度越高,风险越大。火龙果软件工程技术/UML软件工程组织自带示例-流行框架简介测试脚本模块化框架(TheTestScriptModularityFramework)测试库构架框架(TheTestLibraryArchitectureFramework)关键字驱动或表驱动测试框架(TheKeyword-DrivenorTable-DrivenTestingFramework)数据驱动测试框架(TheData-DrivenTestingFramework)混合的测试自动化框架(TheHybridTestAutomationFramework)火龙果软件
本文标题:QTP入门与实践
链接地址:https://www.777doc.com/doc-3612451 .html