自动测试工具汇总.docx
- 文档编号:12010362
- 上传时间:2023-04-16
- 格式:DOCX
- 页数:21
- 大小:138.45KB
自动测试工具汇总.docx
《自动测试工具汇总.docx》由会员分享,可在线阅读,更多相关《自动测试工具汇总.docx(21页珍藏版)》请在冰豆网上搜索。
自动测试工具汇总
一、自动软件测试工具的分类
目前市场上的软件测试工具,从测试方法上一般分为白盒测试工具、黑盒测试工具、测试管理工具以及辅助测试工具四大类。
a)白盒测试工具
白盒测试工具一般是针对代码进行测试,测试中发现的缺陷可以定位到代码级,根据测试工具原理的不同,又可以分为静态测试工具和动态测试工具。
i.静态测试工具
静态测试工具直接对代码进行分析,不需要运行代码,也不需要对代码编译链接,生成可执行文件。
静态测试工具一般是对代码进行语法扫描,找出不符合编码规范的地方,根据某种质量模型评价代码的质量,生成系统的调用关系图等。
ii.动态测试工具
动态测试工具与静态测试工具不同,动态测试工具的一般采用“插桩”的方式,向代码生成的可执行文件中插入一些监测代码,用来统计程序运行时的数据。
其与静态测试工具最大的不同就是动态测试工具要求被测系统实际运行。
白盒测试工具比较多,对它们的选择必须考虑它们所支持的语言或环境,这方面网上的资料也比较多,在此无法一一进行介绍,比较有代表性的如下表所示:
公司
软件名称
支持语言
主要功能
Logiscope
Telelogic
C、C++、Java、Ada
软件质量分析工具Audit;代码规范性检测工具Rulechecker;测试覆盖率统计工具TestChecker
parasoft
jtest
java
代码静态分析、接口函数测试、自回归测试
C++Test
C、C++
.test
.net
CodeWizard
C、C++
代码规则检测
Insure++
C、C++
内存检查,覆盖率分析
Compuware
DevPartner
C++,Java,VisualBasic
代码覆盖率分析工具TrueCoverage,代码效率分析工具TrueTime和内存分析检查工具BoundsChecker
Ibm
RationalPurifyPlus
Java、C/C++、VisualBasic和.NET
代码覆盖率分析工具pureCoverage,代码效率分析工具pureQuantity和内存检查工具purify
McCabe
McCabeIQ
C、C++、Java、Ada、VisualBasic和.NET
用于静态结构分析、代码复杂度和覆盖率分析,包含McCabe Test ,McCabe QA ,McCabe Reengineering等组件
LDRA
TestBed
C、C++、Ada
静态结构分析、代码检查、覆盖率分析
PRQA
QA
C、C++、Java
代码检查
Gimpel
PC-Lint
C、C++
代码检查
PolySpace
PolySpace
C、C++、Ada
代码静态分析
北航
QESAT
C++、Java
代码动态测试和覆盖率分析
AppliedMicrosystems
CodeTest
嵌入式硬件测试工具,可进行内存检查、覆盖率分析、代码性能分析
开源
JUNIT
Java
单元测试,代码检查
b)黑盒测试工具
黑盒测试工具适用于黑盒测试的场合,黑盒测试工具包括功能测试工具和性能测试工具。
黑盒测试工具的一般原理是利用脚本的录制(Record)/回放(Playback),模拟用户的操作,然后将被测系统的输出记录下来同预先给定的标准结果比较。
黑盒测试工具可以大大提高测试人员的工作效率和质量,在迭代开发的过程中,能够很好地进行回归测试。
c)测试管理工具
测试管理工具用于对测试进行管理。
一般而言,测试管理工具对测试需求、测试计划、测试用例、测试实施进行管理,并且,测试管理工具还包括对缺陷的跟踪管理。
d)辅助测试工具
除了上述的测试工具外,还有一些专用的测试工具,比如:
用于数据库测试的TestBytes、用于性能优化的EcoScope、用于页面链接测试的LinkSleuth等。
二、介绍和比较
1、国外大公司所开发的商业测试管理工具
工具名称
公司
官方网址
TestDirector&QualityCenter
Mercury
RationalTestManager
IBM
QADirector
Compuware
SilkCentralTestManager
Segue
TechExcelDevSuite
Techexcel
T-PlanProfessional
T-Plan
http:
//www.t-
这些工具的共同特点:
1)功能较全,支持测试需求管理、测试计划管理、测试用例管理和测试缺陷的综合管理。
测试需求管理、测试计划、测试日程安排,到测试执行,以至到出错后的缺陷跟踪,可以仅在一个基于浏览器的应用中便可完成。
2)应用测试需求驱动测试,自动生成或者外部文档导入测试计划和测试用例,采用树型图或目录形式进行管理,比较直观地将需求和测试用例、测试结果和报告的错误的联系起来,从而确保完全的测试覆盖率。
3)能够管理多种类型的测试,包括单元测试、功能测试、性能测试、手动测试、集成测试、回归测试、配置测试和构件测试等,并能够一次执行多种测试。
4)执行自动测试或手动测试时,配置管理比较方便,并把测试结果自动记录到数据库中,测试报告多以报表或图表的方式,或者导出到外部文档,从而很直观的对测试进行很好的评估。
5)多是使用基于web的界面,使得测试人员、开发人员和业务开发人员可以跨地域、跨机构实现协作,共同服务于测试流程,同时具有用户权限分级管理功能,根据个人在管理中的角色定位,查看相应的记录。
6)支持与市场上主流的一些功能测试工具、性能测试工具和缺陷管理工具很好的集成。
7)售后服务多是本地化,但不管是一次性采购成本、后期维护成本,还是从培训成本来说,都是相当昂贵的,都在几十万左右(依用户数而定价,年费)。
8)安装一般比较复杂,熟悉起来比较费时,此外有些功能对小公司来说可能属于华而不实。
测试管理工具典型产品的比较
工具名称
构架模式
支持平台
支持数据库
价格
TestDirector&QualityCenter
B/S
Windows,Unix,Linux
MSAccess,SQLServer
几十万,昂贵
RationalTestManager
C/S,B/S
Windows,Unix
MSAccess,SQLServer
几十万,昂贵
QADirector
B/S
Windows,Linux
MSAccess,SQLServer
几十万,昂贵
SilkCentralTestManager
B/S
Windows
MSAccess,SQLServer,Oracle
30~50万元
TechExcelDevSuite
C/S,B/S
Windows
MSAccess,SQLServer,Oracle,MySQL
几十万,昂贵
T-PlanProfessional
C/S,B/S
Windows
MS Access,SQLServer,Oracle,Sybase
几十万,昂贵
2、国产测试管理工具
工具名称
公司
官方网址
微创BMS
上海微创软件
TestCenter
上海泽众软件
QESuite
北京精易博创&北航
这些工具的共同特点:
1)功能不是很全,一般不包括测试需求的管理,多是围绕测试计划,对测试用例和测试缺陷进行管理。
2)一般不支持与其他主流功能、性能或缺陷管理工具的集成。
3)管理的测试类型相当有限,测试报表的输出信息也相对简单。
4)安装比较简单,价格比较便宜,一般都在万数块钱左右。
工具名称
构架模式
支持平台
支持数据库
价格
微创BMS
B/S
Windows
SQLServer
几万,适中
TestCenter
B/S
Windows
SQLServer
几万,适中
QESuite
B/S
Windows
SQLServer
几万,适中
3、开源测试管理工具testlink
TestLink是sourceforge的开放源代码项目之一。
作为基于web的测试管理系统,TestLink的主要功能包括:
∙测试需求管理
∙测试用例管理
∙测试用例对测试需求的覆盖管理
∙测试计划的制定
∙测试用例的执行
∙测试结果的度量和统计功能。
它主要特点如下:
∙Web方式访问(支持Mozilla,Firefox,IE浏览器)
∙测试计划中的每个产品的测试都遵循测试流程
∙用户可以自定义角色(如测试组长,测试员等等)
∙关键字的作用用于支持深层次的测试组织
∙测试可以根据优先级指派给测试员,定义里程碑。
∙提供测试报告
∙支持将文档导出成HTML,WORD或是Excel格式
∙可以直接通过这个工具将测试报告邮件发送出去
∙可结合通用的bug跟踪系统,如Bugzilla、mantis和Jira
要使TestLink正常运行,需要安装以下软件:
1)MySQL4.1.x及以上
2)php4.3.x及以上
3)WebServer(Apache1.3.x或2.0.x及以上,IIS3及以上)
4)对于操作系统平台没有特别要求
4、网站测试管理工具E-TestManager和TestViewManager
E-TestManager是一款由Empirix公司专门针对Web应用和服务的测试管理软件,可定制测试需求、测试计划,并管理测试流程和测试缺陷,可以集成该公司自己开发的网站测试工具包E-TESTSuite,该网站测试工具包E-TestSuite包括三个部分:
e-Tester、e-Load和e-Monitor,这三部分分别适用于应用功能测试、压力测试以及应用监控,每一部分的功能相互独立,测试过程中又可以彼此协同,从多方面保障了Web应用的成功。
国内上海有代理公司,价格比较昂贵,支持Windows、Linux和Unix平台,官方网址。
Radview公司开发的TestView系列web性能测试工具旨在测试web应用和web服务的功能、性能、程序漏洞、兼容性、稳定性和抗攻击性。
从而为测试工作者提供有力的帮助,加速“开发—测试”循环,提高劳动生产率。
该系列主要包括四个模块:
TestViewManager、WebLoad、WebFT和WebLoadAnalyzer。
它们各自的职能是:
TestViewManager用来定制、管理各种测试活动;WebLoad模拟多个用户行为进行测试,所测试的是系统性能,容量,稳定性和抗攻击性;WebFT模仿单一用户行为进行测试,所测试的是系统功能,漏洞,兼容性和稳定性;WebLoadAnalyzer对web服务、中间件和数据库进行监控和分析,找出问题原因和故障点。
官方网址
5、需求管理工具
使用需求管理工具可以及时地跟踪每个需求的状态,很好地在功能需求与相应的使用实例、设计、代码、测试和项目任务之间建立联系链,可以方便地对需求进行删改,而当需求更改时,可以及时第通知每个小组人员。
主流的需求管理工具功能上基本都差不多,最大区别就是以数据库还是以文档为核心,以数据库为核心的产品把所有的需求、属性和跟踪能力信息存储在数据库中,以文档为核心的产品则使用word等字处理程序制作和存储文档。
主流的需求管理工具一般都支持从外部文档导入需求,并且能够和其他主流测试管理工具相集成。
工具名称
厂商
以数据库或文档为核心
TelelogicDoors
Telelogic
数据库
BorlandCaliberRM
Borland
数据库
IBMRationalRequisitePro
IBM
文档
HanskyDragonfly
Hansky
文档
RTMWorkshop
IntegratedChipware,Inc
数据库
RM1.0
中科院软件所
数据库
6、配置管理工具
通过软件配置管理,将对软件系统中的多重版本实施系统的管理;全面记载系统开发的历史过程(为什么修改,谁作了修改,修改了什么);管理和追踪开发过程,完整明确地记载开发过程中的历史变更,形成规范化的文档;保证日后的代码维护和升级,保护代码资源,提高软件重用率。
目前市场上无论是商业的还是开源的,配置管理工具很多,在此我们仅简单介绍几个典型产品:
工具名称
说明
TelelogicSynergyCM
采用Copy-Modify-Merge的工作模式,可在多种平台上使用,安装配置使用比较简单,可无缝集成多种常见的开发工具,服务器采用多线程,适合大型开发团队,存储目录不共享,客户端不可直接访问存储目录,比较安全,价格比较昂贵。
HanskyFirefly
McCabeTrueChange
IBMRationalClearCase
采用Copy-Modify-Merge的工作模式,支持常见的平台,与Ratinal产品可无缝集成,安装配置使用相对比较复杂,需要进行团队培训,服务器采用多进程机制,适合大型开发团队,采用C/S模式,需要共享服务器上的存储目录以供客户端访问,这将带来一定安全隐患,价格比较昂贵。
MicrosoftVSS
采用Checkout-Modify-Checkin工作模式,仅支持Windows操作系统,安装配置使用比较简单,很容易上手使用,功能相对单一,适用于几个人的小型开发团队,与VisualStudio开发工具包无缝连接,其它开发工具集成性差,需要共享存储目录,安全性比较差,可免费。
开源CVS
采用Copy-Modify-Merge的工作模式,支持几乎所有的操作系统,安装配置较复杂,但使用比较简单,具有较高的运行性能,适用于各种级别的开发团队,但对开发工具集成性较差,采用C/S模式,不需要共享服务器上的存储目录,安全性较好。
7、缺陷管理工具
无论是国外还是国产,甚至开源,目前主流的缺陷管理工具功能都差不多,基本上都具备了流程定制、查询功能定制、功能域定制、报表图表定制、用户权限分级管理、优先级管理、Email通知等功能,但是这些工具最主要的区别则在是否支持导出外部文档、是否支持与其他工具的集成、安装配置的复杂度、构架模式、支持的平台和数据库、价格、能否修改源代码等方面。
具体比较见Excel表格。
建议:
花钱的不要;开源工具中,对于中小项目,使用Mantis;对于Windows平台,使用Mantis;对于中大项目,使用Bugzilla;对于Unix平台,使用Bugzilla;对于喜欢MS的MSF和BUG管理和里程碑驱动哲学的,使用BugFree。
8、功能测试工具
功能测试工具是一种通过自动录制、检测和回放用户的应用操作,将被测系统的输出记录同预先给定的标准结果比较,验证被测系统的功能能否按照它的设计正常工作的自动化工具。
功能测试工具的测试对象多是那些拥有图形用户界面(GUI)的应用程序,测试的流程一般如下:
目前市场上的主流功能测试工具的共同特点是:
1)具有录制/回放功能,测试人员只需将应用程序完整操作一遍并录制,即可让测试自动进行;
2)无人看管下可以进行自动测试;
3)应用程序发生改变,测试脚本也可以进行相应的改变;
4)支持分布式测试,并且允许非预期错误的恢复;
5)图形化设计脚本执行集合;
6)自动记录测试结果,便于查看
功能测试工具的不同主要表现在支持的测试对象、支持的平台类型、系统架构、用途与功能、所使用的脚本语言以及价格等方面。
具体比较见后面表格。
9、性能测试工具
性能测试工具通常指那些用来支持压力、负载测试,能够用来录制和生成脚本、设置和部署场景、产生并发用户和向系统施加持续压力的工具。
性能测试的指标一般包括并发用户数、响应时间、吞吐量和资源利用率,类型一般包括负载测试、压力测试和强度测试。
好的性能测试工具一般支持多种协议,可测试多种对象,可自动生成脚本并进行脚本调试,可进行多种参数配置以输出结果,此外配置和操作简单,以LoadRunner为例,性能测试工具的组成部分一般有如下4个:
虚拟用户发生器VuGen,压力调度和监控系统Conductor,压力产生器Player和结果分析工具Analyzer,测试的一般步骤为:
1)通过用户操作和VuGen的录制,记录并生成自动化脚本,在用户修改的基础上,得到可成功回放的正确无误的脚本;
2)Conductor把脚本传送到player上,并控制player对被测系统的加压方式和行为;
3)Player会记录最终用户响应时间、脚本执行的日志和被测系统的各个环节的性能数据以供conductor定期收集;
4)压力运行结束以后,Player将数据传送到Conductor中,Conductor负责将数据汇总;
5)数据分析工具Analyzer读取压力测试数据,进行分析工作,确定瓶颈和调优方法;
6)针对性地进行系统调优,重复进行压力测试,确定性能是否得到提高;
需要注意的是,功能测试工具的录制一般是针对GUI的操作录制,脚本中记录的是用户对控件的操作,例如“按下了‘确认’按钮”,或是“在姓名文本框中输入了ABCD”等内容,这是因为功能测试工具主要是通过操作和数据来验证功能的正确性,评价的主要标准是GUI的正确性(界面可见内容的正确性),性能测试着重的是“并发的性能”,GUI的很多操作一般对服务器都不构成压力,因此,性能测试工具录制的是服务端和应用之间的通信数据,为此需要首先选择录制的协议。
性能测试工具的不同主要在支持的协议类型、支持的平台类型、用途与功能、所使用的脚本语言以及价格等方面。
三、市场调查
1、开发者采用的管理需求工具的分布状况
2、开发者团队配置管理工具的种类分布状况
3、开发者团队对缺陷跟踪使用工具的种类分布状况
4、测试方式上的比例
5、开发者及其团队经常使用的黑盒测试工具分布状况
6、
6、开发者及其团队经常使用的白盒测试工具分布状况
四、对自动测试软件选择的一些想法和建议
面对如此多的测试工具,对工具的选择就成了一个比较重要的问题。
我们在考虑选用工具的时候,建议从以下几个方面来权衡和选择:
1、功能
选择一个测试工具首先就是看它提供的功能,但并不是说测试工具提供的功能越多就约好,在实际的选择过程中,适用才是根本。
“钱要花在刀刃上”,为不需要的功能花费金钱实在不是明智的行为。
事实上,目前市面上同类的软件测试工具之间的基本功能都是大同小异,各种软件提供的功能也大致相同,只不过有不同的侧重点。
除了基本的功能之外,以下的功能需求也可以作为选择测试工具的参考:
1)报表功能;测试工具生成的结果最终要由人进行解释,而且,查看最终报告的人员不一定对测试很熟悉,因此,测试工具能否生成结果报表,能够以什么形势提供报表是需要考虑的因素。
2)测试工具的集成能力;测试工具的引入是一个长期的过程,应该是伴随着测试过程改进而进行的一个持续的过程。
因此,测试工具的集成能力也是必须考虑的因素,这里的集成包括两个方面的意思,首先,测试工具能否和开发工具进行良好的集成;其次,测试工具能够和其他测试工具进行良好的集成。
3)操作系统和开发工具的兼容性;测试工具可否跨平台,是否适用于公司目前使用的开发工具,这些问题也是在选择一个测试工具时必须考虑的问题。
2、价格
除了功能之外,价格就应该是最重要的因素了。
工具的代价不仅仅只是许可证费。
还包括每年的维护费用,还应有安装软件,执行管理,获得开发商的支持和咨询,训练用户,升级的费用。
购买前一定要权衡利弊。
3、要考虑到公司的实际情况,不要盲目引入测试工具
并不是每种测试工具都适合公司目前的实际情况。
例如,如果一个公司所开发的软件属于工程性质的软件,在整个开发过程中需求和用户界面变动较大,这种情况下就不适合引入黑盒测试软件,因为黑盒测试软件的基本原理是录制/回放,对于不停变化的需求和界面,可能修改和录制脚本的工作量还大过测试实施,运用测试工具不但不能减轻工作量,反而加重了测试人员的负担。
4、要形成一个良好的使用测试工具的环境
要形成一种机制让测试工具真正能够发挥作用。
例如,白盒测试工具的一般使用场合是在单元测试阶段,而单元测试是由开发人员完成,如果没有流程来规范开发人员的行为,在项目进度压力比较大的情况下,开发人员很可能就会有意识地不使用测试工具,来逃避问题。
在这种情况下,就必须形成一种有约束力的机制来强制对测试工具的使用。
将测试工具的使用明确定义进公司的开发流程,我认为是一种比较好的方式。
5、要进行有效的测试工具培训和学习
测试工具的使用者必须对测试工具非常了解,在这方面,有效的培训是必不可少的。
测试工具的培训是一个长期的过程,不是通过一两次讲课的形式就能达到良好的效果。
而且,在实际的使用测试工具的过程中,测试工具的使用者可能还存在着这样那样的问题,这也需要有专人负责解决,否则的话,对于测试工具使用者的积极性是很大的打击。
7、鉴于目前公司在测试工具引入上还处于调研和尝试阶段,抱着谨慎的态度,建议先试用共享或免费软件,待公司开发规模,质量管理力度,测试管理等达到一定深度时再考虑引入正版收费软件。
a)测试管理工具,优先学习使用开源TestLink;
b)需求管理工具,暂时使用Excel;
c)配置管理工具,暂时使用MicrosoftVSS即可,优先学习使用开源CVS;
d)缺陷管理工具,暂时使用Mantis,优先学习使用BugFree;
e)功能测试工具,
f)性能测试工具,优先学习使用开源stressMark,MicrosoftWebapplicationstresstool,openSta和Jmeter;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自动 测试 工具 汇总