测试工具的分类与选择

上传人:cn****1 文档编号:570089011 上传时间:2024-08-01 格式:PPT 页数:29 大小:150KB
返回 下载 相关 举报
测试工具的分类与选择_第1页
第1页 / 共29页
测试工具的分类与选择_第2页
第2页 / 共29页
测试工具的分类与选择_第3页
第3页 / 共29页
测试工具的分类与选择_第4页
第4页 / 共29页
测试工具的分类与选择_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《测试工具的分类与选择》由会员分享,可在线阅读,更多相关《测试工具的分类与选择(29页珍藏版)》请在金锄头文库上搜索。

1、测试工具的分类与选择测试工具的分类与选择1测试工具的分类测试工具的分类(按测试方法按测试方法)n n1.白盒测试工具n n2.黑盒测试工具 2测试工具的分类(按测试对象和目测试工具的分类(按测试对象和目的)的)n n1.单元测试工具n n2.功能测试工具n n3.负载测试工具或性能测试工具n n4.测试管理工具(TestLink)n n5.缺陷管理工具(Bugzilla)n n6.嵌入式测试工具n n7.安全性测试工具n n8.数据库测试工具3测试工具的选择测试工具的选择n n1. 1.支持脚本语言支持脚本语言n n2. 2.脚本语言是否支持外部函数库、函数的可重用脚本语言是否支持外部函数库、

2、函数的可重用n n3. 3.对程序界面中对象的识别能力对程序界面中对象的识别能力n n4. 4.抽象层抽象层n n5. 5.分布式测试的网络支持分布式测试的网络支持n n6. 6.支持数据驱动测试支持数据驱动测试n n7. 7.具有脚本开发良好的环境具有脚本开发良好的环境n n8. 8.其他功能其他功能4面向开发的单元测试工具面向开发的单元测试工具n n按语言分类(Junit,C+ Test)n n按工具的功能特点分类:n n内存资源泄露检查工具(Purify)n n代码覆盖率检查工具(LogiScope)n n代码性能检查工具(Macabe)n n软件纠错工具(Rational Purl等)

3、n n代码复杂度检查工具(SourceMonitor)5功能测试工具的原理功能测试工具的原理n n基于GUI功能测试工具的基本原理是:将操作应用程序的各种动作和输入记录下来,如将键盘操作,鼠标单击等捕捉下来,生成一个脚本文件,这个脚本以后可以被“回放”,也就是能重复上一次所操作的动作,实现自动运行。6功能测试工具功能测试工具n nWinRunnern nQARunn nSQA Robotn nVisual Test Suiten nQTPn nSelenium(开源)7性能测试工具的原理性能测试工具的原理n n性能测试工具执行测试的一般过程是通过虚拟用户生成器性能测试工具执行测试的一般过程是通

4、过虚拟用户生成器录制关键业务操作,自动生成原始的测试脚本。然后,在录制关键业务操作,自动生成原始的测试脚本。然后,在控制器编辑、组织测试脚本分发给每个负载生成器(也称控制器编辑、组织测试脚本分发给每个负载生成器(也称代理,代理,AgentAgent),),AgentAgent向服务器发送请求模拟客户端,执向服务器发送请求模拟客户端,执行脚本的同时将测试的结果返回给控制器。行脚本的同时将测试的结果返回给控制器。n n性能测试工具的主要特性:性能测试工具的主要特性:n n首先能模拟实际用户的操作行为,记录和回放多用户测试首先能模拟实际用户的操作行为,记录和回放多用户测试中的事物处理过程,自动生成相

5、应的测试脚本。其次,能中的事物处理过程,自动生成相应的测试脚本。其次,能针对脚本进行修改,增加逻辑控制、完成参数化和数据关针对脚本进行修改,增加逻辑控制、完成参数化和数据关联。再者,可以设置不同的应用环境和场景,通过虚拟用联。再者,可以设置不同的应用环境和场景,通过虚拟用户执行相应的测试脚本。最后,在脚本执行过程中,通过户执行相应的测试脚本。最后,在脚本执行过程中,通过系统监控工具获得系统性能的相关指标的值,包括系统资系统监控工具获得系统性能的相关指标的值,包括系统资源利用率、响应时间、系统吞吐量。源利用率、响应时间、系统吞吐量。8负载和性能测试工具负载和性能测试工具n nloadrunner

