白盒测试的六种覆盖准则

白盒测试过程中、6种覆盖方法覆盖强度由弱到强的顺序依次是:

语句覆盖
判定逻辑覆盖
条件逻辑覆盖
判定逻辑条件覆盖
条件组合覆盖
路径覆盖

例:

if(a&&b)
{
    c=a+b;
}
else
{
    c=a-b;
}

1.语句覆盖:
  语句覆盖就是每个语句至少被执行一次。

2.判定条件覆盖
  每个判断的分支取真分支和取假分支至少经历一次
  只需要a为真b为真或是a/b中有一个为真,一个为假即可这两种情况。

3.条件逻辑覆盖
  使得判定的每个条件都需要至少满足一次。
  比如上面:a如false和true。b取false和true两种情况。

4.判断逻辑条件覆盖
  使得每个判断取到可能的结果,并且判断中的每个条件也要取到可能的结果。判断和条件都必须满足。
  即if/else两个判断都要执行到,if中的条件a取false和true,b取false和b取true。

5.条件组合判断
  即每个判定中条件的各种取值组合至少出现一次。
  比如上面的if为真的条件中:
  a为真,b为真 一组
  a为真,b为假 二组
  a为假,b为真 三组
  a为假,b为假 四组kaolv

6.路径覆盖
  执行所有可能执行的路径。
  总结:
  路径覆盖肯定包含判定覆盖,与条件没有直接关系。
  判定套件覆盖一定包含判定覆盖和条件覆盖。
  条件判定并不等同于判定覆盖。一个关注条件的真假,一个关注判定的分支。

你可能感兴趣的:(白盒测试的六种覆盖准则)