软件测试工具英雄榜
几乎毫无悬念地,HP的几大测试工具LoadRunner、QuickTest Professional和TestDirectorfor QualityCenter又一次夺冠,在STP杂志的年度测试工具投票中,这几个工具连续4年占据首位。(关于2007年测试员的工具选择排名,请参见:http://blog.csdn.net/Testing_is_believing/archive/2007/12/17/1944221.aspx)
这对于初学软件测试的朋友们而言,不得不说是一件好事,因为他们可以坚持学习一样工具,避免在选择哪个测试工具来学习时过于彷徨和迷茫。
金奖获得者——LoadRunner
LoadRunner再次成为测试人员最喜爱的测试工具。
LoadRunner是一款优秀的压力和性能测试工具,可以模拟成千上万的并发操作,对应用系统、Web Service、Web服务器、数据库等进行压力和性能测试,兼容Window和Unix。
HP于2007年6月对其进行了重大的升级,增强了对Web2.0技术的支持。
数据/测试性能类
LoadRunner当仁不让,File-AID和SQL Data Generator紧随其后。
LoadRunner的核心模块是VuGen(Virtual Usergenerator),VuGen可用于创建脚本实现测试用例的模拟,脚本可进行参数化以适应不同的场景需要,关联(correlation)和错误处理(errorhandling)的能力都非常强。Controller模块用于运行脚本、模拟大量的并发用户,而Analysis模块则用于分析和生成性能测试报告。
紧随其后的是Compuware的File-AID和Red Gate的SQL Data Generator。File-AID是一个企业级的数据管理工具,测试人员可以利用它来快速地构建测试数据环境,支持mainframes、MVS、DB2和分布系统。
Red Gate的SQL Data Generator替代Intel的Vtune Performance Analyzer的位置,是一颗璀璨的新星,宣称可以在一杯咖啡的时间内,为10个表格创建2百万行数据。
功能测试类
QTP再度领衔主演,Rational Functional Tester和SilkTest锐气不减。
QTP是Windows平台下出色的自动化功能测试和回归测试工具,基于GUI的录制和回放测试,加上VBScript,测试人员可以轻易控制和操纵程序界面对象,创建自动化测试用例。
新版本的QTP在团队协作能力方面有所增强,拥有新的对象库管理和函数库共享能力,还添加了关键字管理、通过拖放构建测试步骤、输出XML格式的报告,还有新的、更为精准的调试器,都让QTP成为当仁不让的王者。(关于QTP9.5新特性的介绍,请参见:http://tech.it168.com/softtest/2008-07-08/200807081020854.shtml)
IBM的Rational Functional Tester和Borland的Silk Test替代了Parasoft的SOAtest和Compuware的Optimal Quality Management的位置。
Rational Functional Tester的特点是,除了自身的脚本开发环境外,还支持两种开发环境:Eclipse 框架中的Java、Microsoft Visual Studio中的VisualBasic.NET。SilkTest同样是一款不错的自动化功能测试和回归测试工具,支持C/S结构的Java、.NET和WEB。
静态/动态代码分析类
Rational Software Analyzer Developer Edition接班,TPTP和DevInspect上位。
随着IBM在08年推出Jazz,Rational Software Analyzer DeverloperEdition接过PurifyPlus的班,成为代码分析工具类的佼佼者,能具捕捉内存泄漏、分析应用程序性能、代码覆盖率等,支持广泛的编程语言,包括C/C++、Java、.NET、VB、VC++,支持Linux、Unix和Windows平台。
Eclipse Testand Performance ToolsPlatform(TPTP)和HP的DevInspect替代了Compuware的DevPartnerStudio和Parasoft的Jtest的位置。Eclipse的TPTP在新版本中添加了不少的新特性。2007年底HP收购了SPIDynamics,DevInspect在自动化安全测试方面拥有很强的优势。
测试/QA管理类
QC为王,SilkCentral Test Manager保持不败,Optim Test Data Management Solution晋身。
TestDirector for Quality Center包括需求管理、测试计划、测试执行和缺陷管理模块,全面管理了测试过程,成为测试人员最喜欢的测试管理工具。
TestDirector基于WEB的管理模式,允许测试人员和项目经理收集需求、设计和安排手工与自动化的测试、分析测试结果、生成图文并茂的测试报告,并且能与HP的其他功能测试工具WinRunner、QTP紧密结合。
2006年2月,Borland收购了Segue,SilkCentral Test Manager与VMWare Lab Manager整合在一起用于简化跨平台的测试,还可管理Junit/Nunit等第三方的测试框架。
作为IBM的测试数据管理和应用程序质量改进方案,Optim Test Data ManagementSolution允许测试人员指定覆盖率标准、创建错误和边界条件、模拟产品环境等,支持PeopleSoft和Siebel等企业应用,支持IBM、Microsoft、Oralce、Sybase等厂家的数据库,支持Linux、Uninx、Windows等平台。
缺陷/问题管理类
QC大而全,VSTS新进,Bugzilla略显老态。
上次,HP的TestDirector for QualityCenter和Mozilla的Bugzilla并列第一;这次,Bugzilla被无情地挤到第三,新进者不是谁,正是微软的VisualStudio Team Edition for Software Testers。
由于TestDirector forQualityCenter包括了需求管理、测试计划、测试执行和缺陷管理四大模块,因此也就包揽了测试/QA管理类和缺陷/问题管理类的双重头奖。TestDirector for QualityCenter中的缺陷跟踪模块能自动地检查缺陷数据库中的相似问题,避免录入新BUG时的重复现象。另外,它对缺陷的图表分析和统计能力可以辅助管理层决定产品发布日期、判断产品质量趋势。
相对而言,Visual Studio Team Edition forSoftware Testers则是一个新进者,与TeamFundation结合起来,可以做到缺陷/问题跟踪自动化。这个工具还可以对Web应用程序和Web站点进行功能和压力测试。
1998年,最早版本的Bugzilla是由TerryWeissman用Tcl写的,后来他觉得用其他语言写可能会更吸引人,因此决定移植到Perl,就成了Bugzilla2.0。在2000年4月的时候,项目移交给Tara Herenandez,有了更多的开发者参与,包括现在的Dave Miller。
压力/性能测试类
LoadRunner蝉联,Rational Performance Tester和SilkPerformer紧追不舍。
VuGen的能力确实非常强,支持对广泛的协议的录制和编辑。对于Web/HTTP协议,测试人员可以选择让LoadRunner产生URL模式或者是HTML模式的脚本。
Performance Tester与IBM的Tivoli管理环境整合,可以使用最小的硬件资源来产生大量的并发用户测试。
SilkPerformer可以在没有license的限制下模拟数千个并发用户。可以通过插件在Eclipse中创建测试。SilkPerformer还有一个SOA版本。
SOA/Web Services测试类
Rational Tester for SOA Quality大放异彩,LoadRunner无缘三甲。
在SOA/Web Services测试类,上一次的冠军LoadRunner居然无缘三甲,取而代之的是IBM的Rational Tester for SOA Quality。
如果你的应用依赖于别人的WebService,你不能掉以轻心。例如,如果你的程序依赖一个信用卡认证服务,那么你如何确保在购物旺季时不会出现"黑色星期五"呢?利用Testerfor SOA Quality,你可以模拟成千上万的用户访问和使用这个WebService,并且在尝试执行成百上千的事务时观察你的程序的运行情况。
HP的QTP和Parasoft的SOAQuality Solution也是测试人员所喜爱的SOA/Web Services测试工具。SOA QualitySolution把公司的多层工作流方法融合到测试和QA中,可以在SOA层做强制政策一致性检查;端到端的测试和业务逻辑或事务模拟;支持回归测试、安全渗透测试、压力和性能测试。
安全测试类
Rational AppScan击败WebInspect,晋身超级保镖,力保软件安全。
收购了Watchfire之后,IBM的AppScan成为一款优秀的自动化安全审计工具。针对AJAX、Flash等应用Web2.0技术的中小型业务应用系统,IBM在08年十月发布了AppScan Express版本。
HP的Assessment Management平台是一个自动化的、集中控制的WEB安全扫描和测试平台,它让分布式的团队通过一个仪表板样式的界面访问和纠正安全漏洞。
WebInspect在2007年1月的时候,被完全重写过,性能和各项技术兼容性有了很大的提高。据称WebInspect7.5更进一步地改进了AJAX漏洞的审计能力,对Windows Vista的支持也得到了增强。
测试自动化类
QTP稳居第一,Business Process Testing新面孔登场。
QTP再次夺冠。QTP通过插件架构来支持扩展,默认支持ActiveX Control、Web、VB插件。
Compuware的TestPartner是一个自动化的GUI功能测试工具,采用VBA作为脚本开发语言,测试人员还可以采用"Visual Navigator"的方式来创建测试脚本。
HP的Business Process Testing是一个新面孔,据称该工具的目的是为了让业务人员可以创建和执行手工的或自动化的测试,不需要任何的编程技巧。能自动化测试过程和文档创建过程,提高测试的可维护性。
SCM/Build管理类
VSS历史悠久,Subversion开源雄风。
Sourcesafe最早由One TreeSoftware开发,在上世纪90年代发布了3.1版本,微软当时的SCM工具是Delta,并不怎么出名。微软收购了16位的SourceSafe并于1995年发布了一个32位的Visual SourceSafe 4.0版本,10年后VSS2005年才出现。
Subversion在开源社区中很流行,在2000年的时候由CollabNet发起。构建自动化工具ElectricClound在08年9月的时候发布了ElectricCommander3.0版本,新版本可以与Eclipse和VisualStudio整合,ElectricCommander支持各种各样的脚本语言,包括Bash、perl、Python和Tcl,支持AccuRev、ClearCase、Perforce、Subversion和Synergy等SCM工具。
嵌入式/移动设备测试类
Rational Test RealTime被C++TEST击败,挤出三甲位置。
Parasoft的C++Test是一款优秀的C++代码分析和审查工具,同时也是一款代码分析、回归测试和自动化单元测试工具。Parasoft为嵌入式程序提供了相应的版本,支持Eclipse和Visual Studio,也可以批处理执行。
紧随其后的是QualiSystems的TestShell和Coverity的Prevent。QualiSystems的TestShell包括计划、构建、执行和控制测试、分析结果等功能,其核心TestShellFoundation是一个可提供扩展架构以满足测试组织增长需求的引擎和数据库。Coverity的Prevent是一款C、C++和Java代码的扫描和查错工具。
.NET测试类
Team System上升,LoadRunner下降,Parasoft Test被替换。
微软的Visual Studio Team System Edition for SoftwareTester由上次的第二名上升到第一位。Visual Studio Team System Edition for SoftwareTester支持.NET应用程序的性能和压力测试,还支持代码分析、代码覆盖率。
LoadRunner在8.0后添加了对.NET语言的支持,使用LoadRunner的"Microsoft.NET"协议可以创建.NET Vuser脚本,模拟.NET客户端程序的各种操作。
在LoadRunner9.0中,可以选择"Microsoft.NET"协议来录制和创建.NET程序的Vuser脚本。VuGen支持在应用层协议上录制.NET应用程序,允许测试员创建Vuser脚本模拟.NET客户端程序的操作。VuGen把所有客户端的动作录制成相应的方法和类,并用C#或VB.NET来创建脚本。VuGen支持.NET Remoting、ADO.NET、EnterpriseServices和WCF(Windows Communication Foundation)程序的录制和脚本创建。
Compuware的DevPartner Studio除了提供C/C++、Java版本外,也提供了.NET版本。DevPartner分析代码的质量和复杂度,并且能检测内存泄漏,代码效率和代码覆盖率。
Java测试类
LoadRunner连续3年斩获,Junit稳居单元测试老大。
LoadRunner在压力测试过程中使用监视器来收集性能数据,可用的监视器包括虚拟用户、事务完成率、网络响应、Web和数据库服务器响应和资源使用等。
有人说Junit是单元测试框架的祖父级人物,2007年,Junit跨过了第10个年头,此时,它的子孙后代已经遍天下,Junit被移植到了各种语言平台,包括:C#(Nunit)、C++(CPPUnit)、Fortran(fUnit)、Perl(Test::Class和Test::Unit)、PHP(PHPUnit)和Python(PyUnit),甚至还有JavaScript版本的JSUnit。10年间,Junit被下载超过2百万次。
Eclipse的Tets and Performance Tools Platform(TPTP) 在08年9月升级到了4.5.1版本,支持Java1.6,修正了大量的BUG。
整合测试/性能套件类
VSTS夺冠,HP Performance Center屈居第二,TestComplete低价制胜。
上次的冠军HP的Performance Center被VSTS击败。Visual Studio Team Edition forSoftware Tester成为测试人员最喜爱的整合测试/性能套件类工具,并且测试人员都在热切地期待预计2010年发布的VisualStudio Team System,代号"Rosario"。据称,微软将添加更多的ALM功能到该工具中,并且会与Office ProjectServer整合在一起。
HP的Performance Center组合了LoadRunner的所有功能、测试资产和人力资源管理功能,测试执行过程可以被跟踪、编辑和计划。
AutomatedQA的TestComplete是一款价廉物美的自动化测试工具,支持WEB、.NET、Java、Flash等应用程序,而且可以进行基于HTTP协议的压力测试。
低价商业测试工具类
Software Planner更上一层楼。
价格低于$500的商业测试工具中,Software Planner从上次的第二名上升到第一位。Software Planner是一个基于Web的项目计划工具,使用任务链接来组织任务,防止一个任务在另外一个任务未结束之前就开始。
Mindreef的SOAPscope是一个测试基于SOAP的应用程序的工具。SOAPscope让团队可以创建、测试、发布Web服务和SOA组件,自动化面向XML的任务。
Shunra Virtual Enterprise创建了一个虚拟网络,可以用于模拟应用程序测试环境,让测试人员检查应用程序在不同网络条件和环境下的性能和用户体验。
免费测试工具类
TPTP击败Bugzilla,Junit持平,Bugzilla第三。
TPTP的核心部件包括测试编辑、执行、监视、跟踪和分析、日志分析,支持嵌入式系统、独立应用程序和企业级应用系统、高性能计算系统。
Junit如此受欢迎,以至大家在说话的时候把这个名称当作动词来用,例如"确保你在签入之前Junit一下你的代码"。
07年,Bugzilla继9年前的2.0版本后发布了重要的3.0版本,其中主要的增强包括性能方面、Web Services接口等。
新手最佳解决方案类
测试资源少,工具选择更重要。
如果把少于5年历史的公司定义为"新手"的话,VMLogix的LabManager是最适合这类公司的工具。LabManager支持微软和VMWare的虚拟系统,LabManager3.5在08年五月发布,添加对Citrix XenServer4.1的支持。
Fortify的Defender是上次的冠军,这次,它的新产品Fortify 360居第二位。Fortify 360瞄准软件开发生命周期领域,可以在开发的各个阶段对漏洞进行检测识别、区分优先级、修补。
BluePrint的Requirements Center聚焦协作,通过协作在代码开发前就定义清楚、确认清楚需求,让需求清晰化、可视化。