QTP总结--WBlinbin文思创新

上传人:宝路 文档编号:52806704 上传时间:2018-08-26 格式:PPT 页数:54 大小:4.57MB
返回 下载 相关 举报
QTP总结--WBlinbin文思创新_第1页
第1页 / 共54页
QTP总结--WBlinbin文思创新_第2页
第2页 / 共54页
QTP总结--WBlinbin文思创新_第3页
第3页 / 共54页
QTP总结--WBlinbin文思创新_第4页
第4页 / 共54页
QTP总结--WBlinbin文思创新_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《QTP总结--WBlinbin文思创新》由会员分享,可在线阅读,更多相关《QTP总结--WBlinbin文思创新(54页珍藏版)》请在金锄头文库上搜索。

1、自动化测试与QTP介绍,舒文林,-自动化测试的引入和QTP的简单介绍,姜林斌,目录,功能自动化测试介绍 自动化测试意义 引入自动化测试需要考虑的条件 常用的功能自动化测试工具 功能自动化和手工测试的优缺点 功能自动化流程 自动化测试的实施(重点) QTP常用功能 QTP窗口介绍 QTP录制 QTP参数化 QTP验证点 QTP对象识别 测试结果分析,目录,QTP脚本开发与实例 VBS语法介绍 QTP常用函数 QTP描述性编程 QTP典型实例脚本分析,: 自动化测试目的是什么?这是一个值得深思的问题。我考虑有以下几个优点 1、自动化测试相对于手工测试的优点 优化测试速度:可非常快速的运行上万条记录

2、 提高准确性、稳定性:可以不为外界因素干扰,准确运行测试用例 确定性:能真实快速搭建测试环境,测试数据,重现缺陷 提高工作效率:一边运行自动化测试,一边准备测试报告 测试环境搭建:可以结合多种编程语言及技术协助搭建测试环境,防止手工测试重复劳动,如批处理技术 提高技能:可提高测试人员技能,同时提高对测试的兴趣,防止对手工测试感觉枯燥 2、数据处理方面的优点 测试数据:自动化测试工具可以根据需要,准备大量的测试数据 数据处理:测试结果有时需要再进行相应的数据处理 用例准备:可以使用相关脚本技术准备大量的测试用例 3、对于自动化测试的误解 有自动化测试不再需要手工测试 自动化测试虽然有如此多的优点

3、,但是有些测试比如:本地化测试、用户体验测试、测试环境搭建方面并不能完全代替手工测试 自动化测试的基础也必须是对产品的运行,测试点有一定的手工测试的基础,自动化测试和手动测试是相辅相成的 自动化测试并不仅指自动化运行测试产品,数据处理也是非常重要的一个环节 并非只是自动化测试工具如QTP,Loadrunner,等才可以做自动化测试,很多的编程语言都可以运行自动化测试。比如QTP就是基于VBScript语言的一款自动化测试工具,只是在VBS上的一些封装,引入自动化测试需要考虑的条件: 1) 自动化测试能大大降低手工测试工作,但决不能完全取代手工测试。完全的自动化测试只是一个理论上的目标,实际上想

4、要达到 100% 的自动化测试,不仅代价相当昂贵,而且操作上也是几乎不可能实现。一般来说,一个 40-60% 的利用自动化的程度已经是非常好的了,达到这个级别以上将过大的增加测试相关的维护成本。 2) 自动化测试能提高测试效率,快速定位测试软件各版本中的功能与性能缺陷,但不会创造性的发现测试脚本里没有设计的缺陷。测试工具不是人脑,要求测试设计者将测试中各种分支路径的校验点进行定制;没有定制完整,即便事实上出错的地方,测试工具也不会发觉。因此,制订全面、系统的测试设计工作是相当重要的。 3) 自动化测试能提高测试效率,但对于周期短、时间紧迫的项目不宜采用自动化测试。推行自动化测试的前期工作相当庞

