Bootstrap

选择覆盖方法设计测试用例

1、语句覆盖法 C0

程序中的每个可执行语句至少被执行一次。
度量(覆盖率):

  • 被执行的语句数/所有可能的语句数。
  • 被执行的路径数/所有可能的路径数。
    在这里插入图片描述
    用例 a=2,b=1,c=6
    用例对语句的覆盖率:100%
    用例对路径的覆盖率:25%
    语句覆盖能发现语句错误
    在这里插入图片描述
    语句覆盖不能发现逻辑错误/条件错误
    在这里插入图片描述
    2、分支/判定覆盖 C1
    程序中的每个判定的取真分支和取假分支至少执行一次。
    在这里插入图片描述
    用例 a=2,b=1,c=6  a=-1,b=1,c=1
    用例对语句的覆盖率:100%
    用例对路径的覆盖率:50%
    分支/判定覆盖能发现逻辑错误
    在这里插入图片描述
    分支/判定覆盖不能发现组合判断中的条件错误
    在这里插入图片描述

3、条件覆盖 C2

程序每个判定中每个条件的可能取值至少满足一次。
未必比 C1 更全面。
不能发现逻辑错误。
在这里插入图片描述
在这里插入图片描述

4、判定-条件覆盖 C1+C2

每个条件中的所有可能取值至少执行一次,同时,每个判定的可能结果至少执 行一次。
可能会导致某些条件掩盖了另一些条件。
在这里插入图片描述
在这里插入图片描述

5、条件组合覆盖/多条件覆盖 C3

每个判定中的所有的条件取值组合至少执行一次。
比 C2 全面。
在这里插入图片描述

6、路径覆盖 C4

用例覆盖程序中的所有可能的执行路径。
不切实际

  • 因为涉及到相当长和几乎无穷尽的路径数。
  • 任何可能的循环在程序段中都被视为是可能的路径。
    在这里插入图片描述
    在这里插入图片描述

案例:
在这里插入图片描述
练习:
在这里插入图片描述
答案:

语句覆盖
要求:A<5 & B=5 & A=2 | X>2
用例:A=2,B=5,X=3
判定覆盖
要求:
A<5 & B=5 对一次,错一次
A=2 | X>2 对一次,错一次
用例:
A=2,B=5,X=3
A=6,B=6,X=1
条件覆盖
要求:
A<5 对错各一次
B=5 对错各一次
A=2 对错各一次
X>2 对错各一次
用例:
A=2,B=5,X=3
A=6,B=6,X=1
判定-条件覆盖
要求:
A<5 对错各一次
B=5 对错各一次
A<5 & B=5 对一次,错一次
A=2 对错各一次
X>2 对错各一次
A=2 | X>2 对一次,错一次
用例:
A=2,B=5,X=3
A=6,B=6,X=1
多条件覆盖
要求:
A<5对,B=5对
A<5对,B=5错
A<5错,B=5对
A<5错,B=5错
A=2对,X>2对
A=2对,X>2错
A=2错,X>2对
A=2错,X>2错
用例:
A=2,B=5,X=3
A=6,B=6,X=1
A=2,B=6,X=1
A=6,B=5,X=3
路径覆盖
要求:
A<5 & B=5 对,A=2 | X>2 对
A<5 & B=5 对,A=2 | X>2 错
A<5 & B=5 错,A=2 | X>2 对
A<5 & B=5 错,A=2 | X>2 错
用例:
A=2,B=5,X=3
A=6,B=6,X=1
A=2,B=6,X=1
A=4,B=5,X=1
最终的用例:
A=2,B=5,X=3
A=6,B=6,X=1
A=2,B=6,X=1
A=4,B=5,X=1
A=6,B=5,X=3

;