黑盒测试-因果图分析
一、 黑盒测试:是一种常用的软件测试方法,它将被测软件看作一个打不开的黑盒,主要根据功能需求设计测试用例,进行测试。
几种常用的黑盒测试方法和黑盒测试工具有,等价类划分法、边界值分析法、因果图法、决策表法。在实际运用中要选择合适的方法。
一. 因果图法方法简介
1.定义:是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。
2.因果图法产生的背景:
等价类划分法和边界值分析方法都是着重考虑输入条件,如果程序输入之间没有什么联系,采用等价类划分和边界值分析是一种比较有效的方法。但等边值分析没有考虑输入条件的各种组合、输入条件之间的相互制约关系,例如,约束关系、组合关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了,测试效果难以保障,因此必须考虑使用一种适合于描述对于多种条件的组合,产生多个相应动作的测试方法,如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计,这就需要利用因果图(逻辑模型)。因果图法着重测试规格说明中的输入与输出间的依赖关系。
1、 因果图的符号的关系
以下是符号的具体说明:
原因→结果
原因→原因
结果→结果
2、因果图法测试用例的设计步骤
(1)确定软件规格(需求)中的原因和结果
(2)确定原因和结果之间的逻辑关系
(3)确定因果图中的各个约束(constraints)
(4)画出因果图并转换为决策表
(5)根据决策表设计测试用例
三、实例分析
产品说明书:有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“可乐”、“雪碧”、或“红茶”按钮,相应的饮料就送出来。若投入的是2元硬币,在送出饮料的同时退还5角硬币。
(1)确定需求中的原因与结果
(2)确定原因与结果 的逻辑关系
C1 与 C2 需要一个中间结果Cm1, C3、C4、C5 需要一个中间结果Cm2.
(3)确定因果图中的约束
C1 与 C2 是或的关系, C3、C4、C5 是或的关系。
(4)画出因果图并转化为决策表
决策表
将原因C1、C2、C3、C4、C5按二进制由小到大分别取值,并分析中间结果的成立与否,进而得出下面的简化版(即中间结果Cm1、Cm2成立的情况)
简化版
(5)根据决策表设计测试用例