5、大,将企业级自动化测试框架应用到一个项目中也要评估其合适性,因此决不能盲目的的应用到任何一个测试项目中,尤其不适合周期短的项目,因为很可能需要大量的测试框架的准备和实施而会被拖跨。 4) 实施测试自动化必须进行多方面的培训,包括测试流程、缺陷管理、人员安排、测试工具使用等。如果测试过程是不合理的,引入自动化测试只会给软件组织或者项目团队带来更大的混乱;如果我们允许组织或者项目团队在没有关于应该如何做的任何知识的情况下实施自动化测试,那将肯定会以失败告终。,功能自动化设施-功能自动化常规流程,需求分析,自动化测试用例设计,脚本开发,执行测试,分析结果,功能自动化测试项目角色常规划分,角色划分 自

6、动化负责人 自动化测试用例开发人员 测试脚本开发和执行人员 一个工程师可以担任多个角色,如:自动化测试负责人可以兼任自动化测试脚本开发工程师,功能自动化测试实施策略,项目条件 选定项目周期长,项目有多个版本 基础功能稳定,需求变更不频繁 项目规模比较大 推广方式 先试点后逐步推广 以项目方式进行管理,自动化测试常用框架-思路,思路,自动化实施建议 1、要有测试团队; 2、要传承; 3、要保证测试的有效性,不是pass率。 测试自动化不能从根本上代替测试人员,更无法保证产品的质量。那么自动化测试能做什么?产品的质量又是如何保证的?自动化测试的主要应用范围是回归测试,也就是说测试曾经正常的功能在产

7、品加入新功能或者有了bug fixed以后是不是依然能够工作。这是自动化测试的主要目的,而自动化测试的Case依然需要测试人员的智慧来编写,所以可以说自动化测试只是一个辅助性的工具。,进入第二部分,QTP功能介绍,QTP工作原理:,1.录制的时候,QTP将我们操作过的所有对象都记录下来,保存在对象库object repository中,记录的形式是一个逻辑名加上若干识别属性2.运行脚本时,QTP分析该脚本要执行那个对象的操作,然后根据该语句中的逻辑名,在对象库中查找该对象的详细记录,然后在运行的真实软件中按图索骥,找到需要操作的对象,把语句规定的操作施加在该对象上.施加的主要动作就是把操作的相

8、关消息时间放入到该对象窗口的消息循环队列中3.所以,一个完整的测试脚本应该包括两部分,一个是测试脚本的代码,一个是对象库,QTP常用功能-QTP窗口,QTP常用功能-QTP窗口,QTP常用功能-QTP窗口,QTP常用功能-QTP窗口,QTP工具介绍-Keyword view(关键字视图),QTP工具介绍-Expert view(专家视图),常用功能操作选择应用程序 automationrecor and run settings,常用功能操作-脚本录制,QTP常用功能-QTP参数化,QTP常用功能-QTP参数化,QTP常用功能-checkpoint检查点,什么是检查点将特定属性的当前数据与期望

9、数据进行比较的检查点,用于判定被测试程序功能是否正确 检查点分类QTP内置验证点和自定义验证点 内置检查点原理A录制时,根据用户设置的验证内容,记录数据作为基线数B回放时,QTP捕获对象运行时的数据,与脚本中的基线数据进行比C如果基线数据和运行数据相同,结果为PASS,反之为Failed,QTP常用功能-内置检查点类型,QTP工具介绍-添加标准检查点 insertcheckpointstandard checkpoint,QTP工具介绍-增加标准检查点,QTP工具介绍-增加文本检查点,QTP工具介绍-增加文本检查点,QTP工具介绍-数据库检查点,QTP工具介绍-数据库检查点,QTP工具介绍-数

10、据库检查点,QTP工具介绍-XML检查点,Function GetXml (ByVal strXmlFilePath,ByVal xmlNodeName) Dim xmlDoc,xmlRoot Set xmlDoc = CreateObject(“Microsoft.XMLDOM”) 创建XML DOM对象 xmlDoc.async = False 控制加载模式为同步模式(xml树加载完毕后再执行后续代码) xmlDoc.load strXmlFilePath 载入xml文件 If xmlDoc.parseError.errorCode 0 Then MsgBox “XML文件格式不对,原因是