6、、QALoad、SQA load、WAS、Webload、performance、Jmeter、Rational robot和Visual Qualitify9嵌入式测试工具原理嵌入式测试工具原理n n嵌入式系统软件的测试相对困难,因为它的开发是用交叉编译方式进行的。在目标机上,不可能有多余的空间记录测试的信息,必须实时的将测试信息通过网线/串口传到宿主机上,并实时在线的显示。因此,对源代码的插装和目标机上信息的收集成为嵌入式工具要解决的关键问题。10嵌入式测试工具嵌入式测试工具n nCodeTestn nLogiscope(用于代码分析、覆盖测试 )n nVectorCast11几种主流的自

7、动化测试工具几种主流的自动化测试工具n n1.Rational robot(功能/性能测试)n n2.WinRunner(功能测试)n n3.Loadrunner(性能与负载压力)n n4.QTP(功能测试与回归测试)n n5.SilkTest(功能测试与回归测试)n n6.WAS(负载压力测试,开源免费)n n7.Jmeter(开源,性能测试)n n8.MaxQ(开源Web功能测试工具)12测试工具与开发过程关系图测试工具与开发过程关系图13测试工具的选择测试工具的选择n n开源黑盒(功能、负载、性能)14开源测试工具介绍开源测试工具介绍n nJmeterJmeter(功能(功能/ /性能测

8、试)性能测试)n nMaxQ(MaxQ(功能测试功能测试) )n nWebInject(WebInject(功能功能/ /回归测试回归测试) )n nsoapUI(soapUI(功能功能/ /性能测试性能测试) )n nTestMaker(TestMaker(功能功能/ /性能测试性能测试) )n nOpenSTA(OpenSTA(性能测试性能测试) )n nWAS(WAS(负载压力测试负载压力测试) )n nSeleniumSelenium(功能(功能/ /验收测试)验收测试)n nWatiRWatiR(功能测试)(功能测试)n nSiege(webSiege(web压力测试压力测试) )1

9、5Jmetern nJmeterJmeter是是100%100%的的javajava桌面应用程序,它被设计用来加载被测软件功能特性、度桌面应用程序,它被设计用来加载被测软件功能特性、度量被测软件的性能。它可以完成针对静态资源和动态资源的性能测试。可以量被测软件的性能。它可以完成针对静态资源和动态资源的性能测试。可以模拟大量的服务器负载、网络负载、软件对象负载,通过不同的加载类型全模拟大量的服务器负载、网络负载、软件对象负载,通过不同的加载类型全面测试软件的性能。面测试软件的性能。JMeterJMeter提供图形化的性能分析,产生相应的统计报表,提供图形化的性能分析,产生相应的统计报表,包括各个

10、包括各个URLURL请求的数量、平均响应时间、最大请求的数量、平均响应时间、最大/ /最小响应时间、错误率等。最小响应时间、错误率等。n n优点:优点:n n不依赖于界面,如果服务正常启动,传递参数明确就可以添加测试用例,执不依赖于界面,如果服务正常启动,传递参数明确就可以添加测试用例,执行测试行测试 。n n 测试脚本不需要编程,熟悉测试脚本不需要编程,熟悉httphttp请求,熟悉业务流程,就可以根据页面中请求,熟悉业务流程,就可以根据页面中inputinput对象来编写测试用例。对象来编写测试用例。 n n测试脚本维护方便,可以将测试脚本复制,并且可以将某一部分单独保存。测试脚本维护方便

11、,可以将测试脚本复制,并且可以将某一部分单独保存。 n n可以跳过页面限制,向后台程序添加非法数据,这样可以测试后台程序的健可以跳过页面限制,向后台程序添加非法数据,这样可以测试后台程序的健壮性。壮性。 n n利用利用badboybadboy录制测试脚本,可以快速的形成测试脚本录制测试脚本,可以快速的形成测试脚本 n n Jmeter Jmeter断言可以验证代码中是否有需要得到的值断言可以验证代码中是否有需要得到的值 。n n使用参数化以及使用参数化以及JmeterJmeter提供的函数功能,可以快速完成测试数据的添加修改等。提供的函数功能,可以快速完成测试数据的添加修改等。 16Jmete

12、rn n 缺点:缺点:n n使用使用JmeterJmeter无法验证无法验证JSJS程序,也无法验证页面,所程序,也无法验证页面,所以需要手工去验证。以需要手工去验证。n nJmeterJmeter的断言功能不是很强大的断言功能不是很强大 。n n就算是就算是jmeterjmeter脚本顺利执行,依旧无法确定程序是脚本顺利执行,依旧无法确定程序是否正确执行,有时候需要进入程序查看,或者查否正确执行,有时候需要进入程序查看,或者查看看JmeterJmeter的响应数据。的响应数据。 n nJmeterJmeter脚本的维护需要保存为本地文件,而每个脚脚本的维护需要保存为本地文件,而每个脚本文件只

