内容简介
本书面向使用QuickTestProfessional测试工具进行自动化功能测试的测试工程师,以及希望了解自动化功能测试的测试员。本书以循序渐进的方式讲解了自动化功能测试的基本知识,结合QuickTestProfessional的使用,深入讲解自动化测试脚本的开发,涉及目前流行的数据驱动测试方法、关键字驱动测试方法等方面的内容,并且详细讲解了如何使用QuickTestProfessional测试Windows控件、ActiveX控件、VB控件、Web控件等。 对于希望了解和使用QuickTestProfessional的插件技术的测试工程师,还详细讲解了QuickTestProfessional的.NET插件的使用,包括利用.NET插件测试.NETWindowsForm、WebForm,以及的WPF控件。同时还介绍了.NET插件的扩展技术,以及QuickTestProfessional的自动化对象模型的使用方法。
获取方法私信回复就可以免费领取了
目 录第1篇自动化测试基础篇第1章软件测试基础 1.1软件缺陷与软件测试 1.1.1软件缺陷与硬件缺陷的异同 1.1.2如何通过软件测试发现软件缺陷 1.2软件质量与软件测试 1.2.1软件质量管理在项目管理中的地位 1.2.2软件开发模式与软件测试 1.2.3软件开发模式与自动化测试 1.2.4软件测试能保证软件质量吗 1.3软件开发与软件测试 1.3.1软件开发与软件测试的对立统一 1.3.2测试人员需要的开发技术
第2章软件自动化测试 2.1手工测试与自动化测试 2.1.1手工测试的缺点 2.1.2什么时候使用自动化测试 2.1.3自动化测试——你准备好了吗 2.2如何开展自动化测试 2.2.1选取合适的测试项目来开展自动化测试 2.2.2自动化测试介入的时机 2.2.3自动化测试工程师的基本素质和技能要求 2.2.4自动化测试的成本 2.3自动化测试方案 2.3.1选择自动化测试方案 2.3.2自动化测试脚本的编写方法 2.3.3线性脚本的编写方法 2.3.4结构化脚本的编写方法 2.3.5共享脚本的编写方法 2.3.6数据驱动脚本的编写方法 2.3.7关键字驱动脚本的编写方法 2.3.8合理选择自动化测试脚本开发方法 2.4实用性自动化测试策略 2.4.1自动化测试工具的问题 2.4.2自动化测试的管理规范 2.4.3自动化测试中人的因素
第3章软件自动化测试工具 3.1自动化测试工具类型 3.1.1商业测试工具 3.1.2开源测试工具 3.1.3自主开发测试工具 3.2自动化测试工具选型 3.2.1测试工具评估 3.2.2测试工具试用 3.2.3自动化测试工具的培训 3.3自动化测试工具的原理 3.3.1基于代码层面的功能自动化测试工具 3.3.2基于浏览器和DOM对象模型的功能自动化测试工具 3.3.3基于GUI对象识别的测试工具原理 3.3.4反射机制在自动化功能测试工具中的使用 3.3.5UIAutomation在自动化功能测试工具中的使用 3.3.6QTP对象识别技术
第2篇QTP使用基础篇第4章QuickTestProfessional的安装和配置 4.1QTP9.2的安装 4.1.1安装要求 4.1.2QTP9.2支持的环境和程序 4.1.3QTP9.2支持的插件 4.1.4安装步骤 4.2QTP9.2的基本配置 4.2.1QTP的帮助文档 4.2.2QTP的视频教程 4.2.3QTP自带的样例程序 4.2.4启动QTP 4.2.5插件加载设置与管理 4.2.6创建一个空的测试项目 4.2.7录制和测试运行设置 4.2.8指定需要录制的应用程序 4.2.9使用QTP编写第一个自动化测试脚本
第5章QuickTestProfessional的基本使用方法 5.1QTP基本功能的使用 5.1.1QTP自动化测试的基本过程 5.1.2在关键字视图中编辑测试脚本 5.1.3在关键字视图中为测试步骤添加注释 5.1.4在关键字视图中添加测试信息的输出 5.1.5插入检查点(Checkpoint) 5.1.6在关键字视图中插入新的测试步骤 5.1.7在专家视图中编辑测试脚本 5.1.8脚本编辑器的使用 5.2编辑测试脚本 5.2.1识别对象 5.2.2ObjectSpy的使用 5.2.3对象库管理 5.2.4把测试对象添加到对象库中 5.2.5导出对象库文件 5.2.6在测试脚本中访问对象库的测试对象 5.2.7添加新的Action 5.2.8关联Action的对象库 5.2.9编辑新的Action 5.2.10在函数库中创建自定义函数 5.3运行和调试测试脚本 5.3.1语法检查 5.3.2使用断点 5.3.3单步调试 5.3.4调试查看器的使用 5.3.5运行整个测试 5.3.6运行部分测试 5.3.7批量运行测试 5.4分析测试结果 5.4.1选择测试运行结果的存储位置 5.4.2查看概要测试运行结果 5.4.3查看检查点的结果 5.4.4查看测试过程的截屏 5.5利用ActiveScreen来编辑测试脚本 5.5.1查看ActiveScreen 5.5.2ActiveScreen的设置 5.5.3在ActiveScreen中选择并添加对象到对象库 5.5.4选择ActiveScreen中的对象并输出其对象属性 5.5.5在ActiveScreen中插入检查点 5.5.6在ActiveScreen中选择对象并添加测试步骤
第6章QuickTestProfessional与其他工具的整合 6.1与WinRunner的整合 6.1.1在QTP中调用WinRunner的测试脚本 6.1.2在QTP中调用WinRunner的函数 6.2QTP与LoadRunner的整合 6.2.1在QTP中为LoadRunner设计测试脚本 6.2.2使用SilentTestRunner模拟LoadRunner的调用 6.2.3在LoadRunner中插入和运行QTP脚本 6.2.4在LoadRunner中运行QTP脚本需要注意的几点
第3篇QTP脚本开发篇第7章关键字驱动测试 7.1关键字驱动测试方法 7.1.1什么是关键字驱动测试方法 7.1.2关键字测试驱动框架 7.1.3关键字驱动实现自动化测试的阶段划分 7.1.4什么时候使用关键字驱动测试方法 7.2可视化编辑测试步骤 7.2.1编辑对象库 7.2.2选择测试对象 7.2.3选择测试对象相应的操作 7.2.4设置测试逻辑 7.3检查点的使用 7.3.1为测试添加检查点 7.3.2检查点类型 7.3.3添加标准检查点 7.3.4添加图像检查点 7.3.5添加位图检查点 7.3.6添加表格检查点 7.3.7添加文本检查点 7.3.8添加文本区域检查点 7.3.9添加可访问性检查点 7.3.10添加页面检查点 7.3.11添加数据库检查点 7.3.12添加XML检查点
第8章数据驱动测试 8.1数据驱动测试方法 8.1.1什么时候使用数据驱动测试方法 8.1.2数据驱动测试的一般步骤 8.2参数化测试 8.2.1通过参数化测试来提高测试的灵活性 8.2.2参数化测试步骤 8.2.3使用随机数来进行参数化 8.2.4参数化检查点 8.2.5设置数据表格迭代方式 8.3Action测试输入的参数化 8.3.1编辑Action的属性 8.3.2添加Action的输入参数 8.3.3调用Action 8.4使用环境变量的参数化 8.4.1定义和设置环境变量 8.4.2在测试步骤中绑定环境变量值 8.4.3导出环境变量到XML文件 8.4.4导入外部环境变量文件 8.5使用数据驱动器来参数化测试 8.5.1数据驱动器的使用方法 8.5.2数据驱动向导
第9章VBScript基础 9.1脚本语言简介 9.1.1Windows脚本语言 9.1.2测试工具的“厂商语言” 9.2VBScript语言基础 9.2.1VBScript的数据类型 9.2.2变量子类型(VariantSubtypes) 9.2.3VBScript的变量 9.2.4VBScript的运算符 9.2.5VBScript的条件语句 9.2.6VBScript的循环语句 9.2.7VBScript的Sub与Function 9.2.8VBScript的数组 9.3VBScript与正则表达式 9.3.1正则表达式简介 9.3.2在VBScript中使用正则表达式 9.3.3正则表达式在自动化测试中的使用
第10章QTP测试脚本开发 10.1熟练使用专家视图 10.1.1专家视图与关键字视图的对应关系 10.1.2在专家视图中编辑测试脚本的方法 10.1.3输入代码注释 10.1.4自动化VBScript语法识别和完成 10.2QTP的Utility对象的使用 10.2.1使用PathFinder对象查找文件 10.2.2使用XMLUtil对象检查XML 10.2.3使用Extern对象加载DLL 10.2.4SystemUtil对象的使用 10.2.5使用Reporter对象写入测试结果 10.2.6Environment对象的使用 10.3QTP内置函数的使用 10.3.1使用Print函数显示信息 10.3.2使用Wait函数暂停测试脚本的执行 10.3.3使用ExecuteFile执行VBScript脚本 10.4虚拟对象管理 10.4.1什么是虚拟对象 10.4.2定义虚拟对象 10.4.3虚拟对象的使用和管理 10.5QTP测试脚本开发技巧 10.5.1在运行过程中设置测试选项 10.5.2巧用Setting对象的Item属性 10.5.3利用DotNetFactory对象访问.NET类库 10.5.4自定义数据库检查点 10.6RecoveryScenarios的使用 10.6.1什么是RecoveryScenarios 10.6.2什么时候使用RecoveryScenarios 10.6.3定义RecoveryScenarios 10.6.4关联RecoveryScenario到测试脚本 10.6.5RecoveryScenario的运行 10.7利用DotNetFactory访问.NET对象 10.7.1DotNetFactory的使用方法 10.7.2访问.NET类库 10.7.3访问C#编写的DLL
第11章QTP描述性编程 11.1使用描述性编程的时机 11.1.1录制方式的测试脚本开发的问题 11.1.2什么时候使用描述性编程方法 11.2描述性编程的使用方法 11.2.1直接描述的方式 11.2.2直接描述方式的语法格式 11.2.3描述性编程的“后续强迫性” 11.2.4使用描述性编程的技巧 11.2.5使用“With”关键字简化代码 11.2.6使用Deion对象 11.2.7设置Deion对象的RegularExpression属性 11.2.8在ChildObjects对象中使用Deion对象 11.3用编程的方式创建检查点 11.3.1通过GetROProperty添加对控件的动态属性的判断 11.3.2自定义的检查点
第12章使用QTP测试标准Windows对象 12.1Desktop对象的使用 12.1.1使用CaptureBitmap方法来截屏 12.1.2使用ChildObjects方法获取某个对象中包含的对象列表 12.1.3使用RunAnalog方法运行低级录制过程 12.2SystemUtil对象的使用 12.2.1使用Run方法运行文件或程序 12.2.2在脚本运行过程中屏蔽鼠标和键盘 12.2.3关闭进程 12.3Clipboard对象的使用 12.3.1Clipboard对象介绍 12.3.2Clipboard对象的使用方法 12.4标准Windows控件的基本属性和方法 12.4.1使用Exist属性来判断控件是否存在 12.4.2使用CheckProperty检查控件属性 12.4.3使用GetROProperty获取控件属性 12.5各类标准Windows控件的测试 12.5.1Dialog对象的测试 12.5.2Static对象的测试 12.5.3WinButton对象的测试 12.5.4WinCalendar对象的测试 12.5.5WinCheckBox对象的测试 12.5.6WinComboBox对象的测试 12.5.7Window对象的测试 12.5.8WinEdit对象的测试 12.5.9WinEditor对象的测试 12.5.10WinList对象的测试 12.5.11WinListView对象的测试 12.5.12WinMenu对象的测试 12.5.13WinRadioButton对象的测试 12.5.14WinScrollBar对象的测试 12.5.15WinSpin对象的测试 12.5.16WinStatusBar对象的测试 12.5.17WinTab对象的测试 12.5.18WinToolbar对象的测试 12.5.19WinTreeView对象的测试 12.5.20WinObject对象的测试
第13章使用QTP测试ActiveX对象 13.1ActiveX对象的测试 13.1.1Object属性的使用 13.1.2AcxUtil对象的FireEvent方法的使用 13.2各类ActiveX控件的测试 13.2.1RadioButton类ActiveX控件的测试 13.2.2CheckBox类ActiveX控件的测试 13.2.3Calendar类ActiveX控件的测试 13.2.4Label类ActiveX控件的测试 13.2.5ProgressBar类ActiveX控件的测试 13.2.6SliderBar类ActiveX控件的测试 13.2.7LED类ActiveX控件的测试 13.2.8ListBox类ActiveX控件的测试
第14章使用QTP测试VB对象 14.1VisualBasic控件的测试 14.2对各类VB控件的测试 14.2.1VbButton对象的测试 14.2.2VbCheckBox对象的测试 14.2.3VbComboBox对象的测试 14.2.4VbEdit对象的测试 14.2.5VbEditor对象的测试 14.2.6VbFrame对象的测试 14.2.7VbLabel对象的测试 14.2.8VbList对象的测试 14.2.9VbRadioButton对象的测试 14.2.10VbScrollBar对象的测试 14.2.11VbWindow对象的测试
第15章使用QTP测试标准Web对象 15.1Web对象的测试 15.1.1加载Web插件 15.1.2Web的录制和运行设置 15.1.3QTP支持的浏览器 15.1.4WindowsApplications的录制和运行设置 15.1.5设置IE的“EnableTabbedBrowsering”选项 15.1.6使用Object属性访问DOM对象 15.1.7使用Browser对象控制浏览器的导航 15.2对各类Web对象的测试 15.2.1Page对象的测试 15.2.2Frame对象的测试 15.2.3Image对象的测试 15.2.4Link对象的测试 15.2.5WebButton对象的测试 15.2.6WebCheckBox对象的测试 15.2.7WebEdit对象的测试 15.2.8WebFile对象的测试 15.2.9WebList对象的测试 15.2.10WebRadioGroup对象的测试 15.2.11WebTable对象的测试 15.2.12WebXML对象的测试 15.2.13WebElement对象的测试
第4篇QTP高级技术篇第16章QTP的插件技术 16.1QTP插件简介 16.1.1查看插件安装和加载情况 16.1.2插件分离的好处 16.2内建插件与外部插件 16.2.1内建插件 16.2.2外部插件 16.2.3插件的安装 16.3插件加载与插件管理 16.3.1QTP的插件加载过程分析 16.3.2关联QTP插件与测试脚本 16.3.3插件关联管理 16.3.4通过编程方式启动QTP并加载插件 16.3.5插件与检查点类型的关系
第17章使用QTP的.NET插件测试.NET平台软件 17.1QTP的.NET插件 17.1.1.NET插件安装与设置 17.1.2.NETWindowsFormsSpy的使用 17.1.3利用.NETWindowsFormsSpy来分析.NET控件 17.2测试.NETWindowsForms控件 17.2.1QTP支持的.NETWindowsForms控件 17.2.2通过Object属性来获取对象的内部属性 17.2.3通过Object属性访问并执行控件方法 17.2.4查看Object属性的两种方法 17.3测试WPF控件 17.3.1加载WPF插件 17.3.2QTP支持的WPF控件 17.3.3访问WPF控件的内部属性和方法 17.4测试.NETWebForms控件 17.4.1QTP支持的.NETWebForms控件 17.4.2测试.NETWebForms的程序的前提条件 17.4.3利用Object属性来增强.NETWebForms程序的测试
第18章QTP的.NET插件扩展技术及其使用 18.1QTP的.NET插件提供的扩展模块 18.1.1.NET插件的扩展模块机制介绍 18.1.2使用.NETWindowsFormsSpy来协助开发扩展性 18.2使用C#对QTP的.NET插件进行扩展 18.2.1安装CustomServer模板 18.2.2建立.NET控件的测试扩展项目 18.2.3实现控件录制逻辑 18.2.4注册TrackBar控件的事件处理器 18.2.5实现控件的运行逻辑 18.2.6对QTP进行配置 18.2.7扩展项目的运行
第19章QTP的自动化对象模型及其使用 19.1QTP自动化对象模型简介 19.1.1什么时候使用自动化对象模型库 19.1.2选择开发语言和环境 19.1.3对象模型库基本元素 19.2在C#中使用QTP自动化对象模型 19.2.1引用对象库 19.2.2在C#中调用QTP对象模型库 19.3常用的自动化对象模型方法介绍 19.3.1在C#中启动QTP并加载指定插件 19.3.2在VBScript脚本中设置QTP选项 19.3.3导出QTP选项设置到VBScript脚本 19.3.4在VBScript脚本中设置QTP的环境变量 19.3.5在VBScript脚本中设置测试运行选项 19.3.6导出QTP测试设置到VBScript脚本中
第20章使用QTP开发一个猴子测试工具 20.1猴子测试 20.1.1猴子测试简介 20.1.2笨猴子与聪明猴子 20.1.3什么时候使用猴子测试 20.2使用QTP设计一个笨猴子 20.2.1用QTP实现笨猴子的基本要素 20.2.2使用Randomize函数产生随机数 20.2.3使用RandomNumber对象获取随机数 20.2.4通过WMI对象获取屏幕高度和宽度 20.2.5利用DotNetFactory获取屏幕高度和宽度 20.2.6让猴子控制鼠标和键盘 20.2.7调用C#代码中封装的WindowsAPI函数 20.2.8输入随机字符串 20.2.9记录测试信息 20.2.10截屏 20.2.11记录性能信息 20.2.12基本的猴子测试工具 20.2.13猴子测试工具的改进点
第21章使用QTP测试WebServices 21.1WebServices插件介绍 21.1.1什么是WebServices 21.1.2WebServices插件的帮助文档 21.2使用WebServices插件测试WebServices 21.2.1WebService测试向导的使用 21.2.2运行WebService测试 21.2.3修改WebService测试脚本中的检查点 21.2.4参数化Web服务的输入 21.2.5在对象库中添加WebService测试对象 21.2.6检查WSDL是否满足WS-I标准 21.2.7使用ValidateWSDL方法检查WSDL
第22章如何编写高质量的QTP测试脚本 22.1QTP测试脚本编码规范 22.1.1常量命名规范 22.1.2变量命名规范 22.1.3对象命名规范 22.1.4代码注释规范 22.1.5代码风格 22.2通过管理对象库来提高代码的可读性 22.2.1直接录制的测试脚本的问题 22.2.2通过修改命名来达到更加易读的效果 22.2.3缩减代码行长度的方法 22.2.4以中文命名测试对象显示部分信息
总结软件测试属于经验积累型职业,想要自己越老越值钱,那么就要不断的学习,不断的完善自己,另外,青春饭一般是因为你的职业发展停滞不前导致,如果一个测试员,干了10年还是测试员,那只能怪他自己,但是反过来讲,任何一个行业,除非国企事业单位公务员,相对稳定一些,否则任何一个行业如果你是干了很久都是小喽啰,那也都是青春饭,老板当然会考虑你做了那么久为什么一点进步都没有呢?IT这行也是如此,所以说,不断学习,不断提升自己,才是不会被淘汰的真理。电子档