我举一个简单的例子来解释一下语句覆盖,分支覆盖,条件覆盖以及路径覆盖的相关知识,如果有不对的地方,恳请各位同行指正:
举例说明:
if A=true and B=true then Action1
if C=true or D=true then Action2
这是一个很简单的例子,也就是,当A和B都为真的情况下,执行Action1,Action1执行好以后再次判断,只要A或者B有一个为真,那么就执行Action2,当Action2执行完成后,整个程序算是执行完成了:分析见图
(pic 01)
语句覆盖:顾名思义,让程序中的每个语句都cover到。在这个例子中,也就是要符合两个Positive条件:
1. A = true and B = true
2. C = true or B = true
根据上图所示,符合有两个条件的,都可以实现语句覆盖:
比如:A = true, B = true, C = true, D =true就可以实现最大的语句覆盖了
看到图,我们可以知道,实际上A和B有一种情况,C和D有三种情况,1*3=3&