黑盒测试的因果图法(输入条件之间的相互制约关系)

判定表法针对输入条件之间的约束不能有效区分,会导致产生一些不合理的组合条件。需要体现输入条件之间的相互制约关系,可以使用因果图法。

定义:

因果图法是用图解的方法表示输入的各种组合、约束关系,依据因果图最终写出判定表从而设计相应的测试用例。

因果关系:

体现条件和结果的关系。左结点表示输入状态(原因),右结点表示输出状态(结果)

  • 恒等:若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。“与”也可有任意个输入。

约束关系:

输入条件间可能存在某些依赖关系,称为约束。例如,某些输入条件本身不可能同时出现。输出状态之间也往往存在约束。在因果图中,用特定的符号标明这些约束。

  • E约束(异):a和b中至多有一个可能为1,即a和b不能同时为1.
  • I约束(或):a、b、c中至少有一个必须为1,即a、b、c不能同时为0.
  • O约束(唯一):a和b必须有一个且仅有一个为1。
  • R约束(要求):a是1时,b必须是1,即a为1时,b不能为0.
  • M约束(强制):若结果a为1,则结果b强制为0。

设计用例步骤

  1. 分析需求:阅读需求文档,将复杂的用户案例分解成若干个简单的部分,以便于处理。
  2. 确定原因和结果:在每个分解好的部分中,识别出哪些是输入条件(原因),哪些是输出结果(结果),并将它们分别标识出来。原因通常放在一列,结果放在另一列。
  3. 确定逻辑关系:分析需求文档,找出原因和结果之间的关系,并使用逻辑运算符(如AND、OR、NOT)来表示这些关系。
  4. 确定约束关系:继续分析需求,找出原因和原因之间、结果和结果之间的约束限制,并使用特定的符号来标识这些约束关系。
  5. 画出因果图:根据分析的原因和结果及其之间的关系,绘制出因果图。在因果图中,左侧节点表示输入状态(原因),右侧节点表示输出状态(结果)。
  6. 将因果图转换为决策表:将因果图中的每个原因和结果分别取真和假两种状态(通常用0和1表示),并列出所有可能的状态组合。根据因果图中的约束条件,去除不可能出现的组合。
  7. 设计测试用例:根据决策表中的每一列所表示的情况,设计相应的测试用例。每一列都对应一个可能的输入组合,从而产生一个测试用例。
  8. 考虑约束条件:在因果图中,使用特定的符号来标识输入条件之间的约束关系,如互斥(E)、包含(I)、唯一(O)和要求(R)等。这些约束条件有助于简化决策表,并确保测试用例的完整性和有效性。

例子:

某软件规格说明书包含这样的要求:第一列字符必须是A或B,第二列字符必须是一个数字在此情况下进行文件的修改,但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字则给出信息M。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值