51Testing软件测试论坛

标题: 语句覆盖率与分支覆盖率的区别 [打印本页]

作者: xixiguo    时间: 2007-10-21 15:52
标题: 语句覆盖率与分支覆盖率的区别
请问语句覆盖率与分支覆盖率的区别是什么? 为什么语句覆盖率比分支覆盖率更容易达到呢?如果语句覆盖率100%,不是表示每条语句都走到了,那分支也肯定走到了呀。

请大家指教,谢谢!
作者: puchonghui    时间: 2007-10-21 20:54
语句覆盖的概念相信lz能理解
不多说了

所谓分支覆盖指的是每个分支都能走到
问题在于很多分支上是没有语句的
举例来说
  1. if (i > 1) {
  2. 语句1
  3. }
  4. 语句2
复制代码
这个if产生了两个分支
i>1的时候执行语句1和语句2
i<=1的时候执行语句2

显然i>1的时候满足了语句覆盖100%
但是不满足分支覆盖100%
作者: pangda    时间: 2007-10-22 15:14
受教
作者: ZQL1981    时间: 2007-10-27 20:06
语句覆盖:就是把每个语句都走一遍
分支覆盖:就是把每一个分支都走一遍,注意每个分支是有正反两条路径的

[ 本帖最后由 ZQL1981 于 2007-10-27 20:09 编辑 ]
作者: Tester_wu    时间: 2007-10-28 11:29
语句覆盖:运行被测程序,使程序中的每个可执行语句至少执行一次。
分支覆盖:运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次,即判断的真假值均曾被满足。
白盒测试用各种覆盖率方法来达到覆盖率标准。例如,覆盖率标准为100%,先用语句覆盖方法未达到标准,然后用分支覆盖来补充,还未达到的话,用条件覆盖,分支条件覆盖,路径覆盖来补充。
作者: stjd139    时间: 2007-10-28 15:32
标题: 回复 2# 的帖子
这个例子举得真不错
简单易懂,实用啊
谢谢
作者: xmy942002    时间: 2007-10-31 21:18
一条分之上有可能没有一个语句,也可能有多个语句,
但是一个语句不能分布在多个分之上
作者: lanlanlays    时间: 2007-11-12 13:09
语句覆盖指的是在测试时运行被测试程序后,程序中被执行到的可执行语句的比率。只要每一条语句都被执行过,就算是语句覆盖达到100%,也是不能检查出所有错误的,是最弱的一种检查。
    分支覆盖又叫判定覆盖,指的是在测试时运行北侧程序后,程序中所有判断语句的取真取假分支被执行到的比率。分支覆盖达到100%则语句覆盖也一定是达到了100%。但是分支覆盖率达到100%也不能检查出所有的错误。




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