包含5个测试:
1.语句覆盖测试
2.判定覆盖测试
3.条件覆盖测试
4.判定-条件覆盖测试
5.路径覆盖测试
核心:程序中的每个可执行语句至少执行一次
可执行语句:即程序中可以执行的语句,如下图,x >= 90 and y >= 90 是可执行语句,a = a +1也是可执行语句
例子:
如图,要求,对上程序流程图实现语句覆盖测试
解析:在本题中,对于语句覆盖,取足够多(尽量最少)的测试用例,将每个可执行语句都执行一次,即取测试用例将12345语句都执行一遍
测试用例:
CASE 1: X = 85 Y = 90 a = 1
执行了ace路径,将语句12345都执行了一遍,实现了语句覆盖
核心:程序每条判断分支至少取运行结果为真一次,为假一次
例子:
如图,要求,对上程序流程图实现判定覆盖测试
解析:在本题中,对于判定覆盖,即要语句2至少要实现一次真(经过b),至少要实现一次假(经过c),语句4至少要实现一次真(经过d),至少要实现一次假(经过e)
测试用例:
CASE 1: X = 85 Y = 90 a = 1
CASE 2: X = 92 Y = 90 a = 5
CASE 1执行了ace路径,即分别两个语句的假分支
CASE 2执行了abd路径,即分别两个语句的真分支
核心:程序中每个条件的的结果至少执行一次
例子:
如图,要求,对上程序流程图实现条件覆盖测试
解析:在本题中,对于条件覆盖,即测试用例要覆盖到变量X,Y,a分别的所有取值情况
X变量取值:1.X = 80
2.X = 81(小于90且不等于80都可以取)
3.X = 90
Y变量取值:4.Y = 80
5.Y = 90
a变量取值:6.a = 4
7.a = 5
测试用例:
CASE 1:X = 80 Y = 80 a = 4
CASE 2:X = 81 Y = 90 a = 5
CASE 3:X = 90 Y = 80 a = 5
CASE 1满足146取值条件
CASE 2满足257取值条件
CASE 3满足3取值条件,至此所有变量满足的条件已全部满足
核心:判定覆盖测试和条件覆盖测试都要满足,即程序中每个条件的的结果至少执行一次,同时,每条判断分支至少取运行结果为真一次,为假一次
例子:
如图,要求,对上程序流程图实现判定-条件覆盖测试
解析:在本题中,对于判定-条件覆盖测试,即设计的测试用例要同时满足判定覆盖测试和条件覆盖测试
测试用例:
CASE 1:X = 81 Y = 90 a = 4
CASE 2:X = 90 Y = 90 a = 5
CASE 3:X = 80 Y = 80 a = 5
CASE 1执行了ace路径,即分别两个语句的假分支,同时也满足256取值条件
CASE 2执行了abd路径,即分别两个语句的真分支,同时也满足37取值条件
CASE 3满足14取值条件
CASE 1和CASE 2满足了判定覆盖,实现了每条判断分支至少取运行结果为真一次,为假一次,这3个用例又同时实现了条件覆盖
核心:设计的测试用例覆盖程序中所有可能的路径
例子:
如图,要求,对上程序流程图实现路径覆盖测试
解析:在本题中,存在的路径有abd,abe,acd,ace,因此要设计测试用例实现经过这些路径
测试用例:
CASE 1:X = 90 Y = 90 a = 5
CASE 2:X = 90 Y = 90 a = 4
CASE 3:X = 80 Y = 90 a = 5
CASE 4:X = 81 Y = 80 a = 4
注:我写出来的都是自我觉得最简便的,最容易理解的,有什么不懂或者错误,欢迎留言