用例设计方法——因果图法+判定表法

用例设计方法——因果图法+判定表法

若文章存在不理解或者错误的地方,欢迎留言指出

应用场景

在一个窗口中,有多个操作,操作与操作之间存在组合关系和限制关系,不同的操作组合会产生不同的输出结果,为了弄清什么样的操作(输入)组合会产生什么样的输出组合,使用因果图法/判定表法。(组合情况一般<20种的时候使用)

判定表法在实现的过程中省略了因果图法画因果图的过程,判定表法可以说是因果图法的一个简略版

因果图讲解

定义

因(原因):输入条件
果(结果):输出结果
因果图:通过画图的方式弄清输入条件(因)与输出结果(果)的各种组合关系

标识符认识

图片来源:https://blog.csdn.net/ningmengban/article/details/70227621

1、因与果之间的约束关系(输入条件与输出结果之间的约束关系)
用例设计方法——因果图法+判定表法
恒等:若c1=1,则e1=1;若c1=0,则e1=0
非:若c1=1,则e1=0;若c1=0,则e1=1
或:存在c(1或2或3)=1,则e1=1(有1则1,全0则0
与(且):只有c1和c2均为1,则e1=1(全1为1,有0则0

2、因之间或者果之间的限制关系(输入条件之间或者输出结果之间的限制关系)
用例设计方法——因果图法+判定表法
异:最多存在一个
或:最少存在一个
唯一:必须选,且只有一个
要求:若a=1,b必须=1;若a=0,b=什么都可以
强制:若a=1,b=0;若a=0,b=1或0(b不确定)

实现步骤

1.根据需求明确因(输入条件)果(输出结果)
2.画因果图,并标记出约束关系和限制关系
3.因果图转换为判定表(熟练后可省略该步骤)
4.根据判定表设计测试用例

实例讲解

需求:通一卡通充值模拟系统(emm…目前没想到更好的例子,先用网上烂大街的例子吧,后续有更好的案例再进行更新)

1、根据需求明确因(输入条件)果(输出结果)
因(输入条件):投币50元(c1),投币100元(c2),充值50元(c3),充值100元(c4)
果(输出结果):成功充值并退卡(e1),找零(e2),错误提示并退卡(e3)

2、画因果图,并标记出约束关系和限制关系(约束关系较多,线容易重叠,分成几个图画出来)

恒等:
用例设计方法——因果图法+判定表法
与:

用例设计方法——因果图法+判定表法
3、因果图转换为判定表

项目 1 2 3 4 5 6 7 8
投币50 1 1 1
投币100 1 1 1
充值50 1 1 1
充值100 1 1 1
充值成功并退卡 1 1 1
退钱 1 1 1 1
充值异常并退卡 1 1 1 1 1

4、根据判定表设计测试用例
用例这里就不写了,由上面的判定表可得出,要写8条用例