MercuryQuickTestProfessional8[1].2教程.ppt_第1页
MercuryQuickTestProfessional8[1].2教程.ppt_第2页
MercuryQuickTestProfessional8[1].2教程.ppt_第3页
MercuryQuickTestProfessional8[1].2教程.ppt_第4页
MercuryQuickTestProfessional8[1].2教程.ppt_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Mercury QuickTest Professional 8.2 教程 * iSoftStone Information Service Corporation 目录 自动化测试简介 QuickTest Pro简介 QuickTest Pro的测试流程 QuickTest Pro 进阶 2 2005 iSoftStone Information Service Corporation. All rights reserved. 1.自动化测试简介 GUI自动化测试方面的理论有很多,众说纷纭。比较受认同的观点有: 自动化测试可以将测试人员从重复枯燥的手工操作中解放出来,让测 试人员有更多的精力关注在对被测系统的分析上。测试人员将更加重 视测试用例的设计。 自动化测试在现阶段不能取代手工测试。 凡是重复枯燥的工作,都可以也应该被自动化测试取代。 回归测试是使用自动化测试的一个比较适宜的阶段。 自动化测试需要在覆盖率和实现成本上找到平衡点。覆盖率越高,实 现和维护成本越大。覆盖率低,自动化测试没有实现的价值。针对产 品,应该在自动化测试中实现实施测试的关键流程。 自动化测试需要测试人员有一定的软件设计和开发能力,同时也要对 被测系统的业务有一定的认识。 自动化测试需要有完善的测试流程和测试策略做保证。 自动化测试的脚本的维护成本比较高。 3 2005 iSoftStone Information Service Corporation. All rights reserved. 2. QuickTest Pro 简介 QuickTest Professional是新一代自动化测试解决方案,采用了关键 词驱动(Keyword-Driven)测试的理念,能完全简化测试的创建和维 护工作。 QTP的界面介绍: Test Pane包括Keyword View 和Expert View两个视图。图中显示的 是关键词视图,录制生成的脚本可以在这里很直观的看到,可以在此 视图完成参数化的工作。Expert View可以在在此视图中直接修改生 成的脚本,适合对VB脚本和QTP的函数比较熟悉的测试人员使用。 Data Table,就是一个Excel,用于提供自动化测试脚本所需的输入 数据或者校验数据。指向测试脚本文件目录下的Default.xls文件。可 以直接在Excel中编辑数据。 Active Screen,录制脚本时生成,记录下Web页面,可以在此完成大 量的修改脚本工作,如添加检查点等。 4 2005 iSoftStone Information Service Corporation. All rights reserved. 2. QuickTest Pro 简介 5 2005 iSoftStone Information Service Corporation. All rights reserved. 3. QTP的测试流程 设计测试用例的测试数据 录制测试脚本 修改并调试测试脚本 执行测试脚本 分析测试报告 回报发现的缺陷 6 2005 iSoftStone Information Service Corporation. All rights reserved. 设计测试用例的测试数据 分析业务,设计你的测试用例,决定要测试和校验哪些功能点(根据 需求或者设计文档)。 设计你的测试用例的测试数据。 根据QTP的功能特点和实现成本,决定哪些用例手工执行,哪些用例 使用QTP执行。 分析这些需要实现的自动化测试过程,合理安排录制脚本的顺序,尽 量使生成的脚本复用。这个需要经验的积累。 例:现在要测试银企登陆页面,详细的测试数据如下: 7 2005 iSoftStone Information Service Corporation. All rights reserved. 设计测试用例的测试数据 8 2005 iSoftStone Information Service Corporation. All rights reserved. 录制测试脚本 当在Web页面或者其它的应用程序的GUI上执行操作时,QTP会记录 下你的操作步骤,并产生测试脚本。当你停止录制测试脚本后,会看 到QuickTest在Keyword View中以表格的方式显示测试脚本的操作步 骤(steps)。 根据测试数据,执行后生成的脚本如下(树状结构): 9 2005 iSoftStone Information Service Corporation. All rights reserved. 录制测试脚本 10 2005 iSoftStone Information Service Corporation. All rights reserved. 修改并调试测试脚本 l 添加对象和步骤 l 参数化 l 增加条件控制 l 建立检查点 l 建立输出值 l 分割脚本 11 2005 iSoftStone Information Service Corporation. All rights reserved. 添加对象和步骤 可以发现,我们录制的脚本中,缺少用户名和密码的输入框这两个对 象。下面增加在用户名和密码的输入框输入值的这两个步骤。 选中“iTreasury资金管理平台”这个Page对象,点击insert-newstep; 如果你所要添加的控件QTP已经识别过类似的控件,你可以使用这个 类似的控件,并且通过修改属性来添加这个新的步骤,如果QTP没有识 别过,选择step generator,弹出对话框; 点击图中的 图标按钮,弹出对话框,点击其中的按钮 ,鼠标 会从箭头变为手型指针,在你要测试页面上选中你要添加步骤所需要 的控件用户名和密码的输入框 添加用户名和密码输入框中的值(value),“”是指在输入框中输入空 。点击ok,所选对象的属性将被保存到对话框中,再点击“ok”按钮就完 成了整个添加点击“确定”按钮这个步骤。 12 2005 iSoftStone Information Service Corporation. All rights reserved. 添加对象和步骤 最后,使用TestUpdate Run方式运行脚本。Update Run方式运行 脚本,可以在运行的同时更新Active Screen,checkPoint 以及Test Object。特别是更新Active Screen的功能,手工添加的步骤使用普通 方式运行脚本,不会生成Active Screen,这样就无法添加检查点。 另外,也可以在对象库(Object Reponsitory)中添加对象。 13 2005 iSoftStone Information Service Corporation. All rights reserved. 参数化 根据测试数据,可以发现,执行的所有操作,只是修改登陆名和密码,所以 我们可以把这两个输入值参数化,使得脚本执行时,自动取DataTable的值 来运行。调出参数化窗口的方法有两个: 在KeyWord View中点击想要被参数化的值,如图中的“test1”,再点击出现的 图标 ,或者使用快捷键“Ctrl+F11”; 在 这个输入框对象上,右键,弹出对话框,选择“Object properties”。不过在输入框对象中,使用不上。 参数化时,可以选择使用Global Sheet或者Local Sheet,当把参数化的值放 到Global Sheet中,就成为全局变量,放到Local Sheet中后,就是局部变量 ,只在本Action中可以调用。一般建议使用Local Sheet。 Global全局参数: 它控制整个Action的运行次数,global里有几行参数,则运行几次脚本。 Current Action(Local Sheet): 对应于单一的Action的参数,对于一个Action没有实际的意义,而几个Action共 同在一个脚本中使用时,就由他来控制单一Action的循环次数。 14 2005 iSoftStone Information Service Corporation. All rights reserved. 增加条件控制 QuickTest中的条件控制语句是通过VB脚本语言来实现的。 If 条件1正确 Then 执行语句1 ElseIf 条件2正确 Then 执行语句2 Else 执行语句3 End If 可以添加ElseIf子句以扩充 If.Then.Else 语句的功能,使您可以控 制基于多种可能的程序流程。 判断Excel中某列的值是否为空: DataTable(“列名”,dtLocalSheet)“ Then Browser(“iTreasuryPro资金管理平台“).Dialog(“Microsoft Internet Explorer“).Static(“请输入密码“).Check CheckPoint(“请输入密码“) Browser(“iTreasuryPro资金管理平台“).Dialog(“Microsoft Internet Explorer“).WinButton(“确定“).Click elseif DataTable(“checkDBMsg“,dtLocalSheet)“Then 19 2005 iSoftStone Information Service Corporation. All rights reserved. 执行测试脚本 Browser(“Browser“).Dialog(“Microsoft Internet Explorer“).Static(“登 陆失败,可能原因:用户和密码不匹配,请重新登录“).Check CheckPoint(“登陆失败,可能原因:用户和密码不匹配,请重新登录“) Browser(“Browser“).Dialog(“Microsoft Internet Explorer“).WinButton(“确定“).Click else Browser(“iTreasuryProtm“).Page(“iTreasuryProtm“).Image(“main _bankportal“).Check CheckPoint(“main_bankportal“) Browser(“iTreasuryProtm“).Close End If 在Keyword View 中选中Action,右键,点击“Action Call Properties” ,弹出对话框,显示执行本Action的次数。选择“Run on all rows”,执 行所有的数据。 20 2005 iSoftStone Information Service Corporation. All rights reserved. 分析测试报告 执行完测试数据后,或者意外中断,测试执行结束,就会生成测试报 告。测试报告也是一个树形结构,需要注意标记为“X”的报告项。如 果有标记为“X”的报告项,可能是执行脚本出错,或者是检查点校验 没有通过,可能是一个缺陷。 21 2005 iSoftStone Information Service Corporation. All rights reserved. 回报发现的缺陷 如果QTP和Mercury公司生产的缺陷管理工具如Test Director以及 Quality Center连接起来,就可以把QTP中执行测试用例中发生的错 误以及发生错误时的截图发到缺陷管理工具中去,生成缺陷报告。 22 2005 iSoftStone Information Service Corporation. All rights reserved. QTP进阶 通过录制的方法生成测试脚本,往往不能把页面的所有Web对象都录 下来,虽然可以通过手动添加对象和步骤,来做一定的补充,但是灵 活度比较低,只能执行比较简单的测试任务。一般来说,在QTP里面 我们可以通过两种方式添加步骤来创建测试或组件: 在应用程序或网站上录制会话。 建立对象库并使用这些对象在关键字视图或专家视图中手动添加步骤 QTP中所有的操作都是基于对象来完成的,如果要想在关键字视图或 者专家视图手动添加步骤,必须对对象模型有一定的了解。 23 2005 iSoftStone Information Service Corporation. All rights reserved. QTP进阶 l QTP的对象识别机制 l 关键字驱动测试 l 描述性编程 l 一些技巧 24 2005 iSoftStone Information Service Corporation. All rights reserved. QTP的对象识别机制 测试对象模型是一大组对象类型或类,QTP用这些对象类型或类来表 示应用程序或Web页面中的对象。每个测试对象类都有一个可以唯一 标识属于该类的对象的属性列表,以及一组 QTP可以对其进行录制 的方法。它包括测试对象(Test Object)和运行时对象(RunTime Object)。 测试对象是QTP在测试中创建的用于表示Web页面或应用程序的实际 对象的对象。QTP存储有关的该对象的信息。 例如,在前面的例子中有说到一个“提交”按钮,它的Html源代码是: 可以看到这个Html标签的type是一个button,所以QTP将它识别为一 个WebButton,它在当前Web页面可以标识的属性value=“提交“,这 样,运行脚本的时候,QTP就通过type、value等属性在当前Web页 面匹配符合这些属性的Web对象,或者说是html标签,然后再执行对 “提交”按钮的Click方法。在对象库(Object Repository)中记录下“提交” 按钮这个对象的属性。 25 2005 iSoftStone Information Service Corporation. All rights reserved. QTP的对象识别机制 在关键字视图和专家视图中分别显示为: Browser(“iTreasuryPro资金管理平台“).Page(“iTreasuryPro资金管理 平台“).WebButton(“提交“).Click 26 2005 iSoftStone Information Service Corporation. All rights reserved. 关键字驱动测试 关键字驱动或者称为关键词驱动(KeywordDriven),是为了解决 通过录制的方法来产生脚本的问题。就是先把所有需要的Web对象都 添加到对象库中,然后在关键字视图中手动添加测试步骤,这样就是 一个设计脚本的工作,可视化程度非常高,非常直观。这中方法的缺 点有: 如果不手动添加脚本,仍然只能实现简单的测试任务。 27 2005 iSoftStone Information Service Corporation. All rights reserved. 描述性编程 通常情况下,当在录制一个操作时,QTP会将被操作对象加入到对象 库里(Object Repository)。一旦对象存在于对象库里,我们就可以 在专家视图里通过添加相关的对象方法来对该对象进行操作。我们可 以通过引用层次型对象库里的对象描述(Object Description)来添加 相应的方法。 因为QTP对象库中的每个对象都具有唯一名称,所以在引用时对象名 是必须需要指定的。然后在测试运行期间,QTP在对象库中根据这个 对象的名称和父对象来查找对象,并使用为这个测试对象存储的测试 对象描述,在网站或应用程序中标识该对象。 描述性编程,简单的来说,就是在专家视图中,手动编写脚本,对某 个对象执行某种操作。譬如,在用户名的输入框中输入“123”,用户 名的输入框的在该页面的标识是loginno,其类型为WebEdit,对此输 入框执行的是set一个值“123”,所以生成的脚本如下: WebEdit(“loginno”).set “123” 28 2005 iSoftStone Information Service Corporation. All rights reserved. 描述性编程 但是,这样的脚本,QTP并不知道这个文本输入框是在哪个页面的, 所以需要在前面加上Browser和Page的信息,指明是哪一个Web页面 的,最终生成的脚本是: Browser(“iTreasuryPro资金管理平台“).Page(“iTreasuryPro资金管理 平台“).WebEdit(“loginno”).set “123” QTP中Web对象比较常用的方法有: 29 2005 iSoftStone Information Service Corporation. All rights reserved. 描述性编程 如果Web对象没有被添加到对象库中,或者通过该Web对象的标识 QTP无法识别该对象(这种现象在识别Browser中经常遇到,特别是 放大镜),就可以通过直接在脚本中输入编程描述的方式来解决。 常规语法为: TestObject(“PropertyName1:=PropertyValue1“, “.“ , “PropertyNameX:=PropertyValueX“ TestObject - 测试对象的类。 PropertyName:=PropertyValue - 测试对象的属性及其值。各个 property:=value 对之间应用逗号和引号分开。 30 2005 iSoftStone Information Service Corporation. All rights reserved. 描述性编程 例如,在弹出客户放大镜的页面,点击一个客户编号的超连接,形成 的脚本如下: Dim bs_Title,pageTitle bs_Title=”客户放大镜- Microsoft Internet Explorer” pageTitle=”客户放大镜” Browser(“Title:=”&bs_Title).Page(“title:=”&pageTitle).Link(“text:=”&D ataTable(“客户编号”,dtLocalSheet).Click 31 2005 iSoftStone Information Service Corporation. All rights reserved. 描述性编程 此外,还可以使用description对象。使用 Description 对象可以返回 包含一组 Property 对象的 Properties 集合对象。Property 对象由属 性名和值组成。然后,可以在语句中指定用返回的 Properties 集合代 替对象名。(每个 property 对象都包含一个属性名和值)。要创建 Properties 集合,可以使用以下语法输入 Description.Create 语句: Set MyDescription = Description.Create() 例如,前面提到的放大镜的例子,使用description对象就变成: Set bs_Title= Description.Create() Set pageTitle= Description.Create() bs_Title(“title”).value=”客户放大镜- Microsoft Internet Explorer” pageTitle(“title”).value=”客户放大镜” Browser(bs_Title).Page(pageTitle).Link(“text:=”&DataTable(“客户编 号”,dtLocalSheet).Click 当然bs_Title和pageTitle这两个对象中可以存放多个Key和其对应的 Value。 32 2005 iSoftStone Information Service Corporation. All rights reserved. 描述性编程 描述性编程的缺点: 脚本调试花费比较多的时间。 需要测试人员有一定的编程基础。 33 2005 iSoftStone Information Service Corporation. All rights reserved. 一些技巧 QTP只支持VB脚本,同时提供了丰富的函数,或者称为方法,可以实现复杂 的功能。 如果要对弹出框的文字信息进行校验,就会用到GetROProperty这个方法: checkMsg=Browser(“软通动力“).Dialog(“Microsoft Internet Explorer“).Static(“是否保存?“).GetROProperty(“text“) GetROProperty是得到Web对象的运行时的属性(运行时是弹出显示的什么 内容,就得到什么内容); GetTOProperty是得到Web对象的原始属性(录制的时候是什么,得到的值 就是什么) GetTOProperties得到该Web对象的原始属性集,是一个对象,包含了所有 的属性值。 对于dialog中,虽然提示信息对象名称是“是否保存?”,但如果信息对象名称 是“客户编号不能为空”,不用更改也可以自动识别,“是否保存?”是一个 static的静态文本,只是让运行时能找到这个控制,而不管它是什么内容,因 为在对象仓库中,text不是决定该对象的属性。 34 2005 iSoftStone Information Service Corporation. All rights reserved. 一些技巧 校验数据库的方法: 将DataTable的值与数据库中的值进行校验,一般是校验增、删、改 操作是否成功; 将页面WebTable中的值和数据库中的值进行校验,一般是校验查询 出来的值是否和数据库一致。测试查询和报表会用到。 QTP或者说VBS链接数据库是使用ADO方式连接的,这个通用方法 ,我已经写好,可以通过添加资源文件的方式,在脚本中直接调用该 方法,在此不再赘述。 35 2005 iSoftStone Information Service Corporation. All rights reserved. 一些技巧 录制菜单: Js生成的菜单,QTP将其识别为WebElement,如果要在QTP中准确的 生成

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论