因果图法
因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。 等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。 如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计,这就需要利用因果图(逻辑模型)。 恒等:若c1是1,则e1也是1;否则e1为0。 非:若c1是1,则e1是0;否则e1是1。 或:若c1或c2或c3是1,则e1是1;否则e1为0。“或”可有任意个输入。 与:若c1和c2都是1,则e1为1;否则e1为0。“与”也可有任意个输入。 输入条件的约束有以下4类: E约束(异):a和b中至多有一个可能为1,即a和b不能同时为1。 O约束(唯一);a和b必须有一个,且仅有1个为1。 R约束(要求):a是1时,b必须是1,即不可能a是1时b是0。 输出条件约束类型 实例: 解答: 11为中间节点;考虑到原因1和原因2不可能同时为1,因此在因果图上施加E约束。 原因: 1――售货机有零钱找 2――投入1元硬币 3――投入5角硬币 4――押下橙汁按钮 5――.押下啤酒按钮 结果