软件测试之自动测试工具汇总_第1页
软件测试之自动测试工具汇总_第2页
软件测试之自动测试工具汇总_第3页
软件测试之自动测试工具汇总_第4页
软件测试之自动测试工具汇总_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、由安博测试空间技术中心一、自动软件测试工具的分类目前市场上的软件测试工具,从测试方法上一般分为白盒测试工具、黑盒测试工具、测试管理工具以及辅助测试工具四大类。a) 白盒测试工具白盒测试工具一般是针对代码进行测试,测试中发现的缺陷可以定位到代码级,根据测试工具原理的不同,又可以分为静态测试工具和动态测试工具。i. 静态测试工具静态测试工具直接对代码进行分析,不需要运行代码,也不需要对代码编译链接,生成可执行文件。静态测试工具一般是对代码进行语法扫描,找出不符合编码规范的地方,根据某种质量模型评价代码的质量,生成系统的调用关系图等。ii. 动态测试工具动态测试工具与静态测试工具不同,动态测试工具的

2、一般采用“插桩”的方式,向代码生成的可执行文件中插入一些监测代码,用来统计程序运行时的数据。其与静态测试工具最大的不同就是动态测试工具要求被测系统实际运行。白盒测试工具比较多,对它们的选择必须考虑它们所支持的语言或环境,这方面网上的资料也比较多,在此无法一一进行介绍,比较有代表性的如下表所示:公司软件名称支持语言主要功能LogiscopeTelelogicC、C+、Java、Ada 软件质量分析工具Audit;代码规范性检测工具Rulechecker;测试覆盖率统计工具TestCheckerparasoftjtestjava代码静态分析、接口函数测试、自回归测试C+ TestC、C+.test

3、.netCodeWizardC、C+代码规则检测Insure+C、C+内存检查,覆盖率分析CompuwareDevPartnerC+,Java,Visual Basic代码覆盖率分析工具TrueCoverage,代码效率分析工具TrueTime和内存分析检查工具BoundsCheckerIbmRational PurifyPlusJava、C/C+、Visual Basic 和.NET代码覆盖率分析工具pureCoverage,代码效率分析工具pureQuantity和内存检查工具purifyMcCabeMcCabe IQC、C+、Java、Ada、Visual Basic 和.NET用于静态

4、结构分析、代码复杂度和覆盖率分析,包含McCabe Test ,McCabe QA ,McCabe Reengineering等组件LDRATestBedC、C+、Ada静态结构分析、代码检查、覆盖率分析PRQAQAC、C+、Java代码检查GimpelPC-LintC、C+代码检查PolySpacePolySpaceC、C+、Ada代码静态分析北航QESATC+、Java代码动态测试和覆盖率分析Applied MicrosystemsCodeTest嵌入式硬件测试工具,可进行内存检查、覆盖率分析、代码性能分析开源JUNITJava单元测试,代

5、码检查b) 黑盒测试工具黑盒测试工具适用于黑盒测试的场合,黑盒测试工具包括功能测试工具和性能测试工具。黑盒测试工具的一般原理是利用脚本的录制(Record)/回放(Playback),模拟用户的操作,然后将被测系统的输出记录下来同预先给定的标准结果比较。黑盒测试工具可以大大提高测试人员的工作效率和质量,在迭代开发的过程中,能够很好地进行回归测试。c) 测试管理工具测试管理工具用于对测试进行管理。一般而言,测试管理工具对测试需求、测试计划、测试用例、测试实施进行管理,并且,测试管理工具还包括对缺陷的跟踪管理。d) 辅助测试工具除了上述的测试工具外,还有一些专用的测试工具,比如:用于数据库测试的T

6、estBytes、用于性能优化的EcoScope、用于页面链接测试的Link Sleuth等。二、介绍和比较1、 国外大公司所开发的商业测试管理工具工具名称公司官方网址TestDirector & Quality CenterMercuryRational Test ManagerIBMQADirectorCompuwareSilkCentral Test ManagerSegueTechExcel DevSuiteTechexcelT-Plan ProfessionalT-Planhttp:/www.t-这些工具的共同特点:1) 功能较全,支持测试需求管理、测试计划管理、测试用例管理

7、和测试缺陷的综合管理。测试需求管理、测试计划、测试日程安排,到测试执行,以至到出错后的缺陷跟踪,可以仅在一个基于浏览器的应用中便可完成。2) 应用测试需求驱动测试,自动生成或者外部文档导入测试计划和测试用例,采用树型图或目录形式进行管理,比较直观地将需求和测试用例、测试结果和报告的错误的联系起来,从而确保完全的测试覆盖率。3) 能够管理多种类型的测试,包括单元测试、功能测试、性能测试、手动测试、集成测试、回归测试、配置测试和构件测试等,并能够一次执行多种测试。4) 执行自动测试或手动测试时,配置管理比较方便,并把测试结果自动记录到数据库中,测试报告多以报表或图表的方式,或者导出到外部文档,从而

