测 试 覆 盖 率
1、 覆盖率概念:
· 覆盖率是用来度量测试完整性的一个手段。覆盖率是测试技术有效性的一个度量。覆盖率=(至少被执行一次的item数)/item的总数;
· 覆盖率大体可以划分为两大类:逻辑覆盖和功能覆盖;
· 测试用例设计不能一味追求覆盖率,因为测试成本虽覆盖率的增加而增加。
2、 逻辑覆盖主要类型:语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、路径覆盖。
3、 语句覆盖率:(Statement Coverage),在测试时运行被测程序后,程序中被执行到的可执行语句的比率;
语句覆盖率 = (至少被执行一次的语句数量)/(可执行的语句总数)
4、 分支覆盖率:(Branch Coverage)也叫判定覆盖(Decision Coverage),它的含义是:在测试时运行被测程序后,程序中所有判断语句的取真分支和取假分支被执行到的比率;
判定覆盖率=(判定结果被评价的次数)/(判定结果的总数)
5、 条件覆盖率:(Condition Coverage)的含义是,在测试时运行被测程序后,所有判断语句中每个条件的可能取值(真值和假值)出现过的比率;
条件覆盖率=(条件操作数值至少被评价一次的数量)/(条件操作数值的总数)
6、 分支-条件覆盖率:(Branch Condition Coverage)也叫判定条件覆盖(Decision Condition Coverage),它的含义是,在测试时运行被测程序
后,所有判断语句中每个条件的所有可能值(为真为假)和每个判断本身的判定结果(为真为假)出现的比率;
分支条件覆盖率=(条件操作树枝或判定结果至少被评价一次的数量)/(条件操作数值总数+判定结果总数)
7、 路径覆盖率:(Path Coverage)的含义是,在测试时运行被测程序后,程序中所有可能的路径被执行过的比率;
路径覆盖率=(至少被执行到一次的路径数)/(总的路径数)
8、 其他覆盖率:功能覆盖率;面向对象的覆盖率;函数覆盖;指令块覆盖;判定路径覆盖。