【测试用例设计】黑盒测试方法论-因果图

因果图

利用图解法分析输入的各种组合情况,从而设计测试用例的方法,适合检查程序输入条件的各种组合情况。因:输入条件,果:输出结果。

适用场景:描述多种条件的组合,产生多个动作。

因果图中的基本符号

通常在因果图中使用c1表示原因,e1表示结果,各节点表示状态,可取值0或1。0表示某状态不出现,1表示某状态出现。

恒等:原因出现,则结果出现;原因不出现,结果不出现。有因必有果,无因也无果。c1=1,e1=1;c1=0,e1=0。如:购物付款,付款后有购物小票,不付款则没有购物小票。

非:原因出现,结果不出现;原因不出现,则结果出现。有因无果,无因有果。c1=1,e1=0;c1=0,e1=1。如:购物,购买了某种商品全部库存,则此商品不可再次购买,没有购买全部库存,则可以再次购买。

或:有多个原因。至少有一个原因出现,结果出现;一个原因都没有,结果则不出现。c1、c2、c3至少有一个=1,e1=1;c1、c2、c3均=0,e1=0。如:购物付款,有三张银行卡,其中一张的余额满足付款的费用,则可以付款成功,三张余额均不够才会付款失败。

与:有多个原因。原因全部出现,结果出现;有至少一个原因不出现,结果则不出现。c1、c2、c3均=1,e1=1;c1、c2、c3至少有一个=0,e1=0。如:购物,需要满足商品有库存,银行卡余额足够付款,则可以成功购买,有一个条件不满足则无法购买。

因果图中的约束条件

输入条件相互之间还可能存在某些依赖关系,称为约束。输出条件之间也同样。在因果图中,用特定的符号标明这些约束。

互斥E:a、b、c至多有一个成立,可以都不成立。

包含 I:a、b、c至少有一个成立,可以都成立。

唯一O:a、b、c有且只有一个成立。

要求R:如果a成立,则b必须成立,其他的不约束。

屏蔽M:如果a成立,则b不成立,其他的不约束。

因果图设计步骤

找出所有输入条件(因)

找出所有输出条件(果)

明确输入条件之间的制约和组合关系

明确输出条件之间的制约和组合关系

找出输入条件组合产生的对应的输出结果

因果图转化为判定表

根据判定表设计测试用例

案例

一个每次可以充值50或100元的充值系统

需求解析

 1.找出所有输入条件和输出条件

充值软件:投币50/100,充值50/100

输入条件

输出条件

1.投币50

a.完成充值退卡

2.投币100

b.提示充值成功

3.充值50

c.找零(退钱)

4.充值100

d.提示错误

2.分别明确输入条件、输出条件之间的制约和组合关系

输入条件:1和2互斥、3和4互斥,因此有1、2、3、4、13、14、23、24,共8种输入组合。

输出条件:a和d互斥、b和d互斥,因此有ab、abc、cd、d,共4种输出组合。

3.找出输入条件组合产生的对应的输出结果

1、2→cd ,3、4→d ,13、24→ab ,14→cd ,23→abc

 可添加中间节点协助分析、简化因果图。

4.因果图转化为判定表

编号

1

2

3

4

5

6

7

8

输入

1.投币50元

1

1

1

2.投币100元

1

1

1

3.充值50元

1

1

1

4.充值100元

1

1

1

输出

a.完成充值退卡

1

1

1

b.提示充值成功

1

1

1

c.找零(退钱)

1

1

1

1

d.提示错误

1

1

1

1

1

5.根据判定表设计测试用例

用例编号

测试点

测试步骤

预期结果

1

投50元充值50元

1.点击投币50元按钮
2.点击充值50元按钮

充值成功并退卡,提示充值成功

2

投50元充值100元

1.点击投币50元按钮
2.点击充值100元按钮

提示错误,找零50元

3

投100元充值50元

1.点击投币100元按钮
2.点击充值50元按钮

充值成功并退卡,提示充值成功,找零50元

4

投100元充值100元

1.点击投币100元按钮
2.点击充值100元按钮

充值成功并退卡,提示充值成功

5

投50元不点击充值按钮

1.点击投币50元按钮
2.不点击充值按钮

提示错误,找零50元

6

投100元不点击充值按钮

1.点击投币100元按钮
2.不点击充值按钮

提示错误,找零100元

7

不投币点击充值50元

1.不点击投币按钮
2.点击充值50元按钮

提示错误

8

不投币点击充值100元

1.不点击投币按钮
2.点击充值100元按钮

提示错误

猜你喜欢

转载自blog.csdn.net/Yocczy/article/details/127760243