1QuickTestProfessional文档状态:草稿版当前版本:V1.3编写:刘毅编写日期:2006-10-01审核:审核日期:批准:批准日期:2文档修订记录章节编号修订前版本号修订后版本号修订内容简述修订日期作者所有1.0新建2006-10-01刘毅一1.01.1增加4、5、6三节2006-12-27刘毅一、二1.11.2新增第一、二部分图片说明2007-1-12刘毅二、三1.21.3新增16、30、33节,修改112007-1-15刘毅3摘要「软件测试自动化」已经被许多的软件测试专家验证是可行的,并且反复的运用在许多软件开发过程中。大多数参与软件测试的专家也同意自动化测试不只是值得的同时也是必要的。在软件测试的市场上有许多针对使用者接口(GUI)应用程序所开发的自动化测试工具,而且其中有些工具所提供的功能,已经足够满足软件测试自动化的需求。但是,我们却看到越来越多的公司,在购买自动化测试工具之后才发现,实施一个符合成本效益(cost-effective)的自动化测试解决方案(solution)原比其所呈现的还困难。我们会常常听到一些抱怨,像是“看软件测试工具厂商做起来好像很容易,但是当我们的人自己做的时候却完全不是那么一回事!”、“事实上我们已经花了六个月的时间在导入自动化测试,但是大部分的测试却还是停留在人工测试的阶段!”或是“要让整个自动化测试运作起来所花费的时间实在太长了,还不如使用原本的人工测试所花的时间更短!”。通常最后的结局是“另一个错误的采购!”,自动化测试工具从此被束之高阁了。何谓自动化测试?简而言之,所谓的自动化测试就是将您现有的手动测试流程给自动化。而且要实施自动化测试的公司或组织,本身必须要有一套「正规(formalized)」的手动测试流程。而这个正规的手动测试流程至少要包含以下的条件:详细的测试个案(testcases):从商业功能规格或设计文件而来的测试个案,包含可预期的(predictable)的预期结果(expectedresult)。独立的测试环境(testenvironment):包含可回复测试资料的测试环境,以便在应用软件每次变动后,都可以重复执行测试个案。假如您目前的测试流程并未包含上述条件,即使您导入了自动化测试,也不会得到多大的好处。所以,假如您的测试方法(testingmethodology)只是将应用软件移转到一群由「使用者」或「专家级使用者(subjectmatterexperts)」组成的测试团队,然后任由他们去敲击键盘执行测试工作。那我建议您先把自动化测试放一边,把「建立一个有效的测试流程」当成您目前首要的工作。因为要自动化一项不存在的流程是完全没有意义的。自动化测试最实际的应用与目的是自动化回归测试(regressiontesting)。也就是说,您必须要有用来储存详细测试个案的数据库,而且这些测试个案是可以重复执行于每次应用软件被变更后,以确保应用软件的变更没有产生任何因为不小心所造成的影响。「自动化测试脚本(script)」同时也是一段程序。为了要更有效的开发自动测试脚本,您必须和一般软件开发的过程一样,建立制度以及标准。要更有效的运用自动化测试工具,您至少要有一位受过良好训练的技术人员,换句话说,您至少要有一位程序设计师(programmer)。该段文字摘自《TotallyData-DrivenAutomatedTestingByKeithZambelichSr.SoftwareQualityAssuranceAnalyst,AutomatedTestingEvangelist》,作者目前为AutomatedTestingSpecialists,Inc.公司的总裁兼执行长官,主要从事自动化测试导入的顾问工作。本文介绍的相关知识就是这位程序设计师所需要具备的最基本的知识。本文系取前者之经验,综合运用,非一人之得,不敢妄专,惟留一己心得耳。4第一部分基础知识1.QTP安装主程序:进入下面目录运行:QTP90\QuickTest\setup.exe在没有Licence的情况下选择安装演示版,完成安装之后再破解,其它按照默认设置完成安装,可暂不重启;中途需要下载MicrosoftScriptDebugger(脚本调试器),如果下载失败,可以安装结束之后另行下载安装:..\..\ADD-INS\脚本调试器.exe安装中文插件(可选):进入下面这个目录运行:QTP90CHS\QuickTestPro_CHS\QuickTestPro_CHS.exe按照默认设置完成安装,可暂不重启;关联QC插件(MercuryQualityCenterAdd-in):进入下面目录运行:QTP90\TDPlugin\TDPluginsetup.exe按照默认设置完成安装,以上安装完成之后必须重新启动QTP才可以进行许可证的安装。安装插件许可证:1、使用并发许可证这需要有正版Lic的机器做服务器,在运行QTP的时候点击“修改插件许可证”,选择安装并发许可证,再入如服务器地址,如:192.168.168.892、使用单机许可证把mgn-mqt82.exe文件放到X:\ProgramFiles\MercuryInteractive\QuickTestProfessional下面,然后运行,退出重新运行QTP即可。在已经安装并发许可证而又想修改许可证为单机许可证的话,可能上面的方法行不通,这种情况下可以试着先使用记事本或者相关的程序打开C:\ProgramFiles\CommonFiles\MercuryInteractive\LicenseManager\lservrc文件,在打开的文件中,复制形如下面的一段字符串:D6BUMD6BUMD6BUMD6BUMD6BUMD6BUMD6BUMD6BUM8QARH#,记得一定带上“#”号,在首次运行QTP的时候点击“修改插件许可证”,选择安装单机许可证,再将这段字符粘贴到里面重启QTP就行了。2.QTP启动要启动QuickTest,请选择“开始”菜单中的“程序”“QuickTestProfessional”“QuickTestProfessional”。第一次启动QuickTest时,打开“加载项管理器”对话框。5提示:如果不希望下次启动QuickTest时打开该对话框,可以清除“启动时显示”复选框。单击“确定”。打开“QuickTestProfessional”窗口。可以选择打开QuickTest教程,开始录制新测试,打开现有测试或打开空白的新测试。6提示:可以按ESC键关闭窗口,也可以点击“空白测试”建立新的测试,或者打开其它测试脚本或组件。可以单击“每日提示”浏览所有可用提示。如果不希望下次启动QuickTest时显示该窗口,可以清除“启动时显示该屏幕”复选框。3.QTP窗口QuickTest窗口包含下列关键元素(下图为QTP8.2的试图,和9.0版本稍有不同):➤标题栏-显示当前打开的测试或组件的名称。➤菜单栏-显示QuickTest命令菜单。➤文件工具栏-包含若干按钮,协助您管理测试或组件。➤测试工具栏-包含若干按钮,协助您完成测试过程。➤调试工具栏-包含若干按钮,协助您对测试或组件进行调试(默认情况下不显示)。➤操作工具栏-包含若干按钮和一个操作列表,用于查看单项操作或整个测试流的详细信息。➤测试窗格-包含关键字视图和专家视图选项卡。➤ActiveScreen-当您在录制会话过程中执行某个特定步骤时,提供了出现的应用程序的快照。➤数据表-协助您对测试或组件进行参数化。对于测试,数据表包含“全局”选项卡和每个操作的选项卡;对于组件,数据表包含单个选项卡。➤“调试查看器”窗格-协助您对测试或组件进行调试。“调试查看器”窗格包含“监视表达式”、“变量”和“命令”选项卡(默认情况下不显示)。➤状态栏-显示QuickTest应用程序的状态。74.QTP常用快捷方式下表这些快捷方式是我们经常用得到的,而其它的快捷方式记忆起来比较复杂,具体参见QTP的帮助文档:CommandShortcutKeyFunctionRecord(普通录制)F3Startsarecordingsession.Run(运行)F5Startsarunsessionfromthebeginningorfromthelineatwhichthesessionwaspaused.Stop(停止)F4Stopstherecordingorrunsession.RunfromStep(丛当前步骤运行)CTRL+F5Startsarunsessionfromtheselectedstep.AnalogRecording(模拟录制)SHIFT+ALT+F3Startsrecordinginanalogrecordingmode.LowLevelRecording(低级录制)CTRL+SHIFT+F3Startsrecordinginlowlevelrecordingmode.ObjectRepository(打开对象库)CTRL+ROpenstheObjectRepositorydialogbox.StepInto(单步调试运行到)F11Runsonlythecurrentlineofthescript.Ifthecurrentlinecallsamethod,themethodisdisplayedintheviewbutisnotperformed.StepOver(跳出断点)F10Runsonlythecurrentlineofthescript.Whenthecurrentlinecallsamethod,themethodisperformedinitsentirety,butisnotdisplayedintheview.StepOut(跳过断点)SHIFT+F11Runstotheendofthemethodthenpausestherunsession.(AvailableonlyafterrunningamethodusingStepInto.)RuntoStep(运行到)CTRL+F10Runsuntilthecurrentstep.AddtoWatch(添加到观察表)CTRL+TAddstheselecteditemtotheWatchtab.Insert/RemoveBreakpoint(断点)F9Setsorclearsabreakpointinthetest.Enable/DisableBreakpoint(启用/停用断点)CTRL+F9Enablesordisablesabreakpointinthetest.ClearAllBreakpoints(清除所有端点)CTRL+SHIFT+F9Deletesallbreakpointsinthetest.CheckSyntax(语法检查)CTRL+7Checksthesyntaxoftheactivedocument.5.检查点概述在录制会话过程中或在编辑测试或组件时添加检查点。在录制了初始测试或组件之后,8通常可以更为方便地定义检查。有几种方法可以添加检查点。在录制或编辑时添加检查点使用“插入”菜单上的命令,或者单击“测试”工具栏上的“插入检查点”按钮旁边的箭头。这将显示与关键字视图的选定步骤相关的检查点选项的菜单。只在编辑时添加检查点右键单击关键字视图中您要添加检查点的步骤,然后选择“插入标准检查点”。右键单击ActiveScreen中的任意对象,然后选择“插入标准检查点”。可使用该选项为ActiveScreen中的任意对象创建检查点(即使该对象不是关键字视图中任一步骤的组成部分)。注意:如果使用“ActiveScreen”方法,请确保ActiveScreen包含有关待检查对象的充足数据。了解检查点类型检查点类型描述用法示例标准检查点检查对象的属性值。检查是否选中某单选按钮。图像检查点检查图像的属性值。检查图像源文件是否正确。表检查点检查表中的信息。检查表单元格中的值是否正确