1、概念:
因果图就是把所有输入和输出列出来,用线和不同的符号将输入和输出之间的因果关系,以及输入与输入之间的约束关系都标记出来,这样的一张图叫因果图。
2、使用条件:
输入条件比较多或约束关系也比较多,直接做判定表比较复杂
(ps:输入条件比较少时,我们可以直接用判定表法)
3、使用步骤:
做因果图
根据因果图作出判定表
简化判定表,合并冗余的测试用例,剔除非法的测试用例
写出最简的测试用例集合
如上,因果图是在输入情况复杂时帮我们理清各种关系,从而能顺利作出判定表的一种设计方法。
4、输入和输入的关系:
异:所有输入条件中至多一个条件会发生。这些输入条件是互斥的,不可能同时发生,也可能一个都不发生。
(比如下文例子中的第一个字符输入,可能是A,也可能是B,或者既不是A也不是B,所以输入A和输入B就属于异的关系,至多一个会发生)
或:所有输入条件中至少一个条件会发生,这些输入条件之间并没有直接关系,所以互相不会影响是否发生。
(比如下文例子中的输入两个字符,第一个字符输入和第二个字符相互不影响,属于或的关系)
唯一:所有输入条件中有且只有一个条件会发生。
(比如下文例子中的第一个字符输入A输入B或者输入既不是A也不是B,这三个输入条件有且只有一个会发生)
要求:所有输入条件中有一个发生,其它输入条件也会发生。这个输入影响其他输入。
5、输入和输出的关系:
与:当所有输入条件都发生时,才会产生对应的输出。
或:当多个输入条件中至少有一个发生时,就会产生对应的输出。
非:当输入条件发生时,对应输出一定不会产生。
恒等:当输入条件发生时,对应输出一定会产生。
6、举个例子:
售货机:简化情况,假设投币只有1元和5毛两种;零钱默认都是5毛;有橙汁和可乐两种饮料,饮料价格均为5毛;机器没零钱的时候零钱找完的灯会亮
第一步:梳理输入与输入,输入与输出之间的约束关系
输入:
(1)售货机有零钱
(2)投币1元
(3)投币5毛
(4)按橙汁按钮
(5)按可乐按钮
输出:
(21)零钱找完的灯亮
(22)退回1元
(23)退回5毛
(24)出橙汁
(25)出可乐
输入与输入的约束关系:
(2)、(3)是异的关系,至多出现一个,可能一个都不发生
(4)、(5)是异的关系,至多出现一个,可能一个都不发生
输入与输出的约束关系:
(1)、(21)是非的关系
第二步:绘制因果图
第三步:绘制判定表
第四步:根据判定表写测试用例
详情省~~