8、很直观的对测试进行很好的评估。5) 多是使用基于web的界面,使得测试人员、开发人员和业务开发人员可以跨地域、跨机构实现协作,共同服务于测试流程,同时具有用户权限分级管理功能,根据个人在管理中的角色定位,查看相应的记录。6) 支持与市场上主流的一些功能测试工具、性能测试工具和缺陷管理工具很好的集成。7) 售后服务多是本地化,但不管是一次性采购成本、后期维护成本,还是从培训成本来说,都是相当昂贵的,都在几十万左右(依用户数而定价,年费)。8) 安装一般比较复杂,熟悉起来比较费时,此外有些功能对小公司来说可能属于华而不实。测试管理工具典型产品的比较工具名称构架模式支持平台支持数据库价格TestDi

9、rector & Quality CenterB/SWindows,Unix,LinuxMS Access,SQL Server几十万,昂贵Rational Test ManagerC/S,B/SWindows,UnixMS Access,SQL Server几十万,昂贵QADirectorB/SWindows,LinuxMS Access,SQL Server几十万,昂贵SilkCentral Test ManagerB/SWindowsMS Access,SQL Server,Oracle3050万元TechExcel DevSuiteC/S,B/SWindowsMS Access

10、,SQL Server,Oracle,MySQL    几十万,昂贵T-Plan ProfessionalC/S,B/SWindowsMS Access,SQL Server,Oracle,Sybase 几十万,昂贵2、 国产测试管理工具工具名称公司官方网址微创BMS上海微创软件TestCenter上海泽众软件QESuite北京精易博创&北航这些工具的共同特点:1) 功能不是很全,一般不包括测试需求的管理,多是围绕测试计划,对测试用例和测试缺陷进行管理。2) 一般不支持与其他主流功能、性能或缺陷管理工具的集成。3) 管理的测试类型相当有

11、限,测试报表的输出信息也相对简单。4) 安装比较简单,价格比较便宜,一般都在万数块钱左右。工具名称构架模式支持平台支持数据库价格微创BMSB/SWindowsSQL Server几万,适中TestCenterB/SWindowsSQL Server几万,适中QESuiteB/SWindowsSQL Server几万,适中3、 开源测试管理工具testlinkTestLink 是sourceforge的开放源代码项目之一。作为基于web的测试管理系统,TestLink的主要功能包括:· 测试需求管理 · 测试用例管理 · 测试用例对测试需求的覆盖管理 ·

12、测试计划的制定 · 测试用例的执行 · 测试结果的度量和统计功能。 它主要特点如下: · Web方式访问(支持Mozilla, Firefox, IE浏览器)· 测试计划中的每个产品的测试都遵循测试流程 · 用户可以自定义角色(如测试组长,测试员等等) · 关键字的作用用于支持深层次的测试组织 · 测试可以根据优先级指派给测试员,定义里程碑。 · 提供测试报告 · 支持将文档导出成HTML,WORD或是Excel格式 · 可以直接通过这个工具将测试报告邮件发送出去 · 可结合通用的bu

13、g跟踪系统,如Bugzilla、mantis和Jira要使TestLink正常运行,需要安装以下软件:1)MySQL 4.1.x及以上2)php 4.3.x及以上3)WebServer (Apache 1.3.x或2.0.x及以上,IIS 3及以上)4)对于操作系统平台没有特别要求4、网站测试管理工具E-TestManager和TestView ManagerE-TestManager是一款由Empirix公司专门针对Web应用和服务的测试管理软件,可定制测试需求、测试计划,并管理测试流程和测试缺陷,可以集成该公司自己开发的网站测试工具包E-TEST Suite,该网站测试工具包E-Test

14、Suite包括三个部分:e-Tester、e-Load和e-Monitor,这三部分分别适用于应用功能测试、压力测试以及应用监控,每一部分的功能相互独立,测试过程中又可以彼此协同,从多方面保障了Web应用的成功。国内上海有代理公司,价格比较昂贵,支持Windows、Linux和Unix平台,官方网址。Radview公司开发的TestView系列web性能测试工具旨在测试web应用和web服务的功能、性能、程序漏洞、兼容性、稳定性和抗攻击性。从而为测试工作者提供有力的帮助,加速“开发测试”循环,提高劳动生产率。该系列主要包括四个模块:TestView Manager、WebLoad、WebFT和

