收藏 分销(赏)

第八章-软件测试自动化.pptx

上传人:精*** 文档编号:9304073 上传时间:2025-03-20 格式:PPTX 页数:100 大小:4.74MB 下载积分:18 金币
下载 相关 举报
第八章-软件测试自动化.pptx_第1页
第1页 / 共100页
第八章-软件测试自动化.pptx_第2页
第2页 / 共100页


点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2018-12-22,第,#,页,/,共,100,页,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,#,Click to edit Master title style,2018-12-22,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,#,Click to edit Master title style,2018-12-22,第八章 软件测试自动化,第,1,页,/,共,100,页,测试面临的问题,测试用例会越来越多,工作量越来越大,而且许多测试用例会被不断地重复执行。如果由手工来完成,不仅占用很多人力资源,而且工作重复单调,会影响测试人员的积极性,降低测试工作人员的热情,怎么办?,测试自动化,第,2,页,/,共,100,页,目录,8.1,自动化测试的作用与优势,8.2,自动化测试的原理,8.3,自动化工具的分类与选择,8.4,自动化测试的引入,第,3,页,/,共,100,页,8,.1,自动化测试的作用与优势,什么是自动化测试?,自动化测试(,automated test,)是相对手工测试(,manual test,)而存在的一个概念,由手工逐个地运行测试用例的操作过程被测试工具自动执行的过程所代替。,第,4,页,/,共,100,页,自动化测试的,作用,手工测试的不足:,手工,测试执行时间长,测试效率低。,由于,手工测试的工作量很大,在测试人员不足或测试周期很短的情况下,难以达到测试的充分性要求。,第,5,页,/,共,100,页,当修改了软件之后,经常难以及时完成有效的回归测试。同时,回归测试是典型的重复性测试工作,会使测试人员感到单调枯燥,。,当测试过程包含大量测试用例和测试数据时,测试执行和管理的细节会很繁琐,容易出错。,第,6,页,/,共,100,页,难以便捷和全面地对测试进程及其结果进行统计分析并生成规范性的测试报告。,性能测试时无法模拟大规模软件系统负载。,难以完成系统可靠性测试,无法模拟验证系统连续运行几个月甚至几年后是否仍然能够稳定运行,。,第,7,页,/,共,100,页,手工测试,发现缺陷率高,容易实施,创造性、,灵活性,覆盖率量化困难,重复测试效率低,不一致性、可靠性低,依赖人力资源,高效率(速度),高复用性,覆盖率容易度量,准确、,可靠,不知疲劳,激励团队士气,机械、难以发现缺陷,一次性投入大,自动测试,手工测试,vs.,自动测试,第,8,页,/,共,100,页,两者相互补充,在系统功能逻辑测试、验收测试、适用性测试、涉及交互性测试时,多采用手工测试方法;,单元测试、集成测试、系统负载或性能、可靠性测试等比较适合采用自动测试;,对那种不稳定、开发周期短或一次性的软件等不适合自动测试;,工具本身缺乏想象力和创造性,自动测试只能发现,15%,的缺陷,而手工测试可以发现,85%,的缺陷,;,第,9,页,/,共,100,页,测试工具对软件测试的影响,测试,工具的广泛使用大大提高了软件测试的自动化程度。通过测试工具可以模拟手工测试的步骤,控制被测软件的运行,自动完成测试用例执行结果的判断,实现半自动或全自动的测试过程。,第,10,页,/,共,100,页,需要,注意的是,自动化测试不可能完全替代手工测试,,很多的测试过程还,必须依靠手工测试完成。自动化测试和手工测试在实际工作中应当取长补短、综合使用,。此外,,自动化测试并不只是单纯使用测试工具,还包括应用自动化测试的思想和方法,建立适应自动化测试的策略与工作流程,。,第,11,页,/,共,100,页,8.1.2,自动化测试的优势,自动化的性能,测试,性能,测试需要模拟大量的负载,最常见的是模拟成百上千的并发用户来测试系统的性能瓶颈、验证各种性能指标,离开测试工具是根本无法完成的。因此,类似性能测试这种需要模拟大量用户和并发任务的测试活动非常适合采用自动化测试。,第,12,页,/,共,100,页,自动化的回归测试,回归测试,是重复已执行过的测试,避免修改程序对原有正常功能产生影响。回归测试用例是已经完全设计好的,即使有些改动一般也不会太多,而且测试的预期结果也是完全可以确定的,。,第,13,页,/,共,100,页,回归测试中自动化与手工测试工作量对比,第,14,页,/,共,100,页,图,8-1,回归测试中自动化与手工测试工作量对比,自动化与手工测试工作量对比,:,自动化,测试在初次测试时因为要开发自动化测试用例,工作量会大于手工测试。但是随着回归测试的增多,初期产生的工作量被均摊,总工作量明显小于手工测试,并且回归测试的次数越多效果越明显,。,第,15,页,/,共,100,页,自动化,测试的其他一些优势,可以,规范整个测试流程,,方便,地进行软件缺陷跟踪和管理,。,测试,的全面性明显优于手工测试,。,能更好,地保证程序代码、测试用例和相关文档记录的版本一致性。,第,16,页,/,共,100,页,提高,功能测试基本操作和数据验证的质量和效率,。,便于捕捉偶然发生的软件缺陷,。,能,更好地利用人力资源。将繁琐、单调和重复的工作交由自动化测试来,做。,第,17,页,/,共,100,页,8.2,自动化,测试的原理,8.2.1,测试用例,的录制与,回放,很多,软件或专门的软件工具都提供了录制特定软件操作的功能,最常见的是,Microsoft Word,中的宏,。,图,8-2 Microsoft Word,中录制宏的窗口,第,18,页,/,共,100,页,适合录制为宏的任务:,对于,Word,中需要,反复执行的某些任务,,可以将其录制为宏,通过运行录制后的宏来自动执行该任务。,例如,,插入具有指定尺寸、边框、行数和列数的表格,或者是将手工去除空格、文字查找与替换、格式修改等个性化排版操作录制为一个宏,方便之后进行一次性操作。,第,19,页,/,共,100,页,例子:在,Word,中插入一个,22,的表格、选择表格样式、在每个表格中输入一个数据”录制为宏,其脚本代码如下所,示。,第,20,页,/,共,100,页,Sub,宏,1(),注释,ActiveDocument.Tables.Add Range:=Selection.Range,NumRows:=2,NumColumns:=_,2,DefaultTableBehavior:=wdWord9TableBehavior,AutoFitBehavior:=_,wdAutoFitFixed,With Selection.Tables(1),If.Style ,网格型,Then,.Style=,网格型,End If,.ApplyStyleHeadingRows=True,.ApplyStyleLastRow=False,.ApplyStyleFirstColumn=True,.ApplyStyleLastColumn=False,.ApplyStyleRowBands=True,.ApplyStyleColumnBands=False,从,上面,Word,宏的例子可知,通过工具可以将软件操作和数据输入录制为相应的,脚本因此,可以,通过,运行,脚本重复之前的所有操作。,第,21,页,/,共,100,页,End,With,Selection.Tables(1).Style=,浅色底纹,-,强调文字颜色,5,Selection.TypeText Text:=,数据,1,Selection.MoveRight Unit:=wdCell,Selection.TypeText Text:=,数据,2,Selection.MoveRight Unit:=wdCell,Selection.TypeText Text:=,数据,3,Selection.MoveRight Unit:=wdCell,Selection.TypeText Text:=,数据,4,End Sub,开,源测试工具,Katalon,Recorder,安装过程,在,“,”注册用户后下载自己需要的版本,也可以在谷歌应用商店或者通过火狐浏览器插件下载和安装,Katalon IDE,。,安装完成后,在火狐浏览器的右上角出现,Katalon Recorder,的快捷,图标。,第,22,页,/,共,100,页,图,8-3,Katalon Recorder IDE,的,界面,第,23,页,/,共,100,页,使用,Katalon,Recorder,IDE,录制,一个简单的自动化测试脚本。,新建一,个测试用例“,Test Case Demo,”,然后单击“,Record,”按钮开始录制,。,在,Firefox,浏览器中输入网址“,”,在打开的页面中选择出现的文字“,XXXX,年,XX,月,XX,日 星期,X”,,单击鼠标右键后从弹出的菜单,中选“,Katalon Recorder,”“,verifyText,”这样就增加了一个验证点,。,第,24,页,/,共,100,页,采用,相同的方法,,图,8-4,为,测试运行,结果。,第,25,页,/,共,100,页,测试,脚本由一个“,open”,和两个“,verifyText”,命令,组成。,如,图,8-4,所示。第一个验证点通过,相应的命令变为绿色;第二个验证点失败,命令窗口中的命令文字变为红色,测试日志窗口中也以红色文字提示“,error did not match,”,。,结论:,第二个验证点的秒时间数字在不断变化,与最初记录的预期结果不同,因此验证失败,由此也说明测试工具可以自动发现非常微小的结果偏差,。,第,26,页,/,共,100,页,可以,将测试用例导出为各种常用语言的脚本。单击“,Export”,按钮,在下拉框中选择希望的脚本语言即可。这样就节省了测试人员编写复杂测试脚本的工作量,只需要在录制好的脚本基础上进行修改即可,。如图,8-5,测试脚本的输出。,第,27,页,/,共,100,页,图,8-5,测试脚本的输出,第,28,页,/,共,100,页,总结,自动化,测试的一般过程是首先启动被测软件和相应的测试工具,通过测试工具录制软件操作过程并且插入验证点,对录制好的脚本进行必要的调试,然后保存脚本作为测试用例。执行测试时,调用自动化测试脚本,通过脚本操纵被测软件执行,验证测试结果,根据测试工具的执行日志生成软件缺陷报告,。,第,29,页,/,共,100,页,8.2.2,代码分析,静态分析,工具,FindBugs,静态分析,工具,FindBugs,可以检查和分析,Java,代码类或者,Jar,文件,在不实际运行程序的情况对,Java,源程序进行静态测试。将程序代码与定义的代码规则或缺陷模式进行对比可以发现很多种软件缺陷,。,第,30,页,/,共,100,页,FindBugs,常用,的规则主要可以分为以下几类。,Correctness,(正确性)。代码可能在某些方面不正确,。,Bad practice,(不良实践)。源程序明确违反规定的编码规范。,Performance,(性能)。可能导致软件性能不佳的,代码。,第,31,页,/,共,100,页,Multithreaded correctness,(多线程的正确性),。多,线程编程时可能导致错误的代码。,Dodgy,(不可靠)。具有潜在危险的代码,。,通过上述,规则,,FindBugs,能够帮助开发人员发现源程序中存在的代码缺陷或隐患,并且提供了修改意见供开发人员参考,大大提高了,Code Review,的效率与质量,。,第,32,页,/,共,100,页,图8-6 Eclipse中FindBugs的规则配置页面,第,33,页,/,共,100,页,对象识别,功能测试工具需要和用户界面打交道,就需要能操作、控制用户界面上各种对象,所以大部分功能测试工具是基于,GUI,对象识别技术来实现自动化测试的。对象的识别,就是获得这个对象的类别、名称、属性的,值。,第,34,页,/,共,100,页,1,、类、对象、属性和方法,打开,网页,,www.newtours,.,后可以看到如图,8-7,所示的页面部分,图中包含以下一些典型的,GUI,对象,。,第,35,页,/,共,100,页,对于图,8-7,所示对象的解释,链接,SIGN-ON,、,REGISTER,、,SUPPORT,和,CONTACT,是,LINK,类的对象,对象,SIGN-ON,具有诸如“,href”,和“,text”,这样的属性,通过这些属性用户可以进入特定的网页,。,第,36,页,/,共,100,页,“,User Name”,和“,Password”,是,WebEdit,编辑框类的对象。对象“,User Name”,具有诸如“,name”,和“,max-length”,这样的属性,通过这些属性可以在给定,Web,页面中唯一识别该对象。对象“,User Name”,具有一个方法(,method,)集合,通过方法实现在编辑框中输入文本,。,基本上,,你所看到的应用程序的所有,GUI,元素都是特定类的,对象。,第,37,页,/,共,100,页,UFT,有如下一些默认的“,add-ins”,,可以增加更多的扩展“,add-ins”,以支持不同类型的应用程序,。,支持的应用程序包括,:,ActiveX,Mobile,UI,Automation,Visual,Basic,Web,第,38,页,/,共,100,页,图,8-8 UFT,中的对象识别对话框,第,39,页,/,共,100,页,UFT,中的软件单元“,Object Spy”,能够具体识别一个特定对象的属性、属性的值和方法,。,图,8-9,是例子中“,SIGN-ON”,对象的属性和操作,这里的操作(,Operations,)也就是对象的方法(,Methods,)。,第,40,页,/,共,100,页,图,8-9,通过,Object Spy,识别对象属性与方法,第,41,页,/,共,100,页,2,、对象库,对象,库在,对象识别和功能测试中的,作用,图,8-10,测试设计与执行流程中的对象库,第,42,页,/,共,100,页,“测试设计”,和“测试执行”两,个阶段,上述两种,测试阶段对象,的含义如下,。,运行,时对象(,Run-time Objects,)是被测软件的实际对象,在执行测试时与测试对象的属性进行对比匹配,。,测试,对象(,Test Objects,)存储在对象库中,包含一系列的对象属性。,UFT,通过学习,GUI,对象的属性以及属性值来产生测试对象。,第,43,页,/,共,100,页,对象库的测试原理,运行,脚本时,,UFT,会根据对象库中测试对象的特征属性描述来查找运行时对象,然后对比对象属性。如果一致,进行后续操作;如果不一致,则提示对象无法识别,。,第,44,页,/,共,100,页,图,8-11 UFT,中对象库的管理界面,第,45,页,/,共,100,页,3,、,UFT,对象识别的完整,过程,(,1,),描述属性(,Description Properties,),在,第一个阶段,,UFT,组合使用强制(,Mandatory,)属性和辅助(,Assistive,)属性完成对象识别,上述两种属性的组合被称为已学习描述(,Learned Description,),有时也称为描述,属性(,Description Properties,)或测试对象描述(,Test Object,Description,)。,第,46,页,/,共,100,页,图,8-12 UFT,对象识别过程,第,47,页,/,共,100,页,(,2,)可视关系标识符(,Visual Relation Identifiers,,,VRI,),在,这一阶段,,UFT,利用可视关系标识符,VRI,完成对象识别,,VRI,定义了对象与其邻居对象的相对位置。,VRI,是,UFT,中新增的对象识别机制。,第,48,页,/,共,100,页,如图,8-13,(,a,)所示,一个,Web,页面上有两个“,Submit”,按钮,因为不管以后这些按钮出现在网页的什么位置,“,OK”,按钮总是会出现在第一个“,Submit”,按钮的左边。所以,即使在以后的测试过程中,这些按钮在网页中的位置相反(如图,8-13,(,b,)所示),,UFT,仍然能够识别出第一个“,Submit”,按钮。,第,49,页,/,共,100,页,图8-13 基于可视关系标识符的对象识别,(,3,)智能识别,(,Smart Identification,),在,这一阶段,,UFT,组合使用一个测试对象类的基本属性(,Base Filter Properties,)和一些可选属性(,Optional Filter Properties,)来完成对象识别,。,UFT,利用基本属性产生候选匹配对象的列表,然后通过逐项对比可选属性,缩小候选匹配对象的范围,直到识别出唯一的对象。,第,50,页,/,共,100,页,图,8-14,智能,识别中基本属性和可选属性的配置,智能识别的配置,第,51,页,/,共,100,页,(,4,)顺序标识符(,Ordinal Identifier,),顺序,标识符是用来标识一个对象相对于其它对象的顺序的数字值。当,UFT,发现有多个对象具有相同的属性值而无法对它们进行唯一识别时,可以通过顺序标识符将它们区别开来,。,第,52,页,/,共,100,页,三种类型的顺序,标识符,Index,。识别,对象时,,UFT,可以将值分配给测试对象的,Index,属性以唯一地标识对象,。,Location,。识别对象时,,UFT,可以将值分配给测试对象的,Location,属性以唯一地标识,对象。,CreationTime,。仅适用于,Browser,对象。识别浏览器对象时,,UFT,将值分配给,CreationTime,标识属性,。,第,53,页,/,共,100,页,8.2.4,自动化,测试,框架,1,、自动化,测试框架的基本,含义,框架,提供了软件系统整体或部分的可重用设计,是可以被开发者直接使用和扩展定制的应用骨架。软件重用从模块和对象重用发展到构件和框架重用,重用粒度不断增大,。,自动化,测试框架是一种特殊类型的,框架。,第,54,页,/,共,100,页,从广义上,来讲:,自动化,测试,框架,,是一组自动化测试的规范和测试脚本的基础代码,以及测试思想、方法和惯例的集合,。,从狭义上来讲:,自动化测试框架是由一个或多个自动化测试基础模块、自动化测试管理模块、自动化测试统计模块等组成的工具集合。,第,55,页,/,共,100,页,一个典型的自动化测试,框架,图,8-15,自动化测试框架的基本模块,包括测试用例,管理模块、自动化执行控制器、报表生成模块和测试日志模块,第,56,页,/,共,100,页,各模块的功能,测试用例管理模块包括用例的添加、修改、删除等基本功能,也包括用例编写模式、测试数据管理、可复用的测试用例库管理等功能,。,自动运行控制器主要负责以什么方式执行,用例。,第,57,页,/,共,100,页,报表生成模块主要负责用例执行以后生成报表,报表一般为,HTML,格式,。,日志模块主要用来记录用例的执行情况,以便于高效地追踪用例执行情况和分析用例失败信息。,第,58,页,/,共,100,页,2,、自动化测试脚本类型,(,1,),线性,脚本,线性,脚本是由测试工具录制并记录软件操作过程和输入数据所形成的脚本,通过回放来重复人工操作的过程,一般用于简单测试或者作为基本脚本供修改后进一步使用,。,第,59,页,/,共,100,页,用于,测试计算器的加法,功能,线性,脚本示例,第,60,页,/,共,100,页,(,2,)结构化,脚本,结构化,脚本类似于结构化程序,具有顺序、分支、循环等逻辑,结构。,结构化,脚本能够体现模块化与库函数的思想。模块化后的脚本可以支持分层的脚本结构,实现脚本之间的相互调用。可以被多个测试用例使用的脚本有时也被称为共享脚本。,第,61,页,/,共,100,页,通过,UFT,检查,Mercury Tours,站点(,www.newtours.,)中是否存在,User Name,编辑,框,第,62,页,/,共,100,页,(,3,)数据驱动,脚本,数据驱动,脚本将测试数据和具体测试执行过程进行分离,将测试输入数据存储在独立的数据文件或数据库中,。,简单,来说就是执行相同的测试步骤,使用不同的测试数据。,第,63,页,/,共,100,页,例如,测试软件登录,功能时的数据驱动脚本如下,第,64,页,/,共,100,页,(,4,)关键字驱动,脚本,关键,字驱动脚本用一系列关键字指定要执行的测试任务,。,关键字对应封装的业务逻辑,各种基本操作由关键字代表的函数,完成。,第,65,页,/,共,100,页,图,8-16,是一个通过,Katalon Recorder,生成的关键字驱动脚本,用于测试,Mercury Tours,站点的登录功能,。,第,66,页,/,共,100,页,3,、自动化测试框架类型,测试,脚本模块化,框架,测试,库架构,框架,数据驱动,测试,框架,关键,字驱动或表驱动测试,框架,混合,测试自动化,框架,第,67,页,/,共,100,页,(,1,)测试脚本模块化框架(,The Test Script Modularity Framework,),测试,脚本模块化框架的特点是将被测程序分解为多个逻辑模块,对每个模块都创建一个小而独立的测试脚本,测试脚本中包含了各功能点的控件识别和业务逻辑操作。,第,68,页,/,共,100,页,(,2,)测试库架构,框架(,The Test Library Architecture Framework,),这种,框架与脚本模块化框架类似,同样能够产生高度模块化的测试用例。不同的是,被测程序被分解为过程和函数,而不是测试脚本。所有测试用例中的常用功能可以作为函数被存储在一个公共测试库中(例如,SQABasic Libraries,、,APIs,、,DLLs,等),。,第,69,页,/,共,100,页,(,3,)数据驱动测试框架(,The Data-Driven Testing Framework,),当,使用不同的输入数据集多次测试相同功能时,不应当以硬编码的形式在测试脚本中大量嵌入这些测试数据,而是应当将其保存在,XML,文件、,CSV,文件、数据库等外部数据源中。测试执行时,通过脚本代码将测试数据载入到脚本变量中,。,第,70,页,/,共,100,页,(,4,)关键字驱动或表驱动测试框架(,The Keyword-Driven or Table-Driven Testing Framework,),关键,字驱动测试框架源于数据驱动测试框架。在数据驱动测试框架中,数据文件中只包含测试数据;而在关键字驱动框架中,数据文件中存储的是关键字和测试数据。,第,71,页,/,共,100,页,(,5,)混合测试自动化框架(,Hybrid Test Automation Framework,),自动化,测试框架的主要目的是将不同层次的对象和逻辑进行抽象、分离与封装,以便于把程序变更所引起的测试用例修改和维护工作量减少到最小。因此,实际工作中一般用到的自动化测试框架是一个混合,框架。,第,72,页,/,共,100,页,图,8-17,混合测试自动化框架,第,73,页,/,共,100,页,8.3,测试,工具的分类与,选择,8.3.1,软件测试,工具,分类,1,、商业,测试,工具,专业,开发软件测试工具的公司有很多,其中以,MI,(,Mercury Interactive,)、,IBM Rational,和,Micro Focus,最为,著名。,第,74,页,/,共,100,页,(,1,),MI,的主要测试,工具,MI,开发的测试工具最著名的是,LoadRunner,、,UFTQTPWinRunner,和,Quality Center Test Director,。,LoadRunner,是测试人员都熟知的性能测试工具,能够满足企业级应用,实现对,C/S,和,B/S,结构软件系统的性能测试。,第,75,页,/,共,100,页,UFTQTPWinRunner,三者都是,MI,开发的功能测试工具,。,Quality Center Test Director,是,MI,开发的测试管理工具。,Test Director,(简称,TD,)是一个基于,Web,的测试,管理系统能够,完成需求管理、测试计划管理、测试用例管理和缺陷跟踪管理。,第,76,页,/,共,100,页,(,2,),IBM,Rational,的主要测试,工具,IBM Rational,公司的产品涵盖了需求管理、软件建模、配置管理等全方位的软件工程,CASE,(,Computer Assisted Software Engineering,)工具,其产品的一个典型优势是几乎所有的工具都支持跨平台安装,。,第,77,页,/,共,100,页,IBM Rational,主要有以下一些测试工具,。,功能测试,工具可分为手动测试工具,Rational Manual Tester,和自动测试工具,Rational Functional Tester,、,Rational Robot,。,性能,能测试工具包括,Rational Performance Tester,和,Rational Robot,。,Rational Robot,包括了功能测试和性能测试。,第,78,页,/,共,100,页,白盒测试工具包括,Rational PurifyPlus,和,Rational Test RealTime,。,测试管理工具包括,Rational TestManager,和,Rational ClearQuest,。,第,79,页,/,共,100,页,(,3,),Micro,Focus,的主要测试工具,英国,Micro Focus,公司的测试工具很多源自于著名的,Compuware,公司和,Segue,公司,。,Compuware,公司黑盒测试工具集,QACenter,里包括功能功能测试工具,QARun,、性能测试工具,QALoad,和测试管理工具,QADirector,。,第,80,页,/,共,100,页,Segue,公司是一个专业开发测试工具的厂商,其产品,SilkTest,、,SilkPerformer,完全可以和,Mercury QTP,、,Loadrunner,媲美。,第,81,页,/,共,100,页,表,8-1,主要的商业测试工具,第,82,页,/,共,100,页,功能测试,性能测试,白盒测试,测试管理,HP Mercury,UFTQTP,LoadRunner,Test Director,Quality Center,IBM Rational,Rational Manual Tester,Rational Functional Tester,Rational Robot,Rational Performance Tester,Rational Robot,Rational PurifyPlus,/PureCoverage,Rational Test RealTime,Rational TestManager,Rational ClearQuest,Micro Focus,(Compuware,Segue),QARun,Micro Focus TestPartner,Micro Focus SilkTest,QALoad,Micro Focus SilkPerformer,BoundsChecker,TrueCoverage,DevPartner,QADirector,TrackRecord,Telelogic,Logiscope,Parasoft,WebKing,C+Test,JTest,.TEST,SOA Test,Programming Research,QA,C/C+/J,Radview,WebFT,WebLoad,TestView Manager,Microsoft,ACT,(,Application Center Test,),IntelliTest,2,、开,源测试,工具,白盒测试,工具,功能测试,工具,性能测试,工具,测试管理,工具,第,83,页,/,共,100,页,(,1,)白盒测试,工具,针对不同的程序语言有着不同的白盒测试,工具,一般有以下几种测试工具。,例如,JUnit,(,Java,)、,CppUnit,(,C+,)、,DotUnit,(,.Net,)、,HtmlUnit,(,HTML,)、,JsUnit,(,JavaScript,)、,PHPUnit,(,PHP,)、,PerlUnit,(,Pear,)等,。,第,84,页,/,共,100,页,(,2,)功能测试,工具,AutoIT,用于,测试基于,Windows GUI,操作的软件,。,Ruby+Watir,组合是近年非常流行的全免费自动化测试,框架可以,实现对,Web,应用程序的自动化,测试,。,Selenium,支持,Ruby,、,Java,、,Perl,、,Python,等脚本语言,目前在国内外日益流行,。,第,85,页,/,共,100,页,(,3,)性能测试,工具,JMeter,最初,只是测试,Web,应用,目前已经能够支持,HTTP/HTTPS,、,SOAP,、,JDBC,、,LDAP,、,JMS,等。,TestMaker,可以,和,Seleinium,、,SoapUI,集成,,,TestMarker,只是更好地调度、监控和管理测试的过程,监控系统的性能指标,获得测试结果。,第,86,页,/,共,100,页,ApacheBench,能同时模拟多个并发请求,专门用于,Web,服务器的基准测试。,Grinder,基于,HTTP,的测试可以由浏览器来记录整个测试过程。,Siege,是一个压力测试和评测工具,用于,Web,开发。,第,87,页,/,共,100,页,(,4,)测试管理,工具,测试管理工具开发难度较小,因此开源免费的产品很多,下面是一些常见工具。,Bugzilla,可,与,CVS,进行无缝,集成,当前最成熟。,Mantis,是一款,Web,缺陷管理工具,国内使用较多。,BugFree,是,一款轻量级的,Web,缺陷管理工具。,TestLink,可对测试需求、计划、用例、执行、缺陷报告等进行完整管理,。,第,88,页,/,共,100,页,8.3.2,当前,最好的自动化测试,工具,2017-2018,世界质量报告中给出了世界排名前,10,的自动化测试,工具。,其中既包含了免费工具也包含了商业工具,。,(,1,),Selenium,(开源),(,2,),Katalon,Studio,(免费),(,3,),UFT,(商业),(,4,),Watir,(开源),(,5,),IBM Rational Functional,Tester,(商业),第,89,页,/,共,100,页,(,6,),TestComplete,(商业),(,7,),TestPlant,eggPlant,(商业),(,8,),Tricentis,Tosca,(商业),(,9,),Ranorex,(商业),(,10,),Robot,Framework,(开源),第,90,页,/,共,100,页,8.3.3,如何,选择软件测试,工具,选择软件测试,工具应该注意的一些因素,(,1,)根据,具体测试需求比较工具的功能、价格和服务,。,(,2,)考虑引入测试工具的连续性和一致性,。,(,3,)分析测试工具对各种操作系统平台的兼容性,。,(,4,)评估测试工具与其它相关软件产品的集成能力。,(,5,)考察测试工具是否有强大的报表统计功能。,第,91,页,/,共,100,页,8.4,自动化,测试的,引入,8.4.1,引入,过程中存在的问题,(,1,)盲目迷信自动化,测试,虽然,自动化测试能够带来非常明显的收益,,但是,也,具有一定的局限性。,(,2,)片面追求全面的自动化,测试,测试,的全面自动化意味着所有可以自动完成的测试任务都通过测试工具或程序来自动执行,。,然而,,,全面的测试自动化目前还仅仅是一个理想,目标。,第,92,页,/,共,100,页,(,3,)盲目引入测试工具,软件,企业各有其特点,测试工具自身的特点和适用性也各不,相同,。,因此,必须,在综合考量与评估之后才能合理选择测试工具,。,(,4,)忽视,测试脚本的质量,问题,测试,工具主要通过测试脚本完成自动化测试,测试脚本本身就是程序,因此需要首先保证测试脚本本身的质量。,第,93,页,/,共,100,页,(,5,)缺乏专业的测试人员,专业,的测试工具和软硬件测试环境配置固然是成功完成自动化测试的必要条件,但是掌握良好测试技术、具有丰富测试经验的测试人员才是决定性因素。,(,6,)没有考虑自动化测试的开发和维护成本,自动化,测试在提高测试效率的同时也会造成测试开发和维护成本的提高。,第,94,页,/,共,100,页,8.4.2,自动化,测试的引入,风险分析,(,1,)成本风险,自动化,测试的成本包括测试人员、测试工具、硬件设备以及测试准备、开发、执行和维护的费用等,。,(,2,)切入点,的,风险,自动化,测试的引入应当由简到难、由点到面,需要根据软件企业自身产品的特点找准实施自动化测试的,切入点。,第,95,页,/,共,100,页,(,3,)切入方式的,风险,在,引入自动化测试时不能贪多求全,需要综合应用自动化测试与手工测试,对自动化测试在整个测试活动中的比例进行合理规划,。,(,4,)时间,风险,测试,项目需要预留较为宽松的测试时间以应对首次实施自动化测试所带来的冲击。需要合理估计实施自动化测试所需要的时间,避免仓促实施影响测试效果。,第,96,页,/,共,100,页,(,5,)开发和测试流程以及设计变更的,风险,在,实施自动化测试后,测试团队甚至整个开发组织为了适应测试工具的应用,原有开发和测试工作流程或多或少的会发生改变,测试用例设计方法乃至软件设计也会有相应的变化。因此,需要分析流程和设计变更的程度,尽可能克服变更中可能存在的困难。,第,97,页,/,共,100,页,3,),适合引入自动化测试的软件,项目,当一个软件项目具有以下特征时,比较适合引入自动化测试,。,(,1,)程序已经基本稳定,不再会发生频繁的变动,(,2,)用户界面稳定,(,3,)项目的进度压力,不大,第,98,页,/,共,100,页,(,4,)测试脚本的可重用性比,较高,(,5,)回归测试的频率高、数量,多,(,6,)软件产品有较高的性能,要求,(,7,)组合遍历型的测试,第,99,页,/,共,100,页,(,8,)持续,集成测试,(,9,)测试流程和测试用例,设计规范,(,10,)资源充足,第,100,页,/,共,100,页,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服