白盒测试用例之逻辑覆盖

白盒测试也称为结构测试,根据程序的内部结构和逻辑来设计测试用例,对程序的路径和过程进行测试,检查是否满足设计的需要。

白盒测试常用的技术是逻辑覆盖、循环覆盖和基本路径测试。这里只讲逻辑覆盖,逻辑覆盖有6种:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。其中语句覆盖和路径覆盖与执行路径有关,因此下面放到一起讲(图1),其余4个覆盖与条件判断有关,用图2来举例说明,为方便看图,我把图放到用例的中间。

1、语句覆盖:每条语句至少被执行一次(图1)

用例

a

i

路径

说明

1

1

1

ABDEGHI

本用例一个用例就能执行完所有语句,因为路径C, J没有执行语句,路径F后面虽然有语句”k=2”,但是在本用例路径E已经执行过了

  

(图1) 语句覆盖和路径覆盖实例图

6、路径覆盖:覆盖程序中所有可能的路径,包括循环、条件组合、分支选择等(图1)

用例

a

i

路径

说明

1

1

1

ABDEGHI

从图的起点到终点画出所有路径,有几条路径即需要几个测试用例,每个用例执行一条路径.本例题有3个判断分支,每个分支有两条路径,因此有3*2=6条路径,需要6个用例

2

1

0

ABDEGJ

3

-1

1

ABFGHI

4

-1

0

ABFGJ

5

0

1

ACHI

6

0

0

ACJ

2、判定覆盖(分支覆盖):每个判定(分支)至少执行一次, 注意没有代码的分支可不执行(图2)

用例

x

y

路径

测试内容

1

90

90

ABF

AB分支(判定1=TRUE)

2

50

50

ACEF

AC分支(判定1=FALSE)

CE分支(判定2=FALSE)

3

90

70

ACDF

CD分支(判定2=TRUE)

3、条件覆盖:每个条件真假至少各执行一次, 不考虑判定结果(分支)(图2)

用例

x

y

路径

测试内容

1

90

90

ABF

X>=80: TRUE

Y>=80:TRUE

2

50

50

ACEF

X>=80:FALSE

Y>=80:FALSE

X+Y>=140:FALSE

X>=90:FALSE

Y>90:FALSE

3

90

70

ACDF

X+Y>=140:TRUE

X>=90:TRUE

4

70

95

ACDF

Y>90:TRUE

(图2) 判定覆盖、条件覆盖、判定/条件覆盖和条件组合覆盖实例图

 4、判定/条件覆盖:每个条件真假至少各执行一次,并且每个分支至少执行一次(图2)

用例

x

y

路径

测试内容

1

90

90

ABF

X>=80:TRUE

Y>=80:TRUE

AB分支(判定1=TRUE)

2

50

50

ACEF

X>=80:FALSE

Y>=80:FALSE

AC分支(判定1=FALSE)

X+Y>=140:FALSE

X>=90:FALSE

Y>90:FALSE

CE分支(判定2=FALSE)

3

90

70

ACDF

X+Y>=140:TRUE

X>=90:TRUE

CD分支(判定2=TRUE)

4

70

95

ACDF

Y>90:TRUE

 5、条件组合覆盖:每个条件的所有可能组合至少出现一次(图2)

用例

x

y

路径

测试内容

1

90

90

ABF

判定1真真组合

2

90

70

ACDF

判定1真假组合

判定2真真假组合

3

70

95

ACDF

判定1假真组合

判定2真假真组合

4

70

70

ACEF

判定1假假组合

判定2真假假组合

5

90

30

ACEF

判定2假真假组合

6

30

95

ACEF

判定2假假真组合

7

50

50

ACEF

判定2假假假组合

注1:判定2真真真组合不必测试,因为此判定会执行AB分支,不会执行AC分支

注2:判定2假真真组合不存在,后两个条件同时为真时第一个条件肯定为真

  • 11
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值