软件测试自动化第9章.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《软件测试自动化第9章.ppt》由会员分享,可在线阅读,更多相关《软件测试自动化第9章.ppt(109页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第9章章 软件测试自动化软件测试自动化本章要点l自动化测试的优点l对自动化测试的认识误区l自动化测试的原理和方法l主流测试工具lWinRunner及其使用9.1 自动化测试概述自动化测试概述1自动化测试的必要性软件的开发过程中,软件测试常需迭代地执行,若不对测试的过程和配置进行有效的管理,则无法很好地完成既定的测试目标。迭代的测试还意味着回归测试的执行。当回归的次数太多,全部依靠人工来完成,任何人都会有难以忍受的感觉。事实上,软件测试本身的特点决定了测试中的很多工作是可以重复执行的,应将它们独立出来,交给测试工具来自动实现。2自动化测试的优点l可以提高软件测试的效率l可对测试配置进行有效的管
2、理,并使测试配置在整个测试生命周期内得到复用l通过测试过程的自动化管理使测试实施方可以通过流程的关键绩效指标来衡量测试过程的一致性和有效性l对测试过程进行规范地定义,提高了测试可靠性l减少了人工测试,在一定程度上降低了测试成本l可以执行一些手工不可能进行的测试l使测试变得更加有趣9.2 自动化测试的引入和实施自动化测试的引入和实施n9.2.1对自动化测试的认识误区(1)自动化测试应完全取代人工测试一般说来,测试过程中80%以上的缺陷是人工测试发现的,仅有不到20%的缺陷是自动化测试发现的,而且这20%要求企业具有较高的自动化测试实施水平。以下列出了可考虑使用自动化测试的情形:对主要功能的测试。
3、容易自动化的测试。人工难以进行的测试。运行最频繁的测试。很快有回报的测试。(2)测试用例可完全由测试工具自动生成测试工具无法自动了解程序的功能,自动生成的测试用例具有很大的局限性。依靠自动测试用例,通常只能发现异常之类的极端错误,大多数一般错误都是无法发现的。因而测试用例主要仍是通过人工设计的。(3)测试工具可以在任何场合使用测试工具都是针对解决特定问题而开发的,有其功能的局限性;而且作为软件,测试工具也存在软件兼容性方面的问题。(4)自动化后测试效率立刻提高一个企业决定引入测试工具实现自动化测试,是需要做大量前期准备工作的l企业在决定引入自动化测试之前,应做技术、资金等多方面做细致的可行性分
4、析。l进行可行性分析后,若决定引入自动化测试,企业还需要做如下一系列工作,为自动化测试的顺利引入创造良好的内部环境。对开发及测试流程进行调整与改进,使之尽量合理、规范。对现有的应用平台进行必要的整合。对人员组织结构进行调整。对需求、设计、编码、维护及配置管理等其他方面的工作进行优化。对相关员工进行培训,包括测试流程、缺陷管理、测试工具使用等。(5)自动化测试顺利引入后就一劳永逸了顺利引入自动化测试工具后,自动化测试能否达到应有的效果还取决于实施过程中的多方面因素l对自动化测试方案是否进行了系统、周密的设计。l对自动化测试实施的监督和评估。n9.2.2自动化测试的实施流程选择测试工具对于特殊的业
5、务需求,自行开发测试工具。全面实施自动化测试之前,可先进行小规模的试验。做自动化测试的需求分析。根据自动化测试的需求分析文档,设计自动化测试方案。应注意设计方案的合理性、全面性、简洁性。进行测试脚本的开发。使用配置管理工具来对脚本进行统一管理和维护,对自动化测试的实施进行监督和评估。9.3自动化测试的原理和方法自动化测试基于的原理和方法主要有:脚本预处理、脚本技术、自动比较技术脚本预处理、脚本技术、自动比较技术。n9.3.1脚本技术测试脚本(TestScript)是一个特定测试对一个特定测试对应的一系列指令(及数据)应的一系列指令(及数据),这些指令可以被测试工具自动执行。脚本是程序的一种形式
6、脚本是程序的一种形式。脚本可通过录制测试的操作产生,再在其基础上做修改;也可以直接用脚本语言编写脚本。脚本中通常含有如下信息:l同步(何时进行下一个输入)。l比较信息。l捕获何种屏幕数据,存储在何处。l从其他数据源读取数据信息。l控制信息。脚本可分为如下几类:n线性脚本n结构化脚本n共享脚本n数据驱动脚本n关键字驱动脚本n9.3.2脚本预处理脚本的预处理是指脚本在被工具执行前必须进行编译,预处理功能通常需要工具支持。脚本预处理的功能主要有美化器、静态分析和一般替换美化器、静态分析和一般替换。l美化器是一种对脚本格式进行检查的工具,必要时对脚本进行转换,以符合编程规范的要求。美化器可以让脚本编写
7、者更专注于技术性的工作。l静态分析对脚本或表格执行更重要的检查功能,检查脚本中出现的和可能出现的缺陷。测试工具通常可以发现一些如拼写错误或不完整指令等脚本缺陷,这类似于程序设计中的PC-Lint和LogiScope的功能。l一般替换也就是宏替换。可以让脚本更明确,易于维护。使用替换时应注意不要执行不必要的替换。n9.3.3自动比较技术是通过在测试的实际输出与预期输出之间完成一次或多次比较在测试的实际输出与预期输出之间完成一次或多次比较来实现的。比较器可以检测两组数据是否相同,功能较齐全的比较器还可标识有差异的内容。但比较器并不能告诉用户测试是否通过或失败,需用户自行判断。自动比较的内容可以是多
8、方面的,包括基于磁盘输出的比较,如对数据文件的比较;基于界面输出的比较,如对显示位图的比较;基于多媒体输出的比较,如对声音的比较;还包括其它输出的内容的比较。自动比较可分为静态比较和动态比较静态比较和动态比较。动态比较是在测试过程中进行比较,静态比较则将测试结果存入数据文件,再通过工具进行比较。还可分为简单比较和智能比较简单比较和智能比较。简单比较查看实际输出与预期输出是否完全相同。智能比较是允许用已知的差异来比较实际输出和预期输出。9.4对产品可测试性的考虑软件产品一般会用到下面三种不同类别的接口:命令行接口(CommandLineInterfaces,简称CLIs)、应用程序接口(API)
9、、图形用户接口(GUI)。API接口和命令行接口比接口和命令行接口比GUI接口容易实现自动化测试。接口容易实现自动化测试。为了降低自动化测试复杂度,应确定被测产品是否包含API接口或命令行接口。有些时候,这两类接口隐藏在产品的内部,需细致地分析才能找到。为了让API接口测试更为容易,应该把接口与某种解释程序,例如Tcl、Perl或者Python绑定在一起。如果没有找到命令行接口或者API接口,开发人员最好对产品进行改造,以提供命令行接口或者API接口,从而支持产品的可测试性9.5测试工具概述n测试工具可为测试管理工具、性能测试工具、功能测试工测试管理工具、性能测试工具、功能测试工具、白盒测试工
10、具具、白盒测试工具,这些产品主要是HPMercury、IBMRational、Segue、Compuware和Empirix等公司的产品,还有相当数量的开源测试工具。n所谓开源工具开源工具是指开放源代码的测试工具。开源测试工具和商业测试工具相比,具有小巧、灵活易扩展、免费的特性。但开源工具缺乏使用培训和技术支持,工具的用户界面一般也较为粗糙。技术水平较高的测试人员,或经费紧张的中小企业,可考虑使用开源工具。n9.5.1主流测试工具(详见书)1测试管理工具2功能测试工具3性能测试工具4白盒测试工具n9.5.2IBMRational软件自动化测试解决方案IBMRational软件自动化测试解决方案
11、的三个最佳成功经验是:尽早测试、连续测试、自动尽早测试、连续测试、自动化测试化测试,并在此基础上提供了完整的软件测试流程和一整套的软件自动化测试工具,为企业自动化测试提供了优良的解决方案。1IBMRational软件自动化测试解决方案的最佳成功经验(1)尽早测试(2)连续测试(3)自动化测试2IBMRational软件测试流程(1)软件测试流程框架IBMRational统一开发流程RUP提供了一套完整的测试流程框架,软件测试团队可以以它为基础,定制符合团队使用的软件测试流程。RUP中的软件测试流程为:l制定测试计划l设计测试l实施测试l执行测试且评估测试l若还需进行回归测试则转,否则结束整个测
12、试流程。(2)利用TestManager实现软件自动化测试流程(详见书)3IBMRational软件自动化测试工具的功能(详见书)(1)实现自动化功能和性能测试(2)实现自动化的可靠性测试和单元测试(3)实现实时系统的自动化测试n9.5.3HPMercury软件自动化测试解决方案HPMercury的应用实施产品率先提供了以业务为中心的生命周期方法,用于优化预生产期间的质量和性能。测试和开发人员可以制定更加明智的“投入使用”决策,减少软件缺陷,节省部署新软件或软件升级所耗费的时间和成本,同时确保应用程序随时都能提供预期的业务功能。可对MercuryQualityCenter和MercuryPer
13、formanceCenter中最重要的几个测试工具做如下分类:测试管理:TestDirector性能测试:LoadRunner功能测试:QuickTestProfessional、WinRunner9.6使用WinRunner进行功能测试n9.6.1WinRunner简介1WinRunner的启动单击WinRunner8.0的桌面图标,或在“程序”菜单中选中WinRunner8.0,可以启动WR。WR启动时,显示如图9-4所示的画面。图9-4WinRunner8.0启动界面n接下来,会出现插件管理器界面供用户加载插件,如图9-5所示。建议在此不要选择所有插件,因为这样可能会对录制或执行脚本造成
14、不良影响。图9-5WinRunner的插件管理器2WR的主界面启动WR后,进入到WR的主界面,可在主界面“File”菜单中点击“Open”,打开一个已有的测试,或点击“New”新建一个测试。当点击“New”新建一个测试后,将进入如图9-6所示的主界面。标题栏标题栏菜单栏菜单栏文件工具栏文件工具栏调试工具栏调试工具栏测试工具栏测试工具栏用户工具栏用户工具栏状态栏状态栏工作窗口工作窗口图9-6WinRunner的主界面n3WinRunner主界面各组成部分的介绍(1)标题栏标题栏显示了目前正在编辑的测试。(2)主菜单菜单包含了WR的所有功能。(3)工具栏在WR的主界面中,有如下几种工具栏:文件工具
15、栏:可通过此工具栏中的工具新建、打开、保存、打印测试文件,设置测试属性,查看测试结果,查看帮助。调试工具栏:可通过此工具栏中的工具调试测试脚本。测试工具栏:可通过此工具栏中的工具选择运行模式、以不同方式录制脚本、运行脚本等。用户工具栏:此工具栏包含了创建测试时常用的命令,用户可对其进行定制。(4)工作窗口工作窗口用于显示当前正在录制或编辑的脚本,如图9-7所示。(5)状态栏状态栏位于WR主界面的底部,显示当前运行状态或所选择的命令。图9-7WinRunner的工作窗口n4WinRunner的测试模式n在WR中,使用录制脚本的方式生成测试时,包括两种录制测试的模式:上下文相关模式上下文相关模式(
16、ContextSensitivemode)和模拟模式模拟模式(Analogmode),如图9-8所示。图9-8使用上下文相关模式n9.6.2WinRunner的测试流程WR的测试流程大致包括六个步骤六个步骤:创建GUImap文件;创建测试脚本;调试脚本;运行测试;检查测试结果;提交缺陷。n1创建GUImap文件在WR中,可以通过GUImap文件来识别被测试应用程序中的GUI对象。一般可以使用两种方式创建GUImap文件:一种是使用RapidTestScriptWizard来自动学习对象,用它来产生GUImap文件。另一种是在录制脚本时,通过用户点击对象,由WR捕捉对象的描述,并将其加入GUIm
17、ap文件中。n2创建测试脚本测试脚本的创建有录制录制和编程编程两种方式,或两者的组合。在录制测试脚本时,可以在用户想要检查被测试应用程序响应的地方插入检查点检查点(Checkpoint),以确定程序是否能正确运行。这些检查点包括GUI对对象检查点、图像检查点、数据库检查点和象检查点、图像检查点、数据库检查点和文本检查点文本检查点。n3调试脚本在运行测试脚本前,设置运行模式为调试运行调试运行模式模式(DebugRunmode),可以对测试脚本进行调试,如图9-12所示。通过调试,可以较精确地找出出现错误的位置。在实际测试过程中,可以使用WR提供的Step,StepInto,Stepout功能来调
18、试脚本。图9-12设置调试运行模式n4运行测试在运行测试脚本前,设置运行模式为验证验证运行模式运行模式(VerifyRunmode),即可运行脚本来测试应用程序。当WR在运行中碰到检查点时,它会将被测应用程序中的当前数据和以前捕捉的期望数据进行比较,如果发现了任何不匹配,WR将会把目前的情况捕捉下来作为真实的结果。n5检查测试结果测试脚本运行结束后,WR会将执行结果显示在报告中。它描述了所有在运行中碰到的重要事件,例如检查点、错误信息、系统信息或是用户信息。如果发现在运行中有任何不匹配的检查点,可以在测试结果窗口中查看期望的和实际的结果。如图9-13所示。图9-13测试结果窗口n6提交缺陷如果
19、一个测试脚本是由于所测试应用程序中的缺陷而导致执行失败的,可以直接从测试结果窗口中提取缺陷的相关信息。n9.6.3GUIMapn图形用户接口映射n1GUIMapFile模式在创建测试工程时,用户首先要确定GUIMapFile模式。在WR中,有两种GUImapfile 模式:GUI Map File per Test 和Global GUI Map File。nGlobalGUIMapFile模式在这种模式下,可以多个测试脚本共享一个GUIMapFile。在开启测试脚本时,同时加载所使用的全局GUIMapFile即可。产生GlobalGUIMapFile的方法是在录制测试脚本前,让WR全面学习被
20、测软件的所有GUI对象,一般是采用WR中提供的RapidTestScriptWizard功能来完成。这种模式适合已经熟悉了WR使用的用户。n在采用GlobalGUIMapFile模式的情况下,如果在录制脚本时,出现了一些新的GUI对象,WR会自动将其识别下来,并保存在临时的GUI文件中。在WR的GUIMapEditor中,该临时文件显示为*L0文件,如图9-14所示。在这种情况下,要注意将临时GUI文件合并到全局的GUIMapFile中,否则运行脚本时,系统会提示找不到对象。图9-14临时GUI文件nGUIMapFileperTest模式在这种模式下,当用户新建立一个测试脚本时,WR会自动建立
21、此测试脚本的GUIMapFile。当存储测试脚本时,WR会自动储存GUIMapFile。开启测试脚本,WinRunner会自动加载GUIMapFile。总之一切与GUIMapFile有关的动作,都由WR自动处理。因此这种模式很适合初学WR的用户。n2使用RapidTestScriptWizard学习GUI对象(详见书)n9.6.4创建测试WR生成测试工程的方法有两种:自动录制脚自动录制脚本本和手工编写脚本手工编写脚本。后者功能较强,但只适合对WR使用较熟练的测试人员。对初学者,一般使用自动录制脚本方式。在实际应用过程中往往是将这两种方法结合起来,即先使用自动录制脚本方式来创建测试工程,然后再手
22、工添加所需的脚本。n1录制测试脚本测试脚本录制步骤如下:(1)运行WR,单击菜单栏“File”下的“New”菜单项,创建一个新的测试。单击菜单栏“File”下的“Save”,或者工具条上的保存按钮将其保存,文件名为sample_1。需要注意的是,保存脚本文件时,WR会自动创建一个名为sample_1的文件夹,并将脚本文件保存在其中,如图9-27所示。图9-27sample_1文件夹(2)运行Flight4A。(3)单击菜单栏“Test”下的“ContextSensitive”菜单项,开始以“上下文相关”(ContextSensitive)模式录制一个脚本。(4)回到“FlightReserva
23、tion”窗口,单击菜单栏“File”下的“OpenOrder”菜单,如图9-28。图9-28打开OpenOrder窗口(5)在出现的窗口中,选中OrderNo,输入数字1(表示打开#1号订单),按OK按钮。(6)窗口中将出现所选中记录的内容,如图9-30。图9-30订单记录窗口(7)单击工具条上的Stop按钮,停止录制。(8)保存录制的脚本。n2测试脚本简介WR的测试文件是由测试脚本语言TSL(TestScriptLanguage)组成的文本文件。我们以sample_1脚本文件为例进行介绍,如图9-31所示。图9-31测试脚本示例(4)menu_select_item(File;OpenOr
24、der.)即打开菜单“File”下的“OpenOrder”菜单项。(5)当单击一个对象时,WR会分配给其一个逻辑名称,一般为对象的文本标签(textlabel)。如当单击窗口中的复选框(CheckBox)按钮,WR会生成语句:button_set(OrderNo.,ON),OrderNo为这个对象的逻辑名称,ON代表复选框被选中。(6)当从键盘输入时,WR会将产生一个Type(类型)、obj_type(对象类型)或一个edit_set()描述在脚本中。如本例:在“OrderNo.”文本框中输入数字,则WR会生成语句:edit_set(Edit-1,1);Edit-1为文本框对象的逻辑名,1表示
25、文本框的值为1。(7)button_press(OK)表示单击OK按钮,关闭OpenOrder窗口。更多的帮助请参考WR中的“Help”下的“TSLOnlingReference”。另外,用户可以在WR的工作窗口中,获取帮助。方法是:在脚本中选中某个函数或关键字,然后按F1键。(1)#FlightReservation语句是一条注释语句,在WR中,注释语句均以#开始,WR在打开新窗口时,都会自动增加一行注释。(2)在win_activate(FlightReservation)中,win_activate()函数激活一个窗口,其参数为窗口名称,如本例的FlightReservation。(3)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 自动化
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内