软件测试(第2版)_Paul学习07_01——Ch7基于决策表的测试_01

在所有的功能性测试方法中,基于决策表的测试方法最严格,因为决策表具有逻辑严格性。

7.1 决策表法

决策表如下表所示:

规则1

规则2

规则34

规则5

规则6

规则78

C1

T

T

T

F

F

F

C2

T

T

F

T

T

F

C3

T

F

-

T

F

-

A1

×

×

 

×

  

A2

×

   

×

 

A3

 

×

 

×

  

A4

  

×

  

×

 

有4个部分:左侧是桩部分,右侧是条目部分,上面是条件部分,下面是行动部分。分别是:

(1)条件桩:C1、C2、C3。

(2)条件条目:规则1到规则8的具体条目,比如规则1的T T T部分,T表示为真,F表示为假。

(3)行动桩:A1、A2、A3、A4。

(4)行动条目:规则1到规则8的具体行动,不如规则1的X X部分,X表示会产生的行动。

条目部分的一列是一条规则,在规则指示的条件环境下采取什么行动,规则3中的C3条目叫"不关心"条目,主要有两种解释:条件无关或条件不适用,有时用"不适用(n/a)"表示

规则3、4,之所以是2条规则,就是因为不适用,可T、可F,所以是两条规则。

决策表的分类:

有限决策表:二叉条件,所有的条件都有2个取值

扩展条件决策边:条件有多个值

决策表被设计为说明性的(与命令性相反),给出的条件没有特别的顺序,而且所选择的行动发生时也没有任何特定顺序。

7.1.1表示方法

为了使用决策表标识测试用例,我们把条件解释为输入,把行动解释为输出,有时条件最终引用输入的等价类,行动引用被测软件的主要功能处理部分,这时的规则就解释为测试用例。由于决策表可以机械强制为完备的,因此可以有测试用例的完备集合。

有多种产生决策表的方法对测试人员更有用,一种很有用的风格是增加行动,以显示什么时候规则在逻辑上不可能满足。

7.1.2举例

 

(1)三角形问题: 4个条件、5个行动:

1

2

3

4

5

6

7

8

9

C1abc构成三角形

N

Y

Y

Y

Y

Y

Y

Y

Y

C2a=b?

-

Y

Y

Y

N

N

N

Y

N

C3a=c?

-

Y

Y

N

Y

Y

N

N

N

C4b=c?

-

Y

N

Y

Y

N

Y

N

N

A1:非三角形

×

        

A2:不等边三角形

        

×

A3:等腰三角形

     

×

×

×

 

A4:等边三角形

 

×

       

A5:不可能

  

×

×

×

    

 

(2)三角形问题: 6个条件、5个行动,把上例中第一个条件进行了细化,细化为3个条件:

1

2

3

4

5

6

7

8

9

10

11

C1a<b+c?

F

T

T

T

T

T

T

T

T

T

T

C2b<a+c?

-

F

T

T

T

T

T

T

T

T

T

C3c<a+b?

-

-

F

T

T

T

T

T

T

T

T

C4a=b?

-

-

 

T

T

F

T

F

F

F

F

C5a=c?

-

-

 

T

F

T

F

T

T

F

F

C6b=c?

-

-

 

T

T

T

F

T

F

T

F

A1:非三角形

×

×

×

        

A2:不等边三角形

          

×

A3:等腰三角形

      

×

 

×

×

 

A4:等边三角形

   

×

       

A5:不可能

    

×

×

 

×

   

 

(3)带有互斥条件的决策表:意味着""的条件必须失败,比如下表中月份只能在M1、M2和M3的一个中,不可能在2个中。

1

2

3

C1:月份在M1

T

C2:月份在M2

T

C3:月份在M3

T

A1

   

A2

   

A3

   

 

7.1.3 规则条数的统计

规则条数的统计,对于二叉条件,所有不关心"-"条件可以按2条计算,比如下表的第一条规则,有5个"-",规则条数是:2×2×2×2×2=32条。

1

2

3

4

5

6

7

8

9

10

11

C1a<b+c?

F

T

T

T

T

T

T

T

T

T

T

C2b<a+c?

-

F

T

T

T

T

T

T

T

T

T

C3c<a+b?

-

-

F

T

T

T

T

T

T

T

T

C4a=b?

-

-

-

T

T

F

T

F

F

F

F

C5a=c?

-

-

-

T

F

T

F

T

T

F

F

C6b=c?

-

-

-

T

T

T

F

T

F

T

F

规则条数统计

32

16

8

1

1

1

1

1

1

1

1

A1:非三角形

×

×

×

        

A2:不等边三角形

          

×

A3:等腰三角形

      

×

 

×

×

 

A4:等边三角形

   

×

       

A5:不可能

    

×

×

 

×

   

 

决策表的处理流程:

初始:3条规则代表12条规则

1

2

3

C1:月份在M1

T

C2:月份在M2

T

C3:月份在M3

T

规则条数

4

4

4

A1

   

A2

   

A3

   

 

扩展:12条规则

1

2

3

4

5

6

7

8

9

10

11

12

C1:月份在M1

T

T

T

T

T

T

F

F

T

T

F

F

C2:月份在M2

T

T

F

F

T

T

T

T

T

F

T

F

C3:月份在M3

T

F

T

F

T

F

T

F

T

T

T

T

规则条数

1

1

1

1

1

1

1

1

1

1

1

1

A1:不可能

            

A2:其它

            

 

 

 

 

 

去掉重复,增加遗漏:最后剩下8条规则

1

2

3

4

7

8

12

13

C1:月份在M1

T

T

T

T

F

F

F

F

C2:月份在M2

T

T

F

F

T

T

F

F

C3:月份在M3

T

F

T

F

T

F

T

F

规则条数

1

1

1

1

1

1

1

1

A1:不可能

×

×

×

 

×

  

×

A2:其它

        

 

 

 

 

 

7.1.4 冗余和不一致分析

冗余:下表规则4和规则9重复

1-4

5

6

7

8

9

C1

T

F

F

F

F

T

C2

T

T

F

F

F

C3

T

F

T

F

F

A1

×

×

×

×

A2

×

×

×

A3

×

×

×

×

×

 

 

 

 

 

不一致:下表规则4和规则9不一致,整个决策表是不确定的,测试人员的基本原则是在决策表中小心使用不关心条目。也许是规则错了,也可能是个需求的错误。

1-4

5

6

7

8

9

C1

T

F

F

F

F

T

C2

T

T

F

F

F

C3

T

F

T

F

F

A1

×

×

×

A2

×

×

×

×

A3

×

×

×

×

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值