测试设计方法:因果图的基本原理及运用

1、引言

因果图,作为一种黑盒测试方法,经常用来作为复杂场景的案例设计工具,尤其是针对逻辑关系、依赖关系强的场景,而正因为这一点,很好的弥补了我前面讨论的正交试验的不足之处。因果图能够用来研究条件与结果之间的逻辑关系的变化,很好的发现和探索其中的因果之变,下面来探究如何来这一种方法的原理,以及如何使用因果图来设计测试案例。

2、因果图基本原理及定义

因果图是一种针对输入条件的组合进行分析的一种设计方法,基于图的原理,将输入内容和输出结果进行组合和联系。与正交实验不同,因果图不要求输入条件为独立特性,允许条件之间存在相互依赖或相互约束的关系,重点探究的是从输入到输出之间的因果逻辑。

3、因果图设计步骤

从需求分析到用因果图生成用例,大致步骤如下:

1)拆解需求:

  • 从最初的需求中,将其拆解为小段的逻辑片段,通过分析逻辑片段来进行因果图分析。

2)确定“因”和“果”:

  • 从需求片段中提取到的所有可能的输入条件和输出结果,这些即为因果图中的原因和结果。例如,在自动饮用水售货机中,投入1元硬币购买,当定价1元时,得到的结果是“购买成功”,投币1元是“因”,“购买成功”是“果”。

3)明确因果关系及约束关系:

  • 因果关系即为“原因”通过什么样的方式得到什么样的“结果”,原因和结果之间的对应关系即为因果关系。
  • 约束关系为条件之间的各种限制,如条件A和条件B同时满足才能得到结果A。实际的例子如自动饮用水售货机,投币1元和商品定价1元,当两个条件同时满足时,才能购买成功,当定价2元时,会是“购买失败,请充值”的结果,这个例子里面“投币1元”和“定价1元”两个条件之间便是互斥关系。

4)绘制因果图:

  • 对步骤2分析得到的和输出结果制定编号,每个编号代表1个节点,将输入条件置为左列,输出结果置为右列。利用因果图的基本符号,将输入和输出之间连接,便得到初始因果图。

    **Tips:**当输入内容较为复杂时,考虑增加中间节点,中间节点仅为输入条件特定情况下的某种状态,用于方便绘制输入和输出之间的联系,仅用于桥梁的作用。

5)补充因果约束条件:

  • 根据步骤3得到的因果和约束关系,结合约束符号,在初始因果图上补充注明输入条件之间的约束关系,添加约束之后即可得到完整的因果图。

6)将因果图转为判定表:

  • 对每个原因和结果取真和假两种状态,用 0 和 1 表示,根据完整的因果图生成有限项判定表,将所有的状态组合列出,再根据因果图中的约束条件,去掉不可能出现的组合。

7)根据判定表转换为测试用例:

  • 根据判定表中每一列的值作为依据,设计测试用例,每个有效的列都是一个测试用例。

4、基本符号与约束关系

4.1 基本因果图符号

逻辑关系 说明 图示
恒等 (Identity) 如果原因a为真,则结果b为真,中间直线相连接 image-20250611171802558
非 (NOT) 如果原因a为真,则结果b为假;反之,如果a为假,则b为真 image-20250611181541240
或 (OR) 如果多个原因 a 1 a_1 a1, a 2 a_2 a2, …, a n a_n an中至少有一个为真,条件数目任意,则结果d为真。图形上使用一个“∨”或“OR”标记 image-20250611182113939
与 (AND) 只有当所有原因 a 1 a_1 a
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MNXin

觉得有用,鼓励一下吧~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值