因果图


黑盒测试中的因果图

因果图(Cause and Effect Graph)属于黑盒测试技术,它强调给定结果与影响结果的所有因素之间的关系。它用于编写动态测试用例。

当代码根据用户输入动态工作时,将使用动态测试用例。例如,在使用电子邮件帐户时,在输入有效电子邮件时,系统接受它,但当您输入无效电子邮件时,它会抛出错误消息。在这种技术中,输入条件分配有原因,这些输入条件的结果分配有结果。

因果图技术基于需求集合,用于确定可以覆盖软件最大测试区域的最小可能测试用例。

因果图测试的主要优点是,它减少了测试执行的时间和成本。

该技术旨在减少测试用例的数量,但仍以最大覆盖率覆盖所有必要的测试用例,以实现所需的应用程序质量。

因果图技术通过使用 AND、OR 和 NOT 等逻辑运算符将需求规范转换为输入和输出条件之间的逻辑关系。

因果图中使用的符号

AND - E1 是结果,C1 和 C2 是原因。如果 C1 和 C2 都为真,则效果 E1 为真。

黑盒测试中的因果图

或 -如果来自 C1 和 C2 的任何原因为真,则结果 E1 为真。

黑盒测试中的因果图

NOT -如果原因 C1 为假,则效果 E1 为真。

黑盒测试中的因果图

互斥 -当只有一个原因为真时。

黑盒测试中的因果图

让我们试着用一些例子来理解这个技术:

情况:

第 1 列中的字符应为 A 或 B,而第 2 列中的字符应为数字。如果两列都包含适当的值,则进行更新。如果第 1 列的输入不正确,即既不是 A 也不是 B,则将显示消息 X。如果第 2 列中的输入不正确,即输入的不是数字,则会显示消息 Y。

  • 必须更新文件,如果第一列中的字符是“A”或“B”,而第二列中的字符应该是数字。
  • 如果第一列中的值不正确(字符既不是 A 也不是 B),则显示消息 X。
  • 如果第二列中的值不正确(字符不是数字),则会显示按摩 Y。

黑盒测试中的因果图

现在,我们将针对上述情况制作因果图:

  • Causes are:

    • C1 - Character in column 1 is A
    • C2 - Character in column 1 is B
    • C3 - Character in column 2 is digit!

    Effects:

    • E1 - Update made (C1 OR C2) AND C3
    • E2 - Displays Massage X (NOT C1 AND NOT C2)
    • E3 - Displays Massage Y (NOT C3)

其中 AND、OR、NOT 是逻辑门。

黑盒测试中的因果图

Effect E1- Update made- Effect E1存在的逻辑是“ (C1 OR C2) AND C3 ”。对于C1 OR C2,C1 和 C2 中的任何一个都应该为真。对于逻辑AND C3(第 2 列中的字符应为数字),C3 必须为真。换句话说,对于效应 E1(更新)的存在,来自 C1 和 C2 但 C3 的任何一个都必须为真。我们可以在图中看到原因 C1 和 C2 通过 OR 逻辑连接,而效果 E1 与 AND 逻辑连接。

Effect E2 - Displays Massage X - 效果 E2 存在的逻辑是“ NOT C1 AND NOT C2 ”,这意味着 C1(第 1 列中的字符应为 A)和 C2(第 1 列中的字符应为 B)都应为假. 换句话说,对于效果E2的存在,第1列中的字符不应该是A或B。我们可以在图中看到,C1 OR C2通过NOT逻辑与效果E2相连。

Effect E3 - Displays Massage Y-效果 E3 存在的逻辑是“非 C3 ”,这意味着原因 C3(第 2 列中的字符是一个数字)应该是假的。也就是说,对于效果E3的存在,第2列的字符不应该是数字。我们可以在图中看到,C3通过 NOT 逻辑与效果 E3 连接。

因此,它是给定情况的因果图。测试人员需要将因果关系转化为逻辑陈述,然后设计因果图。如果函数根据输入(原因)给出输出(效果),则视为无缺陷,如果不这样做,则将其发送给开发团队进行更正。

结论

步骤总结:

  • 画出影响和原因的圆圈。
  • 从效果开始,然后找出造成这种效果的原因。
  • 最后画出互斥原因(通过一果一因直接联系的互斥原因)。
  • 使用逻辑门绘制动态测试用例。