一、 应用场合
在一个界面中,有多个输入条件,输入之间存在组合关系,不同的输入组合会产生不同的输出结果的组合,为了弄清输入和输出的关系,使用因果图
二、核心概念
1、因——输入条件
2、果——输出结果
使用画图的方法找出输入(因)和输出(果)的关系
三、图形符号
因果图中的基本符号
1、基本符号——表示输入和输出之间的关系
2、约束(限制)符号——限制的是同一类型的(同时限制的是输入或者同时限制的是输出)
说明:
互斥和唯一的区别:
一般有默认选项—唯一
没有默认选项—互斥
四、分析程序
1、找出所有的输入(因),编号
(1)投币50元 (2)投币100元 (3)充值50元 (4)充值100元
2、找出所有的输出(果),编号
A、充值成功并退卡
B、提示充值成功
C、找零
D、错误提示,退卡
前两步就是初步分析需求的过程
3、在步骤1基础上,找出哪些输入不能组合(限制),哪些输入可以组合
(1)不能组合(限制)
①输入(1)(2)不能组合
②输入(3)(4)不能组合
(2)能组合(决定测试用例的数量)
①输入(1)(3)
②输入(1)(4)
③输入(2)(3)
④输入(2)(4)
⑤输入(1)单独
⑥输入(2)单独
⑦输入(3)单独
⑧输入(4)单独
先把输入的限制关系画出因果图
4、在步骤2基础上,找出哪些输出不能组合,哪些可以组合
(1)不能组合
①输出AD不能组合
②输出BD不能组合
(2)能组合
①输出AB必须组合
②输出ABC可能组合
③输出CD可能组合
④输出D单独
步骤3、4深入分析需求的过程
画出输出的限制关系
5、根据步骤3(2)和4(2),找出什么样的输入组合会产生什么样的输出组合
情况1:
输入(1)(3)组合
会产生:
输出AB组合
情况2:
输入(1)(4)
会产生:
输出CD组合
=================
情况3:
输入(2)(3)
会产生:
输出ABC组合
=================
情况4:
输入(2)(4)
会产生:
输出AB组合
===================
情况5:
输入(1)单独
会产生:
输出CD组合
==============
情况6:
输入(2)单独
会产生:
输出CD组合
================
情况7:
输入(3)单独
会产生:
输出D
================
================
情况8:
输入(4)单独
会产生:
输出D
5、 根据因果图,写出判定表
7、根据判定表,写用例
判定表的一列转换成一条用例
五、因果图应用限制
考虑控件的组合,但是每个控件的取值条件不宜过多,一般为2-3项,如:按钮、
单选按钮、复选框、取值只有2-3项的下拉列表
判定表和因果图是等价的,只是一个用图形表示,表示因果方式不同而已,判定表是因果图的简化版。