因果图属于黑盒测试技术,该技术强调了给定结果与影响结果的所有因素之间的关系。它用于编写动态测试用例。 
                              当代码基于用户输入动态工作时,将使用动态测试用例。例如,在使用电子邮件帐户时,在输入有效电子邮件时,系统会接受它,但是当您输入无效的电子邮件时,它会抛出错误消息。在这种技术中,输入条件被分配有原因,这些输入条件的结果被分配有结果。 
                              因果图技术基于需求的集合,用于确定可以覆盖软件最大测试区域的最小可能测试用例。 
                              因果图测试的主要优点是,它减少了测试执行的时间和成本。 
                               该技术旨在减少测试用例的数量,但仍以最大覆盖范围覆盖所有必要的测试用例,以实现所需的应用程序质量。 
                              因果图技术通过使用逻辑运算符(如 AND、OR 和 NOT)将需求规范转换为输入和输出条件之间的逻辑关系。 
                             因果图中使用的符号 
                                和-E1是结果,C1和C2是原因。如果 C1 和 C2 都为真,则效应 E1 将为真。 
                            
 
                                或-如果 C1 和 C2 的任何原因为真,则效应 E1 将为真。 
                               
 
                                不-如果原因 C1 为假,则效应 E1 为真。 
                               
 
                                互斥-当只有一个原因是真的。 
                             
 
                                让我们尝试通过一些示例来理解这种技术: 
                             情况: 
                                第 1 列中的字符应为 A 或 B,第 2 列中的字符应为数字。如果两列都包含适当的值,则进行更新。如果第 
                                1 列的输入不正确,即既不是 A 也不是 B,则将显示消息 X。如果第 2 列中的输入不正确,即输入不是数字,则将显示消息 
                                Y。 
                              
                                如果第一列中的字符是“A”或“B”,并且第二列中的字符应该是数字,则必须更新文件。 
                               如果第一列中的值不正确(字符既不是 A 也不是 B),则会显示消息X。 
                               如果第二列中的值不正确(字符不是数字),则将显示消息Y。 
                               
 
                                现在,我们将为上述情况制作一个因果图: 
                              原因是: 
                              C1 - 第 1 列中的字符为 A 
                                C2 - 第 1 列中的字符为 B 
                                C3 - 第 2 列中的字符是数字! 
                                影响: 
                              E1 - 更新(C1 或 C2)和 C3 
                               E2 - 显示消息 X(不是 C1 也不是 C2) 
                               E3 - 显示消息 Y(非 C3) 
                              
                                其中 AND, OR, NOT 是逻辑门。 
                              
 
                                效果 E1- 更新-效果 E1 存在的逻辑是“(C1 或 C2) 和 C3”。对于 C1 或 
                                C2,C1 和 C2 中的任何一个都应该为真。对于逻辑 AND C3(第 2 列中的字符应为数字),C3 
                                必须为真。换句话说,对于效果E1(更新)的存在,C1和C2中的任何一个,但C3必须为真。我们可以在图中看到,原因 
                                C1 和 C2 通过 OR 逻辑连接,效果 E1 与 AND 逻辑连接。 
                              
                               效果 E2 - 显示消息 X -存在效果 E2 的逻辑是“不是 
                                C1 也不是 C2”,这意味着 C1(第 1 列中的字符应为 A)和 C2(第 1 列中的字符应为 
                                B)都应为假。换句话说,对于效果 E2 的存在,第 1 列中的字符不应是 A 或 B。我们可以在图中看到,C1 
                                或 C2 通过 NOT 逻辑连接,效果为 E2。 
                              效果 E3 - 显示消息Y-存在效应 E3 的逻辑是“NOT 
                                C3”,这意味着原因 C3(第 2 列中的字符是数字)应该是假的。换句话说,对于效果 E3 
                                的存在,第 2 列中的字符不应是数字。我们可以在图中看到,C3 通过 NOT 逻辑连接,效果为 
                                E3。 
                              因此,它是给定情况的因果图。测试人员需要将因果关系转换为逻辑陈述,然后设计因果图。如果函数根据输入(原因)给出输出(效果),则认为它没有缺陷,如果不这样做,则将其发送给开发团队进行更正。 
                              
                                结论 
                                步骤摘要: 
                              画结果和原因的圆圈。 
                                从结果开始,然后选择这种结果的原因是什么。 
                                最后得出相互排斥的原因(通过一个结果和一个原因直接连接的排他性原因)。 
                                使用逻辑门绘制动态测试用例。 
                              
                                 
                               |