13、能保存一个测试用例,不利于脚本的维本文件只能保存一个测试用例,不利于脚本的维护。护。17MaxQn nMaxQMaxQ是是WebWeb功能测试工具,包括记录测试脚本的功能测试工具,包括记录测试脚本的HTTPHTTP代代理和用于回放测试的命令行实用程序。所不同的是,它不理和用于回放测试的命令行实用程序。所不同的是,它不是对是对GUIGUI操作的模拟,而是绕过用户界面,采用操作的模拟,而是绕过用户界面,采用Web ProxyWeb Proxy代理方式,获得浏览器提交的请求数据包,直接转发给服代理方式,获得浏览器提交的请求数据包,直接转发给服务器,这样测试速度快且稳定。务器,这样测试速度快且稳定。n

14、 n特点:特点:n n1. 1. 免费、开源。免费、开源。n n2. 2. 用用JythonJython作为记录测试脚本的语言。作为记录测试脚本的语言。n n3. 3. 基于基于JavaJava构建,在任何地方都可以运行。构建,在任何地方都可以运行。n n4. 4. 代码简单,容易按需增强其功能。代码简单,容易按需增强其功能。n n5. 5. 测试脚本可以为测试脚本可以为JUnitJUnit运行。运行。n n6. 6. 可以运行于代理服务器之后。可以运行于代理服务器之后。n n7. 7. 支持支持cookiescookies。18MaxQ工作原理工作原理19WebInjectn nWebInj

15、ect 是一个自动化测试工具,主要适合Web应用和Web服务。可以通过它来测试基于HTTP接口的系统组件,还可以用它来进行服务器监控。n n使用环境:Windows, Linux 20soapUIn nsoapUIsoapUI是一个开源测试工具,通过是一个开源测试工具,通过soap/httpsoap/http来检查、调用、实现来检查、调用、实现Web Web ServiceService的功能的功能/ /负载负载/ /符合性测试。该工具既可作为一个单独的测试软符合性测试。该工具既可作为一个单独的测试软件使用,也可利用件使用,也可利用插件插件集成到集成到EclipseEclipse,maven2

16、.Xmaven2.X,Netbeans Netbeans 和和intellijintellij中使用。中使用。n nsoapUIsoapUI优点:优点:n n (1 1)soapUIsoapUI工具适合工具适合QAQA和测试人员,而不需要开发人员使用编程来和测试人员,而不需要开发人员使用编程来实现测试用例。它能够基于实现测试用例。它能够基于WSDLWSDL自动产生测试消息。自动产生测试消息。n n(2 2)soapUIsoapUI能够直接引用外部的属性文件来简化测试步骤,通过建能够直接引用外部的属性文件来简化测试步骤,通过建立断言立断言soapUIsoapUI可以进行可以进行xmlxml模式效

17、验和错误效验。模式效验和错误效验。n n(3 3)soapUIsoapUI可用于压力测试,容易管理服务端点。可用于压力测试,容易管理服务端点。n n(4 4)soapUIsoapUI提供方便的接口能够集成提供方便的接口能够集成JBossJBoss、AntAnt、XML-BeanXML-Bean、ApacheTCPM onApacheTCPM on等多种工具。等多种工具。n n(5 5)soapUIsoapUI可以完成多种可以完成多种webservicewebservice的测试场景。的测试场景。21 soapUIn n缺点:缺点:n n(1 1) soapUI soapUI使用的是自己的使用的

18、是自己的WebWeb服务客户端服务客户端, ,它它创建的测试消息不同于通常意义上的基于创建的测试消息不同于通常意义上的基于JAXJAX或或者其它的者其它的WebWeb服务客户端的工作过程服务客户端的工作过程, SOAPUI, SOAPUI并并不从不从WSDLWSDL中产生中产生JavaJava类类, ,它也不处理它也不处理JavaJava对象的对象的序列化和反序列化序列化和反序列化, ,这样的结果是客户端并不是像这样的结果是客户端并不是像真正的真正的WebWeb服务消费者那样去调用服务消费者那样去调用WebWeb服务。服务。n n(2 2) SOAPUI SOAPUI的的RequestTran