15、WebLoad Analyzer。它们各自的职能是:TestView Manager用来定制、管理各种测试活动;WebLoad模拟多个用户行为进行测试,所测试的是系统性能,容量,稳定性和抗攻击性;WebFT模仿单一用户行为进行测试,所测试的是系统功能,漏洞,兼容性和稳定性;WebLoad Analyzer对web服务、中间件和数据库进行监控和分析,找出问题原因和故障点。官方网址5、需求管理工具使用需求管理工具可以及时地跟踪每个需求的状态,很好地在功能需求与相应的使用实例、设计、代码、测试和项目任务之间建立联系链,可以方便地对需求进行删改,而当需求更改时,可以及时第通知每个小组人员。主流的需求管

16、理工具功能上基本都差不多,最大区别就是以数据库还是以文档为核心,以数据库为核心的产品把所有的需求、属性和跟踪能力信息存储在数据库中,以文档为核心的产品则使用word等字处理程序制作和存储文档。主流的需求管理工具一般都支持从外部文档导入需求,并且能够和其他主流测试管理工具相集成。工具名称厂商以数据库或文档为核心Telelogic DoorsTelelogic数据库Borland CaliberRM Borland数据库IBM Rational RequisiteProIBM文档Hansky DragonflyHansky文档RTM WorkshopIntegrated Chipware, Inc

17、数据库RM1.0中科院软件所数据库6、配置管理工具通过软件配置管理,将对软件系统中的多重版本实施系统的管理;全面记载系统开发的历史过程(为什么修改,谁作了修改,修改了什么);管理和追踪开发过程,完整明确地记载开发过程中的历史变更,形成规范化的文档;保证日后的代码维护和升级,保护代码资源,提高软件重用率。目前市场上无论是商业的还是开源的,配置管理工具很多,在此我们仅简单介绍几个典型产品:工具名称说明Telelogic Synergy CM采用Copy-Modify-Merge的工作模式,可在多种平台上使用,安装配置使用比较简单,可无缝集成多种常见的开发工具,服务器采用多线程,适合大型开发团队,存

18、储目录不共享,客户端不可直接访问存储目录,比较安全,价格比较昂贵。Hansky FireflyMcCabe TrueChangeIBM Rational ClearCase采用Copy-Modify-Merge的工作模式,支持常见的平台,与Ratinal产品可无缝集成,安装配置使用相对比较复杂,需要进行团队培训,服务器采用多进程机制,适合大型开发团队,采用C/S模式,需要共享服务器上的存储目录以供客户端访问,这将带来一定安全隐患,价格比较昂贵。Microsoft VSS采用Check out-Modify-Check in工作模式,仅支持Windows 操作系统,安装配置使用比较简单,很容易上

19、手使用,功能相对单一,适用于几个人的小型开发团队,与Visual Studio开发工具包无缝连接,其它开发工具集成性差,需要共享存储目录,安全性比较差,可免费。开源CVS采用Copy-Modify-Merge的工作模式,支持几乎所有的操作系统,安装配置较复杂,但使用比较简单,具有较高的运行性能,适用于各种级别的开发团队,但对开发工具集成性较差,采用C/S 模式,不需要共享服务器上的存储目录,安全性较好。7、缺陷管理工具无论是国外还是国产,甚至开源,目前主流的缺陷管理工具功能都差不多,基本上都具备了流程定制、查询功能定制、功能域定制、报表图表定制、用户权限分级管理、优先级管理、Email通知等功

20、能,但是这些工具最主要的区别则在是否支持导出外部文档、是否支持与其他工具的集成、安装配置的复杂度、构架模式、支持的平台和数据库、价格、能否修改源代码等方面。具体比较见Excel表格。建议:花钱的不要;开源工具中,对于中小项目,使用Mantis;对于Windows平台,使用Mantis;对于中大项目,使用Bugzilla;对于Unix平台,使用Bugzilla;对于喜欢MS的MSF和BUG管理和里程碑驱动哲学的,使用BugFree。8、功能测试工具功能测试工具是一种通过自动录制、检测和回放用户的应用操作,将被测系统的输出记录同预先给定的标准结果比较,验证被测系统的功能能否按照它的设计正常工作的自

