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

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

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

  • 因为涉及到相当长和几乎无穷尽的路径数。
  • 任何可能的循环在程序段中都被视为是可能的路径。
    选择覆盖方法设计测试用例
    选择覆盖方法设计测试用例

案例:
选择覆盖方法设计测试用例
练习:
选择覆盖方法设计测试用例