等价类划分法和边界值分析法都是着重考虑输入条件,但未考虑输入条件之间的联系、相互组合等。这样虽然各种输入条件可能出错的情况已经测试到了,但是多个输入条件组合起来可能出错的情况却被忽视了。

因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来设计测试用例的方法。这就需要利用因果图(逻辑模型),它能直观的表 明收条件和输出动作之间的因果关系。 因果图法一般和判定表结合使用,通过映射同时发生相互影响的多个输入来确定判定条件。因果图法最终生成的就是判定表,它适于检查程序输入条件的各种组合情况。

黑盒测试中因果图用来表示因果关系的基本关系符号。 通常在因果图中用Ci表示原因(输入状态),用Ei表示结果(输出状态),结点 表示状态,可取值“0 ”(表示某状态不出现)或“1”(表示某状态出现) 。 恒等(若C1为1,则E1也为1,否则E1为0):

 

ALM

 

非(若C1为1,则E1为0,否则E1为1 ):

 

软件生命周期

 

在实际问题中,输入状态之间、输出状态之间可能存在某些依赖关系,这些依赖关系被称为“约束”。对于输入条件有E、I、O、R四种约束,对于输出条件 只有M约束。

(1)E约束(异):a和b中最多有一个可能为1,即a和b不能同时为1。

(2)I约束(或):a、b、c中至少有一个必须为1,即a、b、c不能同时为0。

(3)O约束(唯一):a和b中必须有且仅有一个为1。

(4)R约束(要求):a是1时,b必须是1,即a为1时,b不能为0。

(5)M约束(强制):若结果a为1,则结果b强制为0。

各类约束图示:

 

测试管理

 

大家借助ALM软件研发生命周期管理工具,进行测试用例的设计,把所有可能情况罗列出来,相应产生多个动作的校验。