background image

供直观测试覆盖率,不容易发现内部实现的漏洞,无法对程序进行定位测试,难于衡量系
统的完整性。黑盒测试偏向业务,注重整体。

 

  目前,黑盒测试工具 主要有客 户端 功能测试:

MI 公司的 winrunner,compuware 的

qarun,Rational 的 robot  ; 服 务 器 端 压 力 性 能 测 试 :   MI 公 司 winload,compuware 的
qaload,Rational 的 SQA  load 等 等;   Web 测试 工具 : MI 公司 的 Astra 系列 , rsw 公 司的
e

�test suite; 测试管理工具:rational 的 test manager,compuware 的 qadirector 等;缺陷跟踪

工具:

trackrecord,Testtrack。其中,Winrunner 是一个较为典型自动化测试工具,通过自动

捕获、检测和模拟用户交互操作,能识别出绝大多数软件功能缺陷,从而确保那些跨越了多
个功能点和数据库的应用程序在发布时尽量不出现功能性故障。

 

  

3 白盒测试 

  

3.1 白盒测试概念 

  白盒测试又称为结构测试、逻辑测试和基于程序的测试,其目的是发现程序编码过程中
的错误。它知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的
规定正常进行,按照程序内部的结构测试程序,来检验程序中的每条通路是否都能按预定
要求正确工作,而不顾它的功能是怎样的。

 

  

3.2 白盒测试的原理、方法及功能 

  白盒测试把程序看成是一个打开透明的盒子,是对软件设计过程的细节进行细致的检
查。测试人员必须清楚程序的内部结构,利用程序内部的逻辑结构和其他相关信息,设计或
选择相应的测试用例,对程序所有逻辑路径进行测试,然后再不同点检查程序状态,确定
实际状态是否与预期目标完全一致。

 

  软件测试人员使用白盒测试主要对程序功能模块进行检测,主要体现在以下几方面:
对程序模块的所有独立的执行路径至少测试

1 次;对所有的逻辑判定

“真”与“假”的两种取

值至少测试

1 次;在循环的边界和运行界限内执行循环体;测试内部数据结构的有效性等。

 

  常用白盒测试方法有语句覆盖、条件覆盖、判定覆盖、条件组合覆盖、判定

/条件覆盖、路

径覆盖等,其中路径覆盖是最强的逻辑覆盖标准,它保证程序中的每一条可能的路径至少
执行一次,因而这样设计的测试用例更具有代表性,暴露程序错误的能力也最强。

 

  

3.3 白盒测试可行性研究 

  白盒测试在了解系统整体设计与实现和对源代码进行审核的基础上进行,能尽早发现
问题,测试效果好等优点,用盒测试技术应用于单元测试

, 集成测试也会涉及一些。但是,

白盒测试起点高,不能确保系统与软件需求的一致性,测试代价远远高于黑盒测试,侧重
于实现,注重局部,对过程进行测试。

 

  常用的白盒测试工具有

PR 公司的 PRQA  软件、Telelogic  公司的 Lo2giscope  软件 、

Macabe  公司的 Macabe、 Rational  公司的 Purify、 Compuware 公司的 DevPartner  软件 、
Numega 中的 BounceChecker 等系列。其中 Logiscope 是一种软件质量保证工具,它可以通过
自动进行代码检查和对容易出错的模块的鉴定与检测来帮助扩大测试范围,从而达到保证
质量和完成软件测试的目的。

Purify 工具能自动定位内存相关错误,在错误发生并造成破坏之

前进行修正

,这些错误包括非法指针操作、数组越界检测、内存分配错误以及内存泄漏、未初

始化内存访问等。

 

  

4 实用测试策略 

  为提高软件的测试策略,要尽可能把无限的测试变成有限的测试,以较小的代价暴露
较多的程序错误,降低测试的效率成本。在实际高水平的测试中,往往需要综合使用各种方
法,即采用白盒测试与黑盒测试相结合,静态测试与动态测试相结合,机器测试与人工测
试相结合,以有效的提高测试效率和测试覆盖度。测试用例的设计方法有如下的实用测试策
略:使用边界值分析设计测试用例,测试边界容易出错之处;使用等价划分设计测试用例