主题
 

时间:2007年12月12日
地点:北京丽亭华苑酒店

 

指导单位:
信息产业部科学技术司
信息产业部电子信息产品管理司
主办单位:
信息产业部软件与集成电路促进中心
(CSIP)
承办单位:
CSIP 赛普实验室
测试时代
协办单位
中国惠普有限公司
赞助单位
Borland,IBM,神州数码
支持单位:
中国软件与信息服务外包产业联盟
电子政务软件产业联盟
中国Linux产业战略联盟
微软(中国)有限公司
全程支持媒体:赛迪网
直播媒体:赛迪网、中国IT实验室

 

 

会议咨询
010-63951881-8130
传真 010-63973485

 

赞助洽谈
010-51297073-0
010-51297063
传真010-51297063-800

 
往届视频
 

软件测试的工具种类

  随着软件工程技术的发展,软件测试理论和技术也得到了快速的进步,在传统的黑盒测试技术和白盒测试技术的基础上,包括面向对象测试技术和自动化测试技术等在内的新的软件测试技术和方法大量涌现,软件测试技术进入了一个高速发展的时期,并成长成为一门独立的学科。如何高效地完成功能测试,选择合适的功能测试工具是至关重要的。现阶段也存在少数不采用任何功能测试工具,从事功能测试外包项目的软件服务企业,但长久来看,自动化程度较高的软件服务企业将更具竞争力。测试工具一般可分为白盒测试工具、黑盒测试工具(包括性能测试工具),另外还有用于测试管理(测试流程管理、缺陷跟踪管理、测试用例管理)的工具,这些产品主要是MercuryInteractive(MI)、Klocwork、IBM、Microsoft、BorLand、Telelogic和Compuware等公司的产品,以下将分别对各类软件测试工具进行详细的介绍。
  1) 白盒测试工具
  白盒测试工具一般是针对代码进行测试,测试中发现的缺陷可以定位到代码级。根据测试工具原理的不同,白盒测试工具又可以分为静态测试工具和动态测试工具。
静态测试工具,是一种直接对代码进行分析,不需要运行代码,也不需要对代码编译链接,生成可执行文件的测试工具。静态测试工具一般是对代码进行语法扫描,找出不符合编码规范的地方,根据某种质量模型评价代码的质量,生成系统的调用关系图等。静态测试工具的代表有:Klocwork K7自动检测软件, Logiscope软件,PRQA软件等。
  动态测试工具:动态测试工具与静态测试工具不同,动态测试工具的一般采用"插桩"的方式,向代码生成的可执行文件中插入一些监测代码,用来统计程序运行时的数据。其与静态测试工具最大的不同就是动态测试工具要求被测系统实际运行。动态测试工具的代表有: Rational Purify系列工具软件, DevPartner工具软件等。
  2) 黑盒测试工具
  黑盒测试是软件测试的另一种方法,要求测试人员不了解被测系统的设计结构,只是根据系统的功能定义,输入输出条件,系统运行环境等外部条件来选择测试用例,验证系统是否实现了规定的功能,是否达到了规定的性能,是否可以满足系统的可靠性要求。随着软件业的不断发展,黑盒测试在软件开发中的地位越来越重要,而自动化测试工具的使用又极大地提高了软件测试的效率。黑盒测试工具还根据不同的测试类型可分为功能测试工具和性能测试工具两类。
  3) 功能测试工具
  功能测试工具一般原理是利用脚本的录制(Record)/回放(Playback),模拟用户的操作,然后将被测系统的输出记录下来同预先给定的标准结果比较。黑盒功能测试工具可以大大减轻黑盒测试的工作量,在迭代开发的过程中,能够很好地进行回归测试。功能测试工具的代表有: WinRunner,Rational TeamTest,Visual Studio Test Edition, TestComplete以及QACenter等。
  4) 性能测试工具
  性能测试用来保证产品发布后系统的性能能够满足用户需求,主要包括负载测试和压力测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。性能测试工具通过模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。常用于性能测试的工具包括LoadRunner、Rational Performance Tester、Silkperformer、Application center test(ACT)、SmartBits、Avalanche、QaLoad等。
  5) 嵌入式软件测试工具
  嵌入式软件测试的目的与非嵌入式软件测试的目的是相同的,但由于嵌入式系统有其自身的特点:可靠性要求比较高;系统安全性的失效可能会导致灾难性的后果;即使是非安全性系统,由于大批量生产也会导致严重的经济损失。这就要求对嵌入式软件进行更为严格的测试、确认和验证。用于辅助嵌入式软件测试的工具很多,通常分为内存分析工具、性能分析工具、GUI测试工具和覆盖分析工具几类,目前常用工具包括:Klocwork K7、Logiscope、Cantata/Cantana++、Testquest、CodeTest等。
  6) 测试管理工具
  测试管理工具用于规范和管理日常测试项目工作。一般而言,测试管理工具主要是对测试流程、测试用例和缺陷跟踪进行管理。在国内比较有名的测试管理工具有:TestDirector,Rational Test Manager,SilkCentral Test Manager,VSS,Telelogic Doors,QADirector,TestView Manager,以及国内汉星天公司的Hansky Firefly和Hansky Butterfly等软件。
  7) 开源测试软件
  目前市场主流的测试工具和管理软件,如Rational和Mercury的系列产品,大多比较昂贵。商业软件的优势主要表现在其售后服务和工具本身的强大和易用性上,而作为技术基础相对较好的测试人员,也可考虑使用开源的软件,这将为公司节省一大笔开支,必要时也有更好的扩展自由度。目前的开源软件包括Linux Test Project、 Apache JMeter、MaxQ、、WebInject、、OpenSTA、Mantis、Marathon、 DBMonster、Bugzilla、CVS等软件。

(摘自软件测试技术与工具分析报告第19页)

 
Copyright © 信息产业部软件与集成电路促进中心 All Rights Reserved 版权所有 复制必究