黑盒测试方法之因果图、判定表RobertStrictlyPrivateandConfidential因果图因果图方法(Cause-Effectgraphics):一种黑盒测试方法。考虑输入条件之间的联系,各种组合,相应产生多个动作来设计测试用例。方法的依据:需求规格说明中的因果关系。因果图介绍c1e1恒等c1e1非c1e1或c2c3Vc1e1与c2∧条件的约束输入条件约束abEE约束(异、排他):a,b中至多有一个可能为1,即a和b不能同时为1。acF(I)F约束(或、包含):a,b和c中至少有一个必须为1,即a,b和c不能同时为0。babG(O)G约束(唯一):a,b中必须有一个且仅有一个为1。条件的约束输入条件的约束abRR约束(要求):a是1时,b必须是1,即不可能a是1时b是0。输出条件的约束abMM约束(强制):若a是1时,则结果b强制为0。因果图创建测试用例步骤①分析需求中原因和结果。②将需求中的原因和结果连接成因果图。③把因果图转换成判定表。④把判定表中每一列表示的情况写成测试用例。例子软件规格说明书:在OVI地图查找项中,输入完全地址和模糊地址能查找出地址;输入错误或不输入地址则提示错误信息或不显示。例子原因和结果:原因:1----输入精确地址;2----输入模糊地址;3----输入非正常地址;结果:21----出现地址;22----不出现地址;23----给出错误信息;4----不输入地址;例子因果图和具有约束的因果图:考虑到原因之间必须有一个且仅有一个为1,因此在因果图上施加G约束122122323G因果图实例具有E约束的因果图4∨1221223234∨例子根据因果图建立如下的判定表:12345678910111213141516条件10000000011111111200001111000011113001100110011001140101010101010101动作210011221000230100因果图法优缺点优点1、因果图法能够帮助我们按照一定步骤,高效的选择测试用例,设计多个输入条件组合用例.2、因果图分析还能为我们指出,软件规格说明描述中存在的问题.缺点1、输入条件与输出结果的因果关系,有时难以从软件需求规格说明书得到.2、即时得到了这些因果关系,也会因为因果关系复杂导致因果图非常庞大,测试用例数目及其庞大.判定表驱动测试是分析和表达多逻辑条件下执行不同操作的情况下的工具,通常作为程序开发的辅助工具.规格说明以判定表形式给出,或很容易转换成判定表.判定表的组成条件桩动作桩条件项动作项规则条件桩(Conditionstub)动作桩(Actionstub)条件项(ConditionEntity)动作项(ActionEntity)判定表的建立步骤:(根据软件规格说明)①确定规则的个数.假如有n个条件.每个条件有两个取值(0,1),故有2n种规则.②列出所有的条件桩和动作桩.③填入条件项.④填入动作项.等到初始判定表.⑤简化.合并相似规则(相同动作).例子一张关于科技书阅读指南的判定驱动表:3个问题8种情况问题建议你觉得疲倦吗?你对内容感兴趣吗?书中内容使你糊涂吗?请回到本章开头重读继续读下去跳到下一章去读停止阅读,请休息12345678YYYYYYYYYYYYNNNNNNNNNNNNXXXXXXXX规则化简化简就是规则和并有两条和多条规则具有相同的动作,并且其条件项之间存在着极为相似的关系。YYNNYNXXYN--XYY--NNNXXY--NX两条规则和并成一条两条规则进一步和并判定表优缺点I.优点:它能把复杂的问题按各种可能的情况一一列举出来,简明而易于理解,也可避免遗漏。II.缺点:不能表达重复执行的动作,例如循环结构。因果图和判定表的选择条件和动作关系不明确---先使用因果图.条件和动作关系明确或需求是以判定表形式给出---判定表.