19、sportRegistryRequestTransportRegistry类并不类并不提供从外部增加新的协议的机制提供从外部增加新的协议的机制, ,它不支持它不支持JMSJMS协协议。议。22TestMakern nTestMaker 不单单的是完整的测试平台,也是性能监控的工具,它是一个分布式的自动化测试平台,主要对应用程序的性能进行管理和监控。支持 Java、.NET、Jython、Groovy、PHP、Ruby 和 Perl 的功能测试以及负载和性能测试,主要适合Web项目、SOA应用、RIA和BPM应用。 23OpenSTAn nOpenSTAOpenSTA是一个免费的、开放源代码的是

20、一个免费的、开放源代码的webweb性能测试工具,能录制功性能测试工具,能录制功能非常强大的脚本过程,执行性能测试。例如虚拟多个不同的用户同能非常强大的脚本过程,执行性能测试。例如虚拟多个不同的用户同时登陆被测试网站。时登陆被测试网站。n nOpenSTA OpenSTA 是专用于是专用于B/SB/S结构的、免费的性能测试工具。它的优点除了结构的、免费的性能测试工具。它的优点除了免费、源代码开放的优点外,还能对录制的测试脚本进行免费、源代码开放的优点外,还能对录制的测试脚本进行, ,按指定的按指定的语法进行编辑。在录制完测试脚本后,可以对测试脚本进行编辑,以语法进行编辑。在录制完测试脚本后,可

21、以对测试脚本进行编辑,以便进行特定的性能指标分析。其较为丰富的图形化测试结果大大提高便进行特定的性能指标分析。其较为丰富的图形化测试结果大大提高了测试报告的可阅读性。了测试报告的可阅读性。n nOpenSTA OpenSTA 基于基于CORBA CORBA 的结构体系,它通过虚拟一个的结构体系,它通过虚拟一个proxyproxy,使用其专,使用其专用的脚本控制语言,记录通过用的脚本控制语言,记录通过proxy proxy 的一切的一切HTTP/S trafficHTTP/S traffic。通过分析。通过分析OpenSTA OpenSTA 的性能指标收集器收集的各项性能指标,以及的性能指标收集

22、器收集的各项性能指标,以及HTTP HTTP 数据,数据,对系统的性能进行分析。对系统的性能进行分析。n n优点:压力测试引擎具有可扩充性,可以完成大规模的压力测试。提优点:压力测试引擎具有可扩充性,可以完成大规模的压力测试。提供脚本语言支持。供脚本语言支持。24WASn nWASWAS允许以不同的方式创建测试脚本:可以通过使用浏览允许以不同的方式创建测试脚本:可以通过使用浏览器走一遍站点来录制脚本,可以从服务器的日志文件导入器走一遍站点来录制脚本,可以从服务器的日志文件导入URLURL,或者从一个网络内容文件夹选择一个文件。当然,或者从一个网络内容文件夹选择一个文件。当然,也可以手工的输入也

23、可以手工的输入URLURL来创建一个新的测试脚本。来创建一个新的测试脚本。WASWAS可可以使用任何数量的客户端运行测试脚本,全部都有一个中以使用任何数量的客户端运行测试脚本,全部都有一个中央主客户端来控制。在每一个测试开始前,主客户机透明央主客户端来控制。在每一个测试开始前,主客户机透明的执行以下任务:与其他所有的客户机通信;把测试数据的执行以下任务:与其他所有的客户机通信;把测试数据分发给所有的客户端;在所有客户端同时初始化测试;从分发给所有的客户端;在所有客户端同时初始化测试;从所有的客户端收集测试结果和报告。所有的客户端收集测试结果和报告。n n优缺点:优缺点:WASWAS是一个免费的

24、测试工具,使用起来比较简单,是一个免费的测试工具,使用起来比较简单,但是不能显示和编辑所录制的测试脚本,其可控性和图形但是不能显示和编辑所录制的测试脚本,其可控性和图形化测试结果都比较弱,故造成一定的局限性。化测试结果都比较弱,故造成一定的局限性。25Seleniumn nSeleniumSelenium(适用于功能测试、验收测试)也是一(适用于功能测试、验收测试)也是一个用于个用于WebWeb应用程序测试的工具。应用程序测试的工具。Selenium Selenium 测试测试直接运行在浏览器中,就像真正的用户在操作一直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括样。支持的浏览

25、器包括IE,MozillaIE,Mozilla和和FirefoxFirefox等。这等。这个工具的主要功能包括:测试与浏览器的兼容性个工具的主要功能包括:测试与浏览器的兼容性- - -测试你的应用程序看是否能够很好得工作在不同测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能浏览器和操作系统之上。测试系统功能- -创建衰创建衰退测试检验软件功能和用户需求。退测试检验软件功能和用户需求。 支持自动录制支持自动录制动作,和自动生成。动作,和自动生成。NetNet、JavaJava、PerlPerl等不同语言等不同语言的测试脚本。的测试脚本。Selenium Seleniu

