选择覆盖方法设计测试用例
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
用例覆盖程序中的所有可能的执行路径。
不切实际
- 因为涉及到相当长和几乎无穷尽的路径数。
- 任何可能的循环在程序段中都被视为是可能的路径。
案例:
练习: