逻辑覆盖测试

包含5个测试:

1.语句覆盖测试

2.判定覆盖测试

3.条件覆盖测试

4.判定-条件覆盖测试

5.路径覆盖测试

1.语句覆盖测试

核心:程序中的每个可执行语句至少执行一次

可执行语句:即程序中可以执行的语句,如下图,x >= 90 and y >= 90 是可执行语句,a = a +1也是可执行语句

例子:

逻辑覆盖测试_第1张图片

如图,要求,对上程序流程图实现语句覆盖测试

解析:在本题中,对于语句覆盖,取足够多(尽量最少)的测试用例,将每个可执行语句都执行一次,即取测试用例将12345语句都执行一遍

测试用例:

CASE 1: X = 85     Y = 90   a = 1

执行了ace路径,将语句12345都执行了一遍,实现了语句覆盖

 

2.判定覆盖测试

核心:程序每条判断分支至少取运行结果为真一次,为假一次

例子:

逻辑覆盖测试_第2张图片

如图,要求,对上程序流程图实现判定覆盖测试

解析:在本题中,对于判定覆盖,即要语句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路径,即分别两个语句的真分支

3.条件覆盖测试

核心:程序中每个条件的的结果至少执行一次

例子:

逻辑覆盖测试_第3张图片

如图,要求,对上程序流程图实现条件覆盖测试

解析:在本题中,对于条件覆盖,即测试用例要覆盖到变量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取值条件,至此所有变量满足的条件已全部满足

4.判定-条件覆盖测试

核心:判定覆盖测试和条件覆盖测试都要满足,即程序中每个条件的的结果至少执行一次,同时,每条判断分支至少取运行结果为真一次,为假一次

例子:

逻辑覆盖测试_第4张图片

如图,要求,对上程序流程图实现判定-条件覆盖测试

解析:在本题中,对于判定-条件覆盖测试,即设计的测试用例要同时满足判定覆盖测试和条件覆盖测试

测试用例:

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个用例又同时实现了条件覆盖

5.路径覆盖测试

核心:设计的测试用例覆盖程序中所有可能的路径

例子:

逻辑覆盖测试_第5张图片

如图,要求,对上程序流程图实现路径覆盖测试

解析:在本题中,存在的路径有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 

 

注:我写出来的都是自我觉得最简便的,最容易理解的,有什么不懂或者错误,欢迎留言

 

 

你可能感兴趣的:(软件测试)