26、m 是是 ThoughtWorks ThoughtWorks 专门为专门为 WebWeb应用程序编写的一个验收测试工具。应用程序编写的一个验收测试工具。26WatiRn nWatiRWatiR是使用是使用RubyRuby实现的开源实现的开源webweb自动化测试框架,小巧灵活,提供了自动化测试框架,小巧灵活,提供了对多种常见对多种常见webweb对象的识别和操作的支持。对象的识别和操作的支持。n nWatirWatir可以使用可以使用IEIE(IE5.5IE5.5及以上版本),及以上版本),FirefoxFirefox,ChromeChrome进行进行WebWeb应应用测试。支持用测试。支持W

27、indowsWindows(20002000及以上版本),及以上版本),LinuxLinux,UbuntuUbuntu,MacMac。 n nWatiRWatiR可以模拟用户访问网页、点击链接,填写表单,点击按钮。可以模拟用户访问网页、点击链接,填写表单,点击按钮。n nWatiRWatiR可以模拟用户验证页面内容。可以模拟用户验证页面内容。n n所需要的环境:所需要的环境:Ruby Ruby ,因为是使用,因为是使用RubyRuby实现的,脚本也是实现的,脚本也是RubyRuby的脚的脚本,所以需要在本机安装本,所以需要在本机安装RubyRuby。 n n其他特性:如果熟悉了其他特性:如果熟

28、悉了RubyRuby,再结合其他一些工具,可以在,再结合其他一些工具,可以在WatirWatir框架框架的基础上扩展出很多特性。例如:外部文件或的基础上扩展出很多特性。例如:外部文件或数据库数据库数据库数据库的读取、模块化的读取、模块化的开发、可重用的函数库、数据驱动、关键字驱动、脚本的版本化控的开发、可重用的函数库、数据驱动、关键字驱动、脚本的版本化控制以及测试结果的管理,等等。制以及测试结果的管理,等等。27Siegen nSiegeSiege是是LinuxLinux系统下的一个测试工具,完全使用系统下的一个测试工具,完全使用C C语言实现,可以对语言实现,可以对HTTPHTTP和和FTP

29、FTP服务器服务器进行负载和进行负载和性能测试性能测试。通过使用。通过使用Siege Siege 提供的功能,提供的功能,可以很容易的制定可以很容易的制定测试计划测试计划:包括规定使用:包括规定使用并发用户数并发用户数、重复数量,、重复数量,从而可以模拟在服务器、网络或者其它对象上附加负载以测试他们提从而可以模拟在服务器、网络或者其它对象上附加负载以测试他们提供服务的受压能力,方便的测试服务器的性能。最后,利用供服务的受压能力,方便的测试服务器的性能。最后,利用SiegeSiege提供提供的测试结果来分析性能指标或者分析他们提供的服务在不同负载条件的测试结果来分析性能指标或者分析他们提供的服务

30、在不同负载条件下的性能情况,分析测试结果,找出影响系统性能的瓶颈。下的性能情况,分析测试结果,找出影响系统性能的瓶颈。n n缺陷:在多次的缺陷:在多次的webweb测试实践中,发现测试实践中,发现SiegeSiege只输出了测试结果。存储只输出了测试结果。存储了概要测试测试结果。没有详细的了概要测试测试结果。没有详细的测试过程测试过程存储。无法分析在何时出存储。无法分析在何时出现了问题,无法详细了解测试过程的细节问题。使得无法进一步对现了问题,无法详细了解测试过程的细节问题。使得无法进一步对webweb的性能进行分析和评价。的性能进行分析和评价。 n nSiege Siege 是轻量的测试框架

31、,是轻量的测试框架,脚本脚本所处理的所处理的测试用例测试用例构成简单,其实质构成简单,其实质就是通过就是通过HTTP HTTP 协议,发送请求来完成测试用例,所以很困难处理业协议,发送请求来完成测试用例,所以很困难处理业务逻辑关系强的测试用例,例如,登录测试。务逻辑关系强的测试用例,例如,登录测试。 28Robot Framework n nRobot Framework 是一个关键词驱动的自动测试框架。测试用例位于HTML或者TSV(以tab分隔值)文件,使用在测试库中实现的关键词来在测试中运行程序。因为Robot Framework 是灵活和可扩展的,所以它很合适用于测试具有多种接口的复杂软件:用户接口,命令行,web service,编程接口等。29

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号