因果图法
- 由于等价类和边界值测试的只考虑各个输入数据的测试效果,没有考虑到输入数据的组合效果;
- 决策表测试方法设计的测试用例数量将会是个天文数字
- 因果图利用图解法分析输入的各种组合情况,适合于描述多种输入条件的组合并相应产生多个动作的方法
-
关于因果图的认知 1.1 逻辑符号
符号介绍
- ci
表示原因,通常位于因果图左侧 - ei
表示结果,通常位于因果图右侧 - 以直线进行连接
- 取值
取1表示某种状态出现,0表示某种状态不出现
逻辑关系
- 恒等
c1、e1取值相同 - 非
c1、e1取值相反 - 或
有多个输入,当且仅当输入中仅有一个取1时,e1取1;否则e1取0 - 与
可有多个输入,当输入均取1时,e1取1;否则e1取0 - 如图
1.2 约束符号 指输入输出状态之间存在某些依赖关系
- 异
不能同时为1 - 或
不能同时为0 - 唯一
必须有一个且仅有一个为1 - 要求(R约束)
a为1时b必须为1 - 强制(M约束)
对于输出条件的约束只有M约束,若结果a是1,则结果b强制为0 约束关系图
1.3 因果图的构造过程
- 明确的将原因和结果分开
- 确定因果逻辑关系
- 确定约束关系
-
关于因果图的优点 2.1 能够考虑多个输入数据之间的相互组合相互制约的关系 2.2 能够直到测试用例的选择,指出需求规格说明书描述存在的问题 2.3 帮组测试人员按照固定步骤、高效率的开发测试用例 2.4 因果图法将自然语言规格说明转化为形式与原规格说明的一种严格的方法,可以指出规格说明存在的不完整性和二义性 -
测试步骤 3.1 分析软件规格规格说明书,分析原因与结果之间的关系并赋予标识符,原因与原因之间的逻辑关系,构造因果图并标注约束条件 3.2 因果图转换成决策表,将原因作为决策表的条件项,将结果作为决策表的动作项 3.3 去除决策表中不可能出现的规则,根据出现的规则我设计测试用例
对于结构复杂的软件,可先用因果图进行分析,再用决策表进行统计,最后设计测试用例
关于学习的来源
中国大学MOOC的《软件测试技术》课程,链接如下 https://www.icourse163.org/learn/JSIT-1206690831?tid=1452569464#/learn/content?type=detail&id=1229654533&cid=1247047155&replay=true
|