白盒测试之逻辑覆盖法
白盒测试又叫逻辑驱动测试或结构测试。
- 与黑盒测试区别:关注代码内部结构
- 白盒测试的前提:已知代码内部逻辑
- 测试方法:逻辑覆盖法
逻辑覆盖法包括六种,从弱到强依次是:语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,条件组合覆盖,路径覆盖。
逻辑覆盖法
语句覆盖
将要测试的代码块中的每个语句都至少执行一遍。不关心语句的执行结果,只要执行了某个语句,就说该语句被覆盖了。
判定覆盖
判定可以看做是一个if语句,在程序流程图中用一个菱形表示,这个if语句只有两种结果:真、假。所以判定覆盖又叫分支覆盖,每个判定都有真、假两个分支。判定覆盖即在语句覆盖的基础上,把每个判定的每个分支都至少执行一遍。
条件覆盖
条件即为每个if语句的逻辑表达式中,用逻辑运算符分割的子表达式。对于每个条件也会出现两种情况:符合条件、不符合条件。条件覆盖即在语句覆盖基础上,每个条件的两种情况都至少执行一遍。
判定/条件覆盖
判定/条件覆盖既符合判定覆盖,又符合条件覆盖。
条件组合覆盖
对于每个判定中,组合各个条件的两种情况,如果用n表示每个判定中包含的条件个数,那么对于每个判定来说,组合情况有2^n种。
路径覆盖
有判定的时候,就会改变原来的路径,路径覆盖即把所有的路径都执行一遍。
各个覆盖之间的关系
逻辑覆盖法种类 | 关系 |
---|---|
语句覆盖 | - |
判定覆盖 | 包含语句覆盖 |
条件覆盖 | 包含语句覆盖 |
判定/条件覆盖 | 同时满足判定和条件覆盖 |
条件组合覆盖 | 满足条件组合覆盖,则一定满足判定/条件覆盖 |
路径覆盖 | - |
图解逻辑覆盖法
希望这些能给软考的小伙伴提供帮助~~~~!
时间: 2024-10-11 17:15:54