51Testing软件测试论坛

标题: 白盒测试 [打印本页]

作者: 8002tacylf    时间: 2008-8-25 10:47
标题: 白盒测试

白盒测试是软件测试体系中一个分支,测试关注对象是一行行可见代码,如果代码不可见就不是白盒,是黑盒测试了。
 
  白盒测试通常被认为是单元测试与集成测试的统称,但这个概念是相对的。与当前项目遵循的研发流程相关,某些流程把白盒测试划分为单元测试与集成测试,而另一些流程,则划分为模块单元测试、模块集成测试、多模块集成测试,还有一些流程则把单元测试与集成测试混为一体,统称为持续集成测试。
 
  介于白盒和黑盒之间的灰盒操作模式,针对被测对象同样是可见源码。
 
  第一代白盒测试:半手工,测试效果严重依赖测试者的个人能力,缺少统一规范的评判标准。
 
  以单步调试代替测试,或采用assert断言、print语句等简单方式的阻止测试体系。
 
  缺陷:测试过程难以重用,成功经验无法拷贝,测试结果难以评估用于改进。
 
  第二代白盒测试:将测试操作改用一种形式化语言(通常称为测试脚本)来表述,脚本可以组合成用例,用例可以组合成测试集,用例与测试集再统一到测试工程中管理,把测试脚本保存到文件,重用问题解决了。
 
  另外,代码覆盖率功能使测试结果可以评估,能直观的看到哪些代码或分支未被覆盖,然后有针对性的增加测试设计。中国IT实验室工具:RIRT、CodeTest、WisualTester、C++Tester 都是第二代白盒测试工具第三代白盒测试:从一次测试模式过渡到持续测试模式。工具如:JUnit、DUnit、CppUnit等。
 
  xUnit工具在功能上普遍赶不上第二代商用工具,连基本的覆盖率都支持不了。况且,xUnit使用被测代码的编程语言写用例,普遍效率低下,区分二代三代,主要是测试理论上差别,而不以工具差别为基准。
 
  下表简要的列出第1代到第4代白盒方法的主要差别:
 
               是否评估测试效果 是否自动测试  是否持续测试  是否调测一体
第1 代白盒测试方法   否              否          否          否
第2 代白盒测试方法   是              是          否          否
第3 代白盒测试方法   是              是          是           否
第4 代白盒测试方法   是               是          是          是
  是否评估测试效果:是否有覆盖率或其他评估测试效果的指标。
 
  是否自动测试: 是否形式化描述测试操作并将它用于再次测试。
 
  是否持续测试: 是否以按持续集成的模式开展测试。
 
  是否调测一体: 是否将测试设计高效的融入产品编码与调试的日常实践之中。
 
  第四代白盒测试:增加了将测试过程(测试设计、执行与改进)高效的融入开发全过程。


作者: 森炎泰    时间: 2008-9-9 02:32
菜鸟问一句,会使用这些工具是否就说明有白盒测试能力?
作者: liting    时间: 2009-6-3 11:30
白盒测试应该在于测试脚本的编写上,而不是在这引起工具有应用上吧,

问一下:现在比较常用的白盒测试工具有哪引起?




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2