白盒测试之逻辑覆盖法

白盒测试之逻辑覆盖法

白盒测试又叫逻辑驱动测试或结构测试。

  • 与黑盒测试区别:关注代码内部结构
  • 白盒测试的前提:已知代码内部逻辑
  • 测试方法:逻辑覆盖法

逻辑覆盖法包括六种,从弱到强依次是:语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,条件组合覆盖,路径覆盖。

逻辑覆盖法

语句覆盖

将要测试的代码块中的每个语句都至少执行一遍。不关心语句的执行结果,只要执行了某个语句,就说该语句被覆盖了。

判定覆盖

判定可以看做是一个if语句,在程序流程图中用一个菱形表示,这个if语句只有两种结果:真、假。所以判定覆盖又叫分支覆盖,每个判定都有真、假两个分支。判定覆盖即在语句覆盖的基础上,把每个判定的每个分支都至少执行一遍。

条件覆盖

条件即为每个if语句的逻辑表达式中,用逻辑运算符分割的子表达式。对于每个条件也会出现两种情况:符合条件、不符合条件。条件覆盖即在语句覆盖基础上,每个条件的两种情况都至少执行一遍。

判定/条件覆盖

判定/条件覆盖既符合判定覆盖,又符合条件覆盖。

条件组合覆盖

对于每个判定中,组合各个条件的两种情况,如果用n表示每个判定中包含的条件个数,那么对于每个判定来说,组合情况有2^n种。

路径覆盖

有判定的时候,就会改变原来的路径,路径覆盖即把所有的路径都执行一遍。

各个覆盖之间的关系

逻辑覆盖法种类 关系
语句覆盖 -
判定覆盖 包含语句覆盖
条件覆盖 包含语句覆盖
判定/条件覆盖 同时满足判定和条件覆盖
条件组合覆盖 满足条件组合覆盖,则一定满足判定/条件覆盖
路径覆盖 -

图解逻辑覆盖法

图示逻辑覆盖法

希望这些能给软考的小伙伴提供帮助~~~~!

你可能感兴趣的:(▶【软件工程】,▶【自考·软考】,白盒测试,逻辑覆盖法)