11、:“ & Chr(13) & xmlDoc.parseError.reason Exit Function End If Set xmlRoot = xmlDoc.documentElement xmlRecursion xmlRoot,xmlNodeName 调用xml递归函数传入指定的根和节点名 GetXml = True xmlRecursion (xmlRoot) End Function,检查点代码查看(此处,数据库检查点的失败可以证明自动化测试并不能主动地发现bug),QTP工具介绍-对象库,QTP工具介绍-Object spy,对象探测器,扑获对象的好助手 通过Object Sp

12、y可以查看到所需要识别的Web对象的所有属性值,挑选其中可以唯一识别该对象的一个属性或多个属性,对该Web对象进行描述,QTP对象识别技术-对象库识别,对象库识别技术,QTP对象识别技术-描述性编程,实际在软件开发过程中,经常要添加新功能,完善已经实现的功能。在这个过程,新版本发布时软件功能变了,可能有的时候只是位置变了。这种情况下可恶的事情发生了,QTP就不认识新发布的软件。最坏的话,以前录制的脚本需要重新录制。So 悲催 在QTP中,有一按钮对象,对它的操作如下:Dialog(“Login“).WinButton(“OK“).Click但是如果我们在对象库中删除这个对象后,执行这句话就会出

13、错,提示找不到对象,在这个时候,我们就可以通过描述性编程给他指定对象及其他的一些属性,修改如下Dialog(“Login“).WinButton(“text:=OK“).Click上面脚本中,通过WinButton(“text:=OK“)明确告诉QTP去寻找文本属性为OK的按钮,于是QTP正确识别到该对象,顺利的执行了脚本这种不需要在对象库中存储对象的信息,就可以执行对象操作的方法,就是QTP中比较高级的用法:描述性编程(descrptive progamming).描述性编程和传统的QTP脚本的区别是:它把需要识别的对象的属性从对象库中转移到了脚本里面,通过在脚本里面的特殊语法格式.来告诉Q

14、TP识别对象的方法.描述性编程更加灵活,因为他不需要经过录制这个步骤,可以直接通过编程的方式操作任何一个你想操作的对象,只要你在测试脚本代码里提供给QTP识别该对象的足够信息,QTP常用功能-结果分析,自动化测试报告,QTP培训-第三部分,VBS脚本语法介绍,变量的定义,在 VBScript 中只有一个基本数据类型,即 Variant,因此所有变量的数据类型都是 Variant。 声明变量 声明变量的一种方式是使用 Dim 语句、声明变量。例如: Dim DegreesFahrenheit 声明多个变量时,使用逗号分隔变量。例如: Dim Top, Bottom, Left, Right 另一

15、种方式是通过直接在脚本中使用变量名这一简单方式隐式声明变量。这通常不是一个好习惯,因为这样有时会由于变量名被拼错而导致在运行脚本时出现意外的结果。 命名规则 变量命名必须遵循 VBScript 的标准命名规则。变量命名必须遵循: 第一个字符必须是字母。 不能包含嵌入的句点。 长度不能超过 255 个字符。 在被声明的作用域内必须唯一。,运算符,VBS语法介绍-控制语句,For.Next: While.Wend If.Then.Else if thenelse End If Select case Case Case Case else End select Do while.loop Do u

16、ntil.loop,Fornext介绍,Do whileloop,Do untilloop,退出循环,QTP常用函数-常用函数,GetTOProperty() GetROProperty() getcurrentrow () datatable.value(“column_name“,dtlocalsheet)=“nanjing“ exist() MsgBox() StrComp() CInt () CStr () Type(),QTP常用函数-GetROProperty,GetROProperty 语法:object.GetROProperty (Property, PropertyData

17、) 用途:从应用的对象中返回测试对象属性的当前值。 参数: object,当前对象类型的一个测试对象。Property,必要参数,一个字符串,需要从当前对象得到的属性的名字。PropertyData,可选参数,一个变量值,目前已经不使用。 返回值:一个变量值。 用法:返回Check Box“roundtrip”的当前状态(on或者off)。 Sub GetROProperty_Example() Val = Browser(“Mercury Tours“).Page(“Find Flights“). WebCheckBox (“roundtrip“).GetROProperty(“Value“) End Sub,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号