当前位置:文档之家› 软件自动化测试工具汇总

软件自动化测试工具汇总

一、自动软件测试工具的分类目前市场上的软件测试工具,从测试方法上一般分为白盒测试工具、黑盒测试工具、测试管理工具以及辅助测试工具四大类。

a) 白盒测试工具白盒测试工具一般是针对代码进行测试,测试中发现的缺陷可以定位到代码级,根据测试工具原理的不同,又可以分为静态测试工具和动态测试工具。

i. 静态测试工具静态测试工具直接对代码进行分析,不需要运行代码,也不需要对代码编译链接,生成可执行文件。

静态测试工具一般是对代码进行语法扫描,找出不符合编码规范的地方,根据某种质量模型评价代码的质量,生成系统的调用关系图等。

ii. 动态测试工具动态测试工具与静态测试工具不同,动态测试工具的一般采用“插桩”的方式,向代码生成的可执行文件中插入一些监测代码,用来统计程序运行时的数据。

其与静态测试工具最大的不同就是动态测试工具要求被测系统实际运行。

白盒测试工具比较多,对它们的选择必须考虑它们所支持的语言或环境,这方面网上的资料也比较多,在此无法一一进行介绍,比较有代表性的如下表所示:b) 黑盒测试工具黑盒测试工具适用于黑盒测试的场合,黑盒测试工具包括功能测试工具和性能测试工具。

黑盒测试工具的一般原理是利用脚本的录制(Record)/回放(Playback),模拟用户的操作,然后将被测系统的输出记录下来同预先给定的标准结果比较。

黑盒测试工具可以大大提高测试人员的工作效率和质量,在迭代开发的过程中,能够很好地进行回归测试。

c) 测试管理工具测试管理工具用于对测试进行管理。

一般而言,测试管理工具对测试需求、测试计划、测试用例、测试实施进行管理,并且,测试管理工具还包括对缺陷的跟踪管理。

d) 辅助测试工具除了上述的测试工具外,还有一些专用的测试工具,比如:用于数据库测试的TestBytes、用于性能优化的EcoScope、用于页面链接测试的Link Sleuth等。

二、介绍和比较1、国外大公司所开发的商业测试管理工具这些工具的共同特点:1)功能较全,支持测试需求管理、测试计划管理、测试用例管理和测试缺陷的综合管理。

测试需求管理、测试计划、测试日程安排,到测试执行,以至到出错后的缺陷跟踪,可以仅在一个基于浏览器的应用中便可完成。

2)应用测试需求驱动测试,自动生成或者外部文档导入测试计划和测试用例,采用树型图或目录形式进行管理,比较直观地将需求和测试用例、测试结果和报告的错误的联系起来,从而确保完全的测试覆盖率。

3)能够管理多种类型的测试,包括单元测试、功能测试、性能测试、手动测试、集成测试、回归测试、配置测试和构件测试等,并能够一次执行多种测试。

4)执行自动测试或手动测试时,配置管理比较方便,并把测试结果自动记录到数据库中,测试报告多以报表或图表的方式,或者导出到外部文档,从而很直观的对测试进行很好的评估。

5)多是使用基于web的界面,使得测试人员、开发人员和业务开发人员可以跨地域、跨机构实现协作,共同服务于测试流程,同时具有用户权限分级管理功能,根据个人在管理中的角色定位,查看相应的记录。

6)支持与市场上主流的一些功能测试工具、性能测试工具和缺陷管理工具很好的集成。

7)售后服务多是本地化,但不管是一次性采购成本、后期维护成本,还是从培训成本来说,都是相当昂贵的,都在几十万左右(依用户数而定价,年费)。

8)安装一般比较复杂,熟悉起来比较费时,此外有些功能对小公司来说可能属于华而不实。

测试管理工具典型产品的比较2、国产测试管理工具这些工具的共同特点:1)功能不是很全,一般不包括测试需求的管理,多是围绕测试计划,对测试用例和测试缺陷进行管理。

2)一般不支持与其他主流功能、性能或缺陷管理工具的集成。

3)管理的测试类型相当有限,测试报表的输出信息也相对简单。

4)安装比较简单,价格比较便宜,一般都在万数块钱左右。

3、开源测试管理工具testlinkTestLink 是sourceforge的开放源代码项目之一。

作为基于web的测试管理系统,TestLink的主要功能包括:∙测试需求管理∙测试用例管理∙测试用例对测试需求的覆盖管理∙测试计划的制定∙测试用例的执行∙测试结果的度量和统计功能。

它主要特点如下:∙Web方式访问(支持Mozilla, Firefox, IE浏览器)∙测试计划中的每个产品的测试都遵循测试流程∙用户可以自定义角色(如测试组长,测试员等等)∙关键字的作用用于支持深层次的测试组织∙测试可以根据优先级指派给测试员,定义里程碑。

∙提供测试报告∙支持将文档导出成HTML,WORD或是Excel格式∙可以直接通过这个工具将测试报告邮件发送出去∙可结合通用的bug跟踪系统,如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 Suite包括三个部分:e-Tester、e-Load和e-Monitor,这三部分分别适用于应用功能测试、压力测试以及应用监控,每一部分的功能相互独立,测试过程中又可以彼此协同,从多方面保障了Web应用的成功。

国内上海有代理公司,价格比较昂贵,支持Windows、Linux和Unix平台,官方网址。

Radview公司开发的TestView系列web性能测试工具旨在测试web应用和web服务的功能、性能、程序漏洞、兼容性、稳定性和抗攻击性。

从而为测试工作者提供有力的帮助,加速“开发—测试”循环,提高劳动生产率。

该系列主要包括四个模块:TestView Manager、WebLoad、WebFT和WebLoad Analyzer。

它们各自的职能是:TestView Manager 用来定制、管理各种测试活动;WebLoad模拟多个用户行为进行测试,所测试的是系统性能,容量,稳定性和抗攻击性;WebFT模仿单一用户行为进行测试,所测试的是系统功能,漏洞,兼容性和稳定性;WebLoad Analyzer对web服务、中间件和数据库进行监控和分析,找出问题原因和故障点。

官方网址/5、需求管理工具使用需求管理工具可以及时地跟踪每个需求的状态,很好地在功能需求与相应的使用实例、设计、代码、测试和项目任务之间建立联系链,可以方便地对需求进行删改,而当需求更改时,可以及时第通知每个小组人员。

主流的需求管理工具功能上基本都差不多,最大区别就是以数据库还是以文档为核心,以数据库为核心的产品把所有的需求、属性和跟踪能力信息存储在数据库中,以文档为核心的产品则使用word等字处理程序制作和存储文档。

主流的需求管理工具一般都支持从外部文档导入需求,并且能够和其他主流测试管理工具相集成。

6、配置管理工具通过软件配置管理,将对软件系统中的多重版本实施系统的管理;全面记载系统开发的历史过程(为什么修改,谁作了修改,修改了什么);管理和追踪开发过程,完整明确地记载开发过程中的历史变更,形成规范化的文档;保证日后的代码维护和升级,保护代码资源,提高软件重用率。

目前市场上无论是商业的还是开源的,配置管理工具很多,在此我们仅简单介绍几个典型产品: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 的很多操作一般对服务器都不构成压力,因此,性能测试工具录制的是服务端和应用之间的通信数据,为此需要首先选择录制的协议。

相关主题