测试工具的分类与选择
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
WAS
WAS允许以不同的方式创建测试脚本:可以通过使用浏览 器走一遍站点来录制脚本,可以从服务器的日志文件导入 URL,或者从一个网络内容文件夹选择一个文件。当然, 也可以手工的输入URL来创建一个新的测试脚本。WAS可 以使用任何数量的客户端运行测试脚本,全部都有一个中 央主客户端来控制。在每一个测试开始前,主客户机透明 的执行以下任务:与其他所有的客户机通信;把测试数据 分发给所有的客户端;在所有客户端同时初始化测试;从 所有的客户端收集测试结果和报告。
ApacheTCPM on等多种工具。 (5)soapUI可以完成多种webservice的测试场景。
soapUI
缺点: (1) soapUI使用的是自己的Web服务客户端,它创
建的测试消息不同于通常意义上的基于JAX或者 其它的Web服务客户端的工作过程, SOAPUI并不 从WSDL中产生Java类,它也不处理Java对象的序列 化和反序列化,这样的结果是客户端并不是像真正 的Web服务消费者那样去调用Web服务。 (2) SOAPUI的RequestTransportRegistry类并不提 供从外部增加新的协议的机制,它不支持JMS协议。
TestMaker
TestMaker 不单单的是完整的测试平台,也 是性能监控的工具,它是一个分布式的自 动化测试平台,主要对应用程序的性能进 行管理和监控。支持 Java、.NET、Jython、 Groovy、PHP、Ruby 和 Perl 的功能测试以 及负载和性能测试,主要适合Web项目、 SOA应用、RIA和BPM应用。
OpenSTA 基于CORBA 的结构体系,它通过虚拟一个proxy,使用其专 用的脚本控制语言,记录通过proxy 的一切HTTP/S traffic。通过分析 OpenSTA 的性能指标收集器收集的各项性能指标,以及HTTP 数据, 对系统的性能进行分析。
优点:压力测试引擎具有可扩充性,可以完成大规模的压力测试。提 供脚本语言支持。
壮性。 利用badboy录制测试脚本,可以快速的形成测试脚本 Jmeter断言可以验证代码中是否有需要得到的值 。 使用参数化以及Jmeter提供的函数功能,可以快速完成测试数据的添加修改等。
Jmeter
缺点: 使用Jmeter无法验证JS程序,也无法验证页面,所
以需要手工去验证。 Jmeter的断言功能不是很强大 。 就算是jmeter脚本顺利执行,依旧无法确定程序是
soapUI优点: (1)soapUI工具适合QA和测试人员,而不需要开发人员使用编程来
实现测试用例。它能够基于WSDL自动产生测试消息。 (2)soapUI能够直接引用外部的属性文件来简化测试步骤,通过建立
断言soapUI可以进行xml模式效验和错误效验。 (3)soapUI可用于压力测试,容易管理服务端点。 (4)soapUI提供方便的接口能够集成JBoss、Ant、XML-Bean、
WatiR可以模拟用户访问网页、点击链接,填写表单,点击按钮。 WatiR可以模拟用户验证页面内容。 所需要的环境:Ruby ,因为是使用Ruby实现的,脚本也是Ruby的脚本,
所以需要在本机安装Ruby。 其他特性:如果熟悉了Ruby,再结合其他一些工具,可以在Watir框架
的基础上扩展出很多特性。例如:外部文件或数据库的读取、模块化 的开发、可重用的函数库、数据驱动、关键字驱动、脚本的版本化控 制以及测试结果的管理,等等。
功能测试工具的原理
基于GUI功能测试工具的基本原理是:将操 作应用程序的各种动作和输入记录下来, 如将键盘操作,鼠标单击等捕捉下来,生 成一个脚本文件,这个脚本以后可以被 “回放”,也就是能重复上一次所操作的 动作,实现自动运行。
功能测试工具
WinRunner QARun SQA Robot Visual Test Suite QTP Selenium(开源)
优点: 不依赖于界面,如果服务正常启动,传递参数明确就可以添加测试用例,执
行测试 。 测试脚本不需要编程,熟悉http请求,熟悉业务流程,就可以根据页面中
input对象来编写测试用例。 测试脚本维护方便,可以将测试脚本复制,并且可以将某一部分单独保存。 可以跳过页面限制,向后台程序添加非法数据,这样可以测试后台程序的健
WatiR
WatiR是使用Ruby实现的开源web自动化测试框架,小巧灵活,提供了 对多种常见web对象的识别和操作的支持。
Watir可以使用IE(IE5.5及以上版本),Firefox,Chrome进行Web应 用测试。支持Windows(2000及以上版本),Linux,Ubuntu,Mac。
Siege
Siege是Linux系统下的一个测试工具,完全使用C语言实现,可以对 HTTP和FTP服务器进行负载和性能测试。通过使用Siege 提供的功能, 可以很容易的制定测试计划:包括规定使用并发用户数、重复数量, 从而可以模拟在服务器、网络或者其它对象上附加负载以测试他们提 供服务的受压能力,方便的测试服务器的性能。最后,利用Siege提供 的测试结果来分析性能指标或者分析他们提供的服务在不同负载条件 下的性能情况,分析测试结果,找出影响系统性能的瓶颈。
嵌入式测试工具
CodeTest Logiscope(用于代码分析、覆盖测试 ) VectorCast
几种主流的自动化测试工具
1.Rational robot(功能/性能测试) 2.WinRunner(功能测试) 3.Loadrunner(性能与负载压力) 4.QTP(功能测试与回归测试) 5.SilkTest(功能测试与回归测试) 6.WAS(负载压力测试,开源免费) 7.Jmeter(开源,性能测试) 8.MaxQ(开源Web功能测试工具)
测试工具与开发过程关系图
测试工具的选择
开源黑盒(功能、负载、性能)
开源测试工具介绍
Jmeter(功能/性能测试) MaxQ(功能测试) WebInject(功能/回归测试) soapUI(功能/性能测试) TestMaker(功能/性能测试) OpenSTA(性能测试) WAS(负载压力测试) Selenium(功能/验收测试) WatiR(功能测试) Siege(web压力测试)
否正确执行,有时候需要进入程序查看,或者查 看Jmeter的响应数据。 Jmeter脚本的维护需要保存为本地文件,而每个脚 本文件只能保存一个测试用例,不利于脚本的维 护。
MaxQ
MaxQ是Web功能测试工具,包括记录测试脚本的HTTP代 理和用于回放测试的命令行实用程序。所不同的是,它不 是对GUI操作的模拟,而是绕过用户界面,采用Web Proxy 代理方式,获得浏览器提交的请求数据包,直接转发给服 务器,这样测试速度快且稳定。
首先能模拟实际用户的操作行为,记录和回放多用户测试 中的事物处理过程,自动生成相应的测试脚本。其次,能 针对脚本进行修改,增加逻辑控制、完成参数化和数据关 联。再者,可以设置不同的应用环境和场景,通过虚拟用 户执行相应的测试脚本。最后,在脚本执行过程中,通过 系统监控工具获得系统性能的相关指标的值,包括系统资 源利用率、响应时间、系统吞吐量。
优缺点:WAS是一个免费的测试工具,使用起来比较简单, 但是不能显示和编辑所录制的测试脚本,其可控性和图形 化测试结果都比较弱,故造成一定的局限性。
Selenium
Selenium(适用于功能测试、验收测试)也是一个 用于Web应用程序测试的工具。Selenium 测试直接 运行在浏览器中,就像真正的用户在操作一样。 支持的浏览器包括IE,Mozilla和Firefox等。这个工 具的主要功能包括:测试与浏览器的兼容性--测试 你的应用程序看是否能够很好得工作在不同浏览 器和操作系统之上。测试系统功能--创建衰退测试 检验软件功能和用户需求。 支持自动录制动作, 和自动生成。Net、Java、Perl等不同语言的测试脚 本。Selenium 是 ThoughtWorks 专门为 Web应用程 序编写的一个验收测试工具。
特点: 1. 免费、开源。 2. 用Jython作为记录测试脚本的语言。 3. 基于Java构建,在任何地方都可以运行。 4. 代码简单,容易按需增强其功能。 5. 测试脚本可以为JUnit运行。 6. 可以运行于代理服务器之后。 7. 支持cookies。
MaxQ工作原理
WebInject
性能测试工具的原理
性能测试工具执行测试的一般过程是通过虚拟用户生成器 录制关键业务操作,自动生成原始的测试脚本。然后,在 控制器编辑、组织测试脚本分发给每个负载生成器(也称 代理,Agent),Agent向服务器发送请求模拟客户端,执 行脚本的同时将测试的结果返回给控制器。
性能测试工具的主要特性:
测试工具的分类与选择
测试工具的分类(按测试方法)
1.白盒测试工具 2.黑盒测试工具
测试工具的分类(按测试对象和目 的)
1.单元测试工具 2.功能测试工具 3.负载测试工具或性能测试工具 4.测试管理工具(TestLink) 5.缺陷管理工具(Bugzilla) 6.嵌入式测试工具 7.安全性测试工具 8.数据库测试工具
负载和性能测试工具
loadrunner、QALoad、SQA load、WAS、 Webload、performance、Jmeter、Rational robot和Visual Qualitify
嵌入式测试工具原理
嵌入式系统软件的测试相对困难,因为它 的开发是用交叉编译方式进行的。在目标 机上,不可能有多余的空间记录测试的信 息,必须实时的将测试信息通过网线/串口 传到宿主机上,并实时在线的显示。因此, 对源代码的插装和目标机上信息的收集成 为嵌入式工具要解决的关键问题。
Jmeter
Jmeter是100%的java桌面应用程序,它被设计用来加载被测软件功能特性、度 量被测软件的性能。它可以完成针对静态资源和动态资源的性能测试。可以 模拟大量的服务器负载、网络负载、软件对象负载,通过不同的加载类型全 面测试软件的性能。JMeter提供图形化的性能分析,产生相应的统计报表,包 括各个URL请求的数量、平均响应时间、最大/最小响应时间、错误率等。
OpenSTA
OpenSTA是一个免费的、开放源代码的web性能测试工具,能录制功 能非常强大的脚本过程,执行性能测试。例如虚拟多个不同的用户同 时登陆被测试网站。
OpenSTA 是专用于B/S结构的、免费的性能测试工具。它的优点除了 免费、源代码开放的优点外,还能对录制的测试脚本进行,按指定的语 法进行编辑。在录制完测试脚本后,可以对测试脚本进行编辑,以便 进行特定的性能指标分析。其较为丰富的图形化测试结果大大提高了 测试报告的可阅读性。
WebInject 是一个自动化测试工具,主要适 合Web应用和Web服务。可以通过它来测试 基于HTTP接口的系统组件,还可以用它来 进行服务器监控。
使用环境:Windows, Linux
soapUI
soapUI是一个开源测试工具,通过soap/http来检查、调用、实现Web Service的功能/负载/符合性测试。该工具既可作为一个单独的测试软 件使用,也可利用插件集成到Eclipse,maven2.X,Netbeans 和int言是否支持外部函数库、函数的可重用 3.对程序界面中对象的识别能力 4.抽象层 5.分布式测试的网络支持 6.支持数据驱动测试 7.具有脚本开发良好的环境 8.其他功能
面向开发的单元测试工具
按语言分类(Junit,C++ Test) 按工具的功能特点分类: 内存资源泄露检查工具(Purify) 代码覆盖率检查工具(LogiScope) 代码性能检查工具(Macabe) 软件纠错工具(Rational Purl等) 代码复杂度检查工具(SourceMonitor)