一个或者多个条件组成一个判定,一个程序中可以有多个判定。
首要的是建立一个二维的真值表,各列为判定和条件,各行为每组值的T或者F。
1、语句覆盖
为了暴露程序中的错误,至少每个语句应该执行一次。
这也是最弱的逻辑覆盖标准咯。
2、判定覆盖
每个判定的每种可能结果都要执行一次。
建立判定表以后,要保证每种判定的结果中都包含了T和F,才满足判定覆盖。
3、条件覆盖
不但每个语句需要执行一次,而且判定表达式中的每个条件都要取到可能的结果。
建立判定表以后,要保证每种条件的结果中都包含了T和F,才满足条件覆盖。
4、判定/条件覆盖
使得每个判定以及每个判定中的每个条件都取到可能的结果。
建立判定表以后,要保证每个判定结果包含T和F,而且每种条件的结果包含T和F。
也就是综合了上面的条件覆盖和判定覆盖。
5、条件组合覆盖
使得每个判定中的条件的各种组合至少出现一次。
也就是说,先把程序中的条件列出来,排列组合,写出所有的可能性,看有没有那组值同时满足这些排列组合。
6、路径覆盖
每条可能的路径都至少执行一次。
就是看源程序中的判断,都有哪些组合,比如T ,FF,FT,等等,看看哪个满足包含了所有的组合。
因为这些不同的组合就代表了程序中执行的不同路径啊。