《自动化测试与QTP基本介绍.ppt》由会员分享,可在线阅读,更多相关《自动化测试与QTP基本介绍.ppt(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、自动化测试自动化测试QTP基本介绍基本介绍 section1 amdocs求实,天马行空(思路灵活),反复讲加入记忆兴趣,QTP是一门艺术,不是技术心理,QTP很简单实践,多动手实践解决问题,一起讨论共同进步主要内容:自动化测试简介及优缺点QTP背景和插件介绍及安装QTP工具的基本测试过程QTP工具的主要功能讲解QTP一般应用与Action应用本日要点:录制与回放检查点类型说明对象库简单介绍action的操作脚本的调试内嵌函数帮助软件自动化测试就是模拟手动测试步骤,执行用某种程序设计语言编制的测试程序,控制被测软件的执行,完成全自动或半自动测试的过程。全自动测试就是指在自动测试过程中,根本不需
2、要人工干预,由程序自动完成测试的全过程。半自动测试就是指在自动测试过程中,需要手动输入测试用例或选择测试路径,再由自动测试程序按照人工指定的要求完成自动测试。就测试工作而言,在回归测试过程中,有着大量重复的工作,这些工作过程占用着大量的资源测试效率高,节省人力资源,降低测试成本。增强测试的稳定性和可靠性。提高软件测试的准确度和精确度,增加软件信任度。重复进行相同的测试输入数据,自动化工具比手工输入准确性高,还可以将测试人员从重复性劳动中解脱出来,将精力专注于如何设计好的测试用例 目前,软件自动化测试还不能解决所有的测试问题,因此,需要建立正确的自动化测试目标。测试计划产生:主要靠测试工程师与软
3、件生产质量保证专家的合作,自动化工具只能起到一定的辅助作用。一种测试工具不完全适用于所有测试自动测试不一定减轻工作量测试进度可能不一定缩短测试工具不一定易于使用测试覆盖率不会达到百分之百Mercury QuickTest Professional是一款先进的自动化测试解决方案的测试工具,用于创建功能和回归测试。它自动捕获、验证和重放用户的交互行为,为每一个重要软件应用和环境提供功能和回归测试自动化的行业最佳解决方案。QTP通过对WEB页面或应用程序所进行的操作写成自动化测试脚本,然后运行回放测试脚本,并可以在其中插入各种检查点来实现对WEB页面或应用程序的功能的检查。QTP主要应用在大量的业务
4、流程回归测试中;这样可以节省大量的人力和时间,加快了测试的进程。QTP是HP公司花费45亿收购的美科利产品套件之一,继WR产品之后推出的以VBS为内嵌语言的,用于功能测试的自动化测试工具,可以和HP的QC产品协作进行自动化测试开发。自带 ActiveX,VisualBasic,Web,XML.额外购买插件 DotNet,PeopleSoft,Siebel,Oracle目前公司使用QTP9.5版本开发,演示QTP安装过程创建测试创建测试 检验数据检验数据 增强测试增强测试 运行测试运行测试 分析结果分析结果 维护测试维护测试示例示例1对象库是QTP有精华,也是QTP工作过程是所依赖的对象库为树型
5、结构:基于B/S结构,QTP识别其是以Browser为根目录下挂着QTP可以识别的标准控件。中的对象可以在录制过程中自动产生,也可以手动添加指定对象对象库分为本地对象库和共享对象库对象属性可以在对象库中被任意修改,并且其属性描述支持正则表达式脚通过变更不同的数据组合,执行相同的或不同的逻辑步骤,完成对一个测试用例的测试。数据来源可以是:Excel表格,数据库(数据表),XML文件,TXT文件。任何有规则的VBS可以操纵的文件类型都可以作为QTP的数据来源。当然最常用的还是Excel表因为QTP对象库中的每个对象都具有唯一名称,所以在引用时对象名是必须需要指定的。描述性编程,简单的来说,就是在专
6、家视图中,手动编写脚本,对某个对象执行某种操作。譬如,在用户名的输入框中输入“admin”,用户名的输入框的在该页面的标识是“userVO.entername”,其类型为WebEdit,对此输入框执行的是set一个值“admin”,所以生成的脚本如下:WebEdit(“name:=username”).set“cyrzry”但是,这样的脚本,QTP并不知道这个文本输入框是在哪个页面的,所以需要在前面加上Browser和Page的信息,指明是哪一个Web页面的,最终生成的脚本是:Browser(Browser).Page(Page).WebEdit(“name:=username”).set“c
7、yrzry”。在测试过程中,很多环节需要对页面上的一些数据进行校验,这个时候,就需要使用检查点了QTP提供的检查点功能,能够把要检查的对象记录下来,并与当前值进行比较,并会把比较的结果写到运行结果中去这样方便在脚本运行完成之后,查看本次执行的测试要点有没有执行通过标准检查点 -检查对象属性*文本和文本域检查点 -文本域不适用于web环境*位图检查点 -检查某区域成位图表格检查点 -检查表格信息*数据库检查点 -检查数据库Xml检查点 -检查XML文档QTP设计之初就是取之一种录制与回放的思想,对于一些业务逻辑相对简单的应用而言,这无疑是一种快速的回归测试方案,在录制的过程中QTP会将所操作过的
8、对象加到其对象库中去,并生成相应的脚本,这样使得再次回放的时候,QTP已认识该对象,根据原有脚本去快速回放先前的录制过程。录制方式生成的脚本是流水式的脚本,没有过多的逻辑可言,并且不能被很好的重用,所以,对于一些业务逻辑强的被测系统,这种方式就显得力不从心具体操作:单击工具栏的Record ;Automation菜单-Record;快捷键F3回放操作:回放可选择结果存放方式;通过关键字视图,QTP提供了一种模块化的表格格式创建和查看测试或组件的步骤。每个步骤在关键字视图中都是一行,这样用户可以轻松的修改任何一部分组成关键词驱动是为了解决通过录制的方法来产生流水式脚本的问题。就是先把所有需要的W
9、eb对象都添加到对象库中,然后在关键字视图中手动添加测试步骤,这样就是一个设计脚本的工作,可视化程度非常高,非常直观。这中方法的缺点是:对象库显得很臃肿控制语句不好增加如果不手动添加脚本,仍然只能实现简单的测试任务。对于QTP来说,其核心编码语言是VBScript,因此,如果用户熟悉VBScript,可以运用自如的添加和修改语句,并通过编程方式增强测试脚本,而这一切主要是在专家视图中完成。然而,QTP里所有的操作都是基于对象进行的,所以我们必须对对象模型有一个基本了解,才可以在专家视图内进行Descriptive Programming 需要安装调试器,9.5默认最后一步在线安装,或下载mic
10、rosoft script debugger断点的设定和调试方式:Step Into/Step Over/Step Out,进入方法调试/不进入方法/从方法中出来,Step Into/Step Over/Step Out和要不要调用方法无关(要调用的仍然要调用),而是你要不要进入方法观察,和从方法中出来继续观察下面程序的问题。Debug view-watch (1)在脚本中选中表达式,然后选择菜单DebugAdd to Watch。(2)在脚本中选中表达式,然后按Ctrl+T。(3)在脚本中选中表达式,然后选择右键菜单Add to Watch。(4)在Watch页,手工粘贴或输入Object或
11、变量名到“Name”列,然后点击回车,在“Value”列就会 显示数值。常见的wait 与 控件.Exist选中函数后F1可进入QTP自带函数帮助TestTestActionActionActionActionActionActionFunctionFunctionFunctionFunctionFunctionFunctionLibraryLibraryStepStepStepStepStepStep以以TestTest为测试运行单位,每个为测试运行单位,每个TestTest包含若干类型包含若干类型ActionAction。以以ActionAction为最小单位映射对象库,多个为最小单位映射
12、对象库,多个ActionAction之间可以共享统一对象库之间可以共享统一对象库ActionAction内的内的StepStep可以包含用户录制操作或者函数库内对可以包含用户录制操作或者函数库内对FunctionFunction的调用的调用StepStepStepStep我们可以move up 或者move down 已经存在的action彻底删除action,我们需要在关键字视图中delete the action and its call from this test可以重复使用某一个action(action的复用),也可以拆分某一个action的若干步骤为不同的action关注和区分三
13、个setting之前曾经提到,以Test为测试运行单位,每个Test包含若干类型Action这个Action就包括了可利复用的Action如果某Action的属性被设置为可复用的,那么别的脚本就能调用这个Action的内容在QTP中可以使用两种调用其他Action的方法分别是call to copy of Action与call existing Action,他们之间的区别如下:两种方式都是将以被保存的可复用Action调用过来,但是copy Action是将原本Action中的所有属性,及其参数值调用过来,并且可以在其上随意的更改,而且这些更改并不影响源Action;而call existing Action虽然也是将源Action的所有属性及其参数值都调用过来,但是不能更改其中的任何步骤和参数值,如果一定要更改,需要重新打开源Action,在源Action上进行更改,所作的改动将自动体现在调用的Action上本次演示内容:自动化系统登录测试参数化脚本中登录系统的用户与密码根据测试用例填写数据驱动表格实现自动化测试并判断系统登录功能是否正确感谢大家!感谢大家!感谢大家!感谢大家!