愿天天向上,愿学以致用,愿掌握生活

测试覆盖率

上一篇 / 下一篇  2007-10-14 15:37:57 / 天气: 晴朗 / 心情: 忧心 / 个人分类:测试过程

语句覆盖(StatementCoverage):也称为行覆盖(linecoverage),段覆盖(segmentcoverage)和基本块覆盖(basicblockcoverage)。它度量每一个可执行语句是否被执行到了,这个覆盖度量的主要好处是它可以直接应用在目标代码上,不需要对源代码进行处理,主要缺点是对一些控制结构很迟钝。

判定覆盖(DecisionCoverage):也被称为分支覆盖(branchcoverage),所有边界覆盖(all-edgescoverage),基本路径覆盖(basispathcoverage),C2覆盖,判定路径覆盖(decision-decision-path或DDPtesting)。它度量是否每个BOOL型的表达式取值true和false在控制结构中都被测试到了。这个度量有语句覆盖的简单性,但是没有语句覆盖的问题,缺点是忽略了在BOOL型表达式内部的BOOL取值。

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

判定条件覆盖(Decision Condition Coverage):也被称为分支条件覆盖(Branch Condition Coverage),在测试时运行被测程序后,所有判断语句中每个条件的所有可能值(真或假)和每个判断本身的判定结果(真或假)出现的比率。

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

循环覆盖(LoopCoverage):这个度量报告你是否执行了每个循环体零次、只有一次还是多余一次(连续地)。对于do-while循环,循环覆盖报告你是否执行了每个循环体只有一次还是多余一次(连续地)。这个度量的有价值的方面是确定是否对于while循环和for循环执行了多于一次,这个信息在其它的覆盖率报告中是没有的。


TAG: 覆盖率 测试过程

 

评分:0

我来说两句

日历

« 2024-04-17  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 21211
  • 日志数: 30
  • 建立时间: 2007-10-02
  • 更新时间: 2007-11-14

RSS订阅

Open Toolbar