8002tacylf 发表于 2008-8-13 11:48:42

论黑盒测试与白盒测试

黑盒测试和白盒测试是两种不同的测试方法。在整个的测试过程中两种方法都会用到,但以经验来看,

在一个项目中测试工程师还是以黑盒测试为主,白盒测试为辅。对于有些人认为黑盒测试没有技术含量

,这是完全错误的一种看法,好的黑盒测试需要丰富的经验和敏锐的思维。
 
  黑盒测试的特点:
  1. 不基于对系统内部的设计和实现。
 
  2. 用例设计基于功能的定义和需求说明书。
 
  3. 关注于测试数据的选择和测试结果的分析。
 
  常见的黑盒测试有,功能测试、压力测试、易用性测试和性能测试等。
 
  使用的测试方法有,等价类划分、边界值测试、错误测试、启发性测试等。
 
  当然黑盒测试也存在一些弊端:
  1. 对用例设计人员的经验要求较高,包括数据的选择,对潜在错误的敏感性;
  2. 对于内部实现的bug不容易发现;
  3. 不能提供直观的测试覆盖率。
 
  白盒测试的特点:
  1. 需要了解系统的整体设计和实现;
  2. 对源代码进行审查;
  3. 在单元测试阶段发现大量的缺陷;
  4. 关注于系统的控制流和数据流;常用的一些白盒测试方法有,独立路径测试、逻辑判断测试、数

据结构测试、覆盖率测试等。
 
  白盒测试的不足之处有: 
  1. 不能确保系统是否完全符合需求说明书;
  2. 白盒测试的代价会大于黑盒测试;
  3. 需要源代码首先完成才能进行测试;
  在我们的项目中的实践方法是,在早期开发人员通过做单元测试和代码审查来完成白盒测试的大部

分,相应的测试模块的分责人也会参与开发人员的Design Review Meeting.在集成测试和系统测试部分

主要是测试人员进行黑盒测试,中国IT室验实必要时会

对一些核心模块或者bug比较多的模块与开发人员一起重新做Code Review.在产品比较稳定之后,会采用

一些测试工具如Rational Purecoverage来做覆盖率测试,通过覆盖率测试可以发现哪些函数没有跑到,

进而更新或加入新的测试用例。但覆盖率不可能100%,一般采取的标准是函数覆盖率90%,语句覆盖率

70%.
页: [1]
查看完整版本: 论黑盒测试与白盒测试