当前位置 博文首页 > LoulseLong的专栏:编写测试用例方法----因果图&判定表
因果图:
一、应用场合
???????在一个界面中,有多个控件,测试的时候要考虑控件的组合关系,不同的控件组合会产生不同的输出结果的组合,为了弄清什么样的输入组合会产生什么样的输出组合,使用因果图法。
?
二、因果图核心
1、因----原因,输入条件
2、果----结果,输出结果
使用图形的方式,分析软件输入和输出的对应关系。
?
三、图形符号
1、基本图形
????表示输入和输出的对应关系
(1)恒等(-)?(输入、因)??(输出、果) ??
若a=1,则b=1
若a=0,则b=0
(2)非(~)?(输入、因)??(输出、果) ???
若a=1,则b=0
若a=0,则b=1
(3)或(V)
若a=1,或b=1,或c=1,则d=1
若a=b=c=0,则d=0
(4)与(^)
若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)
说明:
唯一(O)的情况是有一个默认值;而互斥(E)没有默认值
(4)要求(R)
若a=1,则b必须为1。即不可能a=1且b=0
(5)屏蔽(M)
若a=1,则b必须为0;而当a为0时,b的值不定
?
四、使用因果图法分析程序
例子:
交通一卡通自动充值软件系统需求
系统只接收50元或100元纸币,一次充值只能使用一张纸币,一次充值金额只能为50元或100元。若选择充值按钮后不输入纸币,提示错误
1、找出所有的原因(输入),编号
????(1)投币50元
????(2)投币100元
????(3)充值50元
????(4)充值100元
2、找出所有的结果(输出),编号
????A、充值成功并退卡
????B、提示充值成功
????C、找零
????D、提示错误
步骤1、2就是初步分析需求。
?
3、在步骤1的基础上,找到输入的限制关系和组合关系
(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)单独
4、在步骤2的基础上,找到输出的限制关系和组合关系
?(1)限制关系
????????1)输出A和D不能(互斥)
????????2)输出B和D不能(互斥)
画出限制关系因果图
????????????????????
?
(2)组合关系
????????1)输出A和B必须组合
????????2)输出A、B、C组合
????????3)输出C和D组合
????????4)输出D单独
步骤3、4是深入分析需求的过程
5、找到输入组合和输出组合的对应关系(什么样的输入组合会产生什么样的输出组合)-----依据步骤3(2)和4(2)
情况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
画出因果图: