逻辑覆盖


语句覆盖

每条可执行语句至少执行1次。

判定覆盖

判定指的是一整个bool表达式。
每个判定至少取真和假一次。

条件覆盖

条件指的是判定中的原子bool表达式。
每个条件的可能的取值至少满足一次。
条件覆盖不一定包含判定覆盖。

条件判定覆盖

  1. 所有条件的可能取值至少满足一次。
  2. 所有判定的可能结果至少取一次。

修正条件/判定覆盖

  1. 所有条件的可能取指至少满足一次。
  2. 所有判定的可能结果至少取一次。
  3. 每个条件都显示能单独影响判定结果。

条件组合覆盖

每个判定中所有原子条件的可能取值至少满足一次。

路径覆盖

程序中所有可能的执行路径至少执行一次。

基路径测试


通过分析程序控制流图中的环路复杂性导出独立路径集合,设计测试用例。
基路径:又称独立路径,程序的所有路径作为一个集合这些路径集合中必然存在的一个最短路径。

步骤

  1. 画控制流图:根据源代码画出控制流图。
  2. 计算圈复杂度V(G):
    1. V(G)=判定节点数+1。判定节点数指每个原子条件。
    2. V(G)=E - N + 2。边数 − 节点数 + 2。
    3. V(G) = 区域数。封闭区域数 + 外部区域数。
  3. 确定独立路径的集合:独立路径必须包含一条之前没有的边。
    1. 先选一条主路径(全为true)
    2. 每加一条都包含一条没走过的边。
  4. 测试用例:为每条路径设计一组输入和预期输出。