软件白盒测试技术——单元测试理论篇[2]

发表于:2010-01-18来源:作者:点击数: 标签:单元理论白盒软件技术
软件 白盒测试 技术——单元测试理论篇[2] 单元测试方法 2、判定覆盖(DecisionCoverage):它 度量 是否每个BOOL型的表达式取值true和false在控制结构中都被测试到了。 if(a) //当a取true和false { ... } else { ... } 3、条件覆盖(ConDItionCoverage):它独

        软件白盒测试技术——单元测试理论篇[2]   单元测试方法

  2、判定覆盖(DecisionCoverage):它度量是否每个BOOL型的表达式取值true和false在控制结构中都被测试到了。

  if(a) //当a取true和false

  {

  ...

  }

  else

  {

  ...

  }

  3、条件覆盖(ConDItionCoverage):它独立的度量每一个子表达式,报告每一个子表达式的结果的true或false。这个度量和判定覆盖(decisioncoverage)相似,但是对控制流更敏感。不过,完全的条件覆盖并不能保证完全的判定覆盖。

  if(a>b&&c>d)

  {

  ...

  }

  例子中a>b和c>d为2个不同的条件表达式,与if()判断独立。

  4、路径覆盖(PathCoverage):它度量了是否函数的每一个可能的分支都被执行了。路径覆盖的一个好处是:需要彻底的测试。但有两个缺点:一是,路径是以分支的指数级别增加的,例如:一个函数包含10个IF语句,就有1024个路径要测试。如果加入一个IF语句,路径数就达到2048;二是,许多路径不可能与执行的数据无关。

  如下图具有的路径有:abd、abe、acd、ace

原文转自:http://www.ltesting.net