测试方法——因果图法和判定表法

因果图法介绍:

一、应用场合

       因果图法:使用一种适合于描述对于多种条件的组合,并产生多个不同结果的测试方法。因果图法主要是输入条件与输出结果之间的依赖关系,通过画出便于观察的图示,结合判定表法来设计测试用例的一种方法。

 

二、因果图说明

1、因:即原因,表示输入条件

2、果:即结果,表示输出结果

以图形符号的形式,找出输入条件和输出结果之间的对应关系。

 

三、图形符号

1、基本图形

    表示输入条件和输出结果的对应关系

(1)恒等关系(-)

a(输入条件) 

b(输出结果)   

若a=1,则b=1

若a=0,则b=0

 

(2)非(~)

a(输入条件) b(输出结果)    

若a=1,则b=0

若a=0,则b=1

 

 

 

(3)或(V)

a(输入条件) b(输出结果)    

若a=1,或b=1,或c=1,则d=1

若a=b=c=0,则d=0

 

(4)与(^)

a(输入条件) b(输出结果)    

若a=b=c=1,则d=1

若a=0或b=0或c=0,则d=0

 

 

 

2、约束(限制条件)图形

要么单独限制输入,要么单独限制输出

(1)互斥(E)

当a、b、c不同时为1,则a,b,c中至多只有一个1

 

(2)包含(I)

当a、b、c至少有一个1,则a,b,c中不能同时为0

 

(3)唯一(O)

当a、b、c中必须有一个成立,且仅有一个成立(有且只有一个1)

 

(4)要求(R)

当a=1,则b必须为1

 

(5)屏蔽(M)

若a=1,则b必须为0;而当a为0时,b的值是不确定的

 

 

 

四、执行步骤

  1.分析不同的输入条件、输出结果,并进行分类。

  2.分析输入条件之间的关系。

  3.分析输出结果之间的关系。

  4.根据分析结果画出因果图。

  5.根据因果图,画出判定表。

  6.根据判定表,编写测试用例。

 

 

五、因果图法

有这么一个例子:

            以交通一卡通充值模拟系统为例展开

原型图如下所示:(图片引用于网络)

 

 

分析步骤如下:

1、列出所有的输入条件,如下:

    (1)投币50元

    (2)投币100元

    (3)充值50元

    (4)充值100元

2、列出所有的输出结果,如下:

    A、充值成功并退卡

    B、提示充值成功

    C、找零

    D、提示错误

 

3、列出输入条件的所有限制关系和组合关系

(1)列出所有输入条件的限制关系(不能组合的输入条件)

        1)输入(1)和(2)不能同时出现(互斥)

        2)输入(3)和(4)不能同时出现(互斥)

画出限制关系因果图:

 

 

 

 

 

(2)列出所有的组合关系,如下:

        1)输入(1)和(3)组合

        2)输入(1)和(4)组合

        3)输入(2)和(3)组合

        4)输入(2)和(4)组合

        5)输入(1)单独

        6)输入(2)单独

        7)输入(3)单独

        8)输入(4)单独

备注:由于(1)(2)不能同时出现,(3)(4)不能同时出现,得出如上8种情况

 

 

4、列出所有输出条件的限制关系和组合关系

 (1)列出所有输出结果的限制关系

        1)输出A和D不能同时出现(互斥)

        2)输出B和D不能同时出现(互斥)

画出限制关系因果图:

 

 

(2)列出所有输出结果的组合关系:

        1)输出A和B必须组合

        2)输出A、B、C组合

        3)输出C和D组合

        4)输出D单独

 

5、列出输入组合和输出组合的对应关系,有如下8种情况:

情况1:

             输入条件(1)和(3)组合

得出:

            输出结果A和B的组合

画出因果图:

 

 

 

情况2:

              输入条件(1)和(4)组合

得出:

             输出结果C和D的组合

画出因果图:

 

 

 

情况3:

           输入条件(2)和(3)组合

得出:

           输出结果A和B和C的组合

画出因果图:

 

 

情况4:

           输入条件(2)和(4)组合

得出:

             输出结果A和B的组合

画出因果图:

 

 

情况5:

             输入条件(1)单独出现

得出:

              输出结果C和D的组合

 

画出因果图:

 

 

 

情况6:

                输入条件(2)单独出现

得出:

               输出结果C和D的组合

 

画出因果图:

 

 

 

 

 

 

 

情况7:

             输入条件(3)单独出现

得出:

            输出结果D

 

画出因果图:

 

 

 

情况8:

             输入条件(4)单独出现

得出:

            输出结果D

 

画出因果图:

 

 

 

6、根据因果图的分析情况,画出判定表

 

条件

情况1

情况2

情况3

情况4

情况5

情况6

情况7

情况8

输入条件

1、投币50元

M

M

  

M

   

2、投币100元

  

M

M

 

M

  

3、充值50元

M

 

M

   

M

 

4、充值100元

 

M

 

M

   

M

输出结果

a、完成充值并退卡

M

 

M

M

    

b、提示充值成功

M

 

M

M

    

c、找零钱

 

M

M

 

M

M

  

d、提示错误

 

M

  

M

M

M

M

7、根据判定表,编写测试用例

根据判定表的分析结果,将一列的数据变成测试用例,如下表所示:

用例编号

操作步骤

预期结果

1

1、点击投币50元按钮

2、点击充值50元按钮

1、点击投币50元按钮后,投币100元按钮置灰

2、点击充值50元按钮后,充值100元按钮置灰

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

2

1、点击投币50元按钮

2、点击充值100元按钮

1、点击投币50元按钮后,投币100元按钮置灰

2、点击充值100元按钮后,充值50元按钮置灰

3、提示金额不足,并找回50元

3

1、点击投币100元按钮

2、点击充值50元按钮

1、点击投币100元按钮后,投币50元按钮置灰

2、点击充值50元按钮后,充值100元按钮置灰

3、充值成功并退卡,提示充值成功,并找回50元

4

1、点击投币100元按钮

2、点击充值100元按钮

1、点击投币100元按钮后,投币50元按钮置灰

2、点击充值100元按钮后,充值50元按钮置灰

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

5

1、点击投币50元按钮

1、点击投币50元按钮后,投币100元按钮置灰

2、提示错误并找回50元

6

1、点击投币100元按钮

1、点击投币100元按钮后,投币50元按钮置灰

2、提示错误并找回100元

7

1、点击充值50元按钮

1、点击充值50元按钮后,充值100元按钮置灰

2、提示充值失败,投币金额不足

8

1、点击充值100元按钮

1、点击充值100元按钮后,充值50元按钮置灰

2、提示充值失败,投币金额不足

   

 

备注:

       控件的取值个数最好是2~3个,例如:按钮按下或不按下;复选框选择还是不选择;单选按钮选还是不选;这些情况可以选用因果图和判定表来编写测试用例。

 

 

 

 

 


欢迎关注「技术分享交流」公众号 ,在公众号里会不定期更新干货内容,欢迎您的加入!

  • 10
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值