这一节开始总结黑盒测试中的最后一种方法——因果图法,说到因果图法,就不能不说决策表法(也称判定表法),因为这两种方法经常联用,经验丰富的测试员有时跳过因果图的设计,直接设计决策表,决策表法也是最严格也最具有逻辑性的测试方法。下面先介绍一下因果图的基础知识。
因果图的一些限制符号:
测试用例也就是简化后的决策表用例,由于本例比较简单,所以要想全面了解因果图法,就必须多做例子,并且每个条件的情况可能数有时不一定是只有真假,有时候会很复杂,建议多做些生活中的例子,尽管很复杂,但是绘制步骤和简化思想大多是一样。
如果输入输出比较多,输入之间和输出之间相互制约的条件比较多,在这种情况下应用因果图法设计决策表很合适。因果图是一种形式化语言,是一种组合逻辑网络图,它把输入条件视为因,把输入或程序状态的改变视为果,将黑盒看成是从因到果的网络图,采用逻辑图的形式来表达功能说明书中输入条件的各种组合与输出的关系,最终生成决策表,写出相应的测试用例。
因果图的基本符号:
因果图绘制的一般步骤:
1.提取因果,赋予标识符
2.提取因果关系,表示因果图
3.标明约束条件
做完因果图就要转换成判定表,做判定表的一般步骤:
1.抽象出所有的条件类和动作类
2.确定规则的个数
3.填入条件项
4.简化(合并类似规则或相同动作)
绘制决策表的一般步骤不固定,假如测试员经验丰富,可以提前简化。下面是一个简单的具体实例,建议读者先根据以上知识先自行设计因果图和决策表,然后再与下面的对比,你可能设计的会更好。
问题:某公司要求,对功率大于50马力且维修记录不全或已运行10年以上的机器,应给予优先的维修处理,请根据需求运用因果图法设计测试用例。
因果图:
a:功率大于50马力 b:维修记录不全 c:运行10年以上
d:优先维修 e:其他处理
最初决策表:
简化后决策表:
测试用例也就是简化后的决策表用例,由于本例比较简单,所以要想全面了解因果图法,就必须多做例子,并且每个条件的情况可能数有时不一定是只有真假,有时候会很复杂,建议多做些生活中的例子,尽管很复杂,但是绘制步骤和简化思想大多是一样。
到目前为止,黑盒测试的方法就总结完了,当然黑盒测试的方法还有很多,不只是只有这四种,在这里介绍的是最常用的四种。下一节将总结白盒测试,语言多以C++为主,敬请期待,谢谢。