其神若何,月射寒江。

白盒测试之--理论篇一

上一篇 / 下一篇  2010-03-19 16:40:39 / 个人分类:白盒测试研究

最近一直在研究白盒测试,准备从理论上到实践上进行。最后搭建一个贴合实际的白盒测试工程。

应用到日常的工作中。所以会不断的的有系列的文章出来。

1 目标
构建高效、完整的白盒测试体系
2 原理
 白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。
 常用的软件测试方法有两大类:静态测试方法和动态测试方法。
其中软件的静态测试不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试;
而软件的动态测试是通过输入一组预先按照一定的测试准则构造的实例数据来动态运行程序,而达到发现程序错误的过程。
  白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、Z路径覆盖、程序变异。
  白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。
  六种覆盖标准:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖发现错误的能力呈由弱至强的变化。语句覆盖每条语句至少执行一次。判定覆盖每个判定的每个分支至少执行一次。条件覆盖每个判定的每个条件应取到各种可能的值。判定/条件覆盖同时满足判定覆盖条件覆盖。条件组合覆盖每个判定中各条件的每一种组合至少出现一次。路径覆盖使程序中每一条可能的路径至少执行一次。
   白盒测试能够使用的方法和技术也非常多。主要从静态和动态来方面来进行分析。
1) 静态检查
往往使用静态扫描工具,可以检查代码中潜在的问题。同时也会关注代码标准方面的问题。还可以结合代码审查的方式来来审查我们的代码。
2) 动态检查
功能验证方面,往往采用单元测试工具进行测试。同时会加以覆盖率统计工具来审查我们单元测试代码的质量。开发单元测试代码,很多时候需要的对象非常难取到,或者根本没有开发完成,也就是没法初始化对象了。我们可以采用对象模拟技术(mock)来解决.
对象模拟,有API调用级别的,也有消息级别的。
监控方面,也就是说我们在实验室或者现场还需要对系统进行监控。了解系统的状况,很多工具往往是监控内存、CPU等情况。要监控业务方面,往往需要开发相应的代码嵌入到系统中去。所以监控,严格的说有灰盒的味道。


TAG: Mock mock 动态检查 静态检查

 

评分:0

我来说两句

xiaohanjiang

xiaohanjiang

River.liu又名小寒江。曾经从事多年JAVA软件开发工作,这几年一直从事软件测试工作。多年来,一直致力于软件工程、软件开发、软件测试方面的研究。不喜欢自称高手,不愿意自封资深;科学研究讲究的是务实、实践。真理、真知才是硬道理。茫茫海洋,我只希望我的每个理念能游弋于业界之间。我的思想能在你的脑海中徜徉。

日历

« 2024-04-08  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 39508
  • 日志数: 52
  • 建立时间: 2009-12-15
  • 更新时间: 2011-03-14

RSS订阅

Open Toolbar