21、动化工具。功能测试工具的测试对象多是那些拥有图形用户界面(GUI)的应用程序,测试的流程一般如下:录制用户操作修改脚本回放脚本评估结果由工具生成的脚本可重用的脚本测试结果重复回归测试 目前市场上的主流功能测试工具的共同特点是:1) 具有录制/回放功能,测试人员只需将应用程序完整操作一遍并录制,即可让测试自动进行;2) 无人看管下可以进行自动测试;3) 应用程序发生改变,测试脚本也可以进行相应的改变;4) 支持分布式测试,并且允许非预期错误的恢复;5) 图形化设计脚本执行集合;6) 自动记录测试结果,便于查看功能测试工具的不同主要表现在支持的测试对象、支持的平台类型、系统架构、用途与功能、所使用

22、的脚本语言以及价格等方面。具体比较见后面表格。9、性能测试工具性能测试工具通常指那些用来支持压力、负载测试,能够用来录制和生成脚本、设置和部署场景、产生并发用户和向系统施加持续压力的工具。性能测试的指标一般包括并发用户数、响应时间、吞吐量和资源利用率,类型一般包括负载测试、压力测试和强度测试。好的性能测试工具一般支持多种协议,可测试多种对象,可自动生成脚本并进行脚本调试,可进行多种参数配置以输出结果,此外配置和操作简单,以LoadRunner为例,性能测试工具的组成部分一般有如下4个:虚拟用户发生器VuGen,压力调度和监控系统Conductor,压力产生器Player和结果分析工具Analy

23、zer,测试的一般步骤为:1) 通过用户操作和VuGen的录制,记录并生成自动化脚本,在用户修改的基础上,得到可成功回放的正确无误的脚本;2) Conductor把脚本传送到player上,并控制player对被测系统的加压方式和行为;3) Player会记录最终用户响应时间、脚本执行的日志和被测系统的各个环节的性能数据以供conductor定期收集;4) 压力运行结束以后,Player将数据传送到Conductor中,Conductor负责将数据汇总;5) 数据分析工具Analyzer读取压力测试数据,进行分析工作,确定瓶颈和调优方法;6) 针对性地进行系统调优,重复进行压力测试,确定性能是

24、否得到提高;需要注意的是,功能测试工具的录制一般是针对GUI的操作录制,脚本中记录的是用户对控件的操作,例如“按下了确认按钮”,或是“在姓名文本框中输入了ABCD”等内容,这是因为功能测试工具主要是通过操作和数据来验证功能的正确性,评价的主要标准是GUI的正确性(界面可见内容的正确性),性能测试着重的是“并发的性能”,GUI的很多操作一般对服务器都不构成压力,因此,性能测试工具录制的是服务端和应用之间的通信数据,为此需要首先选择录制的协议。 性能测试工具的不同主要在支持的协议类型、支持的平台类型、用途与功能、所使用的脚本语言以及价格等方面。三、市场调查1、 开发者采用的管理需求工具的

25、分布状况2、 开发者团队配置管理工具的种类分布状况3、 开发者团队对缺陷跟踪使用工具的种类分布状况4、 测试方式上的比例5、 开发者及其团队经常使用的黑盒测试工具分布状况6、6、 开发者及其团队经常使用的白盒测试工具分布状况四、对自动测试软件选择的一些想法和建议面对如此多的测试工具,对工具的选择就成了一个比较重要的问题。我们在考虑选用工具的时候,建议从以下几个方面来权衡和选择:1、功能选择一个测试工具首先就是看它提供的功能,但并不是说测试工具提供的功能越多就约好,在实际的选择过程中,适用才是根本。“钱要花在刀刃上”,为不需要的功能花费金钱实在不是明智的行为。事实上,目前市面上同类的软件测试工具

26、之间的基本功能都是大同小异,各种软件提供的功能也大致相同,只不过有不同的侧重点。除了基本的功能之外,以下的功能需求也可以作为选择测试工具的参考:1) 报表功能;测试工具生成的结果最终要由人进行解释,而且,查看最终报告的人员不一定对测试很熟悉,因此,测试工具能否生成结果报表,能够以什么形势提供报表是需要考虑的因素。2) 测试工具的集成能力;测试工具的引入是一个长期的过程,应该是伴随着测试过程改进而进行的一个持续的过程。因此,测试工具的集成能力也是必须考虑的因素,这里的集成包括两个方面的意思,首先,测试工具能否和开发工具进行良好的集成;其次,测试工具能够和其他测试工具进行良好的集成。3) 操作系统和开发工具的兼容性;测试工具可否跨平台,是否适用于公司目前使用的开发工具,这些问题也是在选择一个测试工具时必须考虑的问题。2、价格除了功能之外,价格就应该是最重要的因素了。工具的代价不仅仅只是许可证费。还包括每年的维护费用,还应有安装软件,执行管理,获得开发商的支持和咨询,训练用户,升级的费用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论