抑郁症健康,内容丰富有趣,生活中的好帮手!
抑郁症健康 > 白盒测试的5种逻辑覆盖法

白盒测试的5种逻辑覆盖法

时间:2021-03-05 01:20:43

相关推荐

文章目录

判定覆盖法 Decision Coverage (DC)条件覆盖 Condition Coverage (CC)判定-条件覆盖 Condition-Decision Coverage条件组合覆盖 Multiple Condition Coverage (MCC)修正的条件/判定覆盖 Modified Condition/Decision Coverage (MC/DC)5种覆盖的关系

判定覆盖法 Decision Coverage (DC)

判定覆盖法的基本思想:

设计若干测试用例,运行被测程序,使得程序中每个判断的取真和取假分支至少经历一次,即判断的真假值都至少被满足一次。

由于一个判定代表程序一个分支,因而判定覆盖也被成为分支覆盖。

问题在于:T and T = T , T or T =T. F and F = F , F or F =F. 对于一个双条件判定而言,如果采用(T,T)和(F,F)去测试,那么程序中的and换成or,或者or换成and的错误是发现不了的。

满足判定覆盖一定满足语句覆盖(每个可执行的语句至少执行一次)

条件覆盖 Condition Coverage (CC)

条件覆盖比判定覆盖的粒度更小,它要求使得程序中每个判断的每个条件的所有可能取值至少被满足一次。

满足条件覆盖不一定满足判定覆盖。这就引出了判定-条件覆盖。

判定-条件覆盖 Condition-Decision Coverage

判定-条件覆盖是需要同时满足判定覆盖和条件覆盖的逻辑覆盖法,即所有判断的每个结果和所有条件的所有可能取值至少满足一次。

问题在于:and 与 or互换的bug还是测不出来。这就引入了条件组合覆盖。

条件组合覆盖 Multiple Condition Coverage (MCC)

条件组合覆盖要求:每个判断的真假结果和导致真假结果的所有组合都至少出现一次。

条件组合覆盖虽然能覆盖前面提到的3种覆盖方式,但还是有可能无法覆盖全部基本路径。

除了不够充分外,还有浪费的弊端,这就引出了修正的条件/判定覆盖。

修正的条件/判定覆盖 Modified Condition/Decision Coverage (MC/DC)

修正的条件/判定覆盖是对条件组合覆盖做的优化。

它不要求每个判断导致真假结果的所有组合都出现过,而是要求每个条件都独立地影响过判断的结果。

5种覆盖的关系

5种覆盖的包含关系为

如果觉得《白盒测试的5种逻辑覆盖法》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。