测试用例的设计方法_因果图

因果图

因果图:简化了的逻辑图,能直观地表明程序输入条件(原因)和输出动作(结果)之间的相互关系。
因果图法是借助图形来设计测试用例的一种系统方法,特别适用于被测试程序具有多种输入条件、程序的输出又依赖于输入条件的各种情况。

因果图的需要掌握的基本知识
  • 恒等
    测试用例的设计方法_因果图
    恒等:如果原因为真,那么结果必定为真。


  • 测试用例的设计方法_因果图
    只有2个原因都为真,那么结果为真


  • 测试用例的设计方法_因果图
    2个原因中有一个为真时,结果就为真。


  • 测试用例的设计方法_因果图
    只有原因为假,结果才为真。

因果图法设计测试用例的步骤如下:
(1)分析所有可能的输入和可能的输出。
(2)找出输入与输出之间的对应关系。
(3)画出因果图。
(4)把因果图转换成判定表。
(5)把判定表对应到每一个测试用例。

因果法设计测试用例可以帮助测试人员理清输入和输出的关系,但是对于比较复杂的输入和输出,会耗费大量时间。

案例:
假设业务单据的处理规则为:“淘宝618活动,提单已提交,订单合计金额大于300元或有红包,则进优惠”。

  1. 对于这条业务规则,首先通过分析所有可能的输入和可能的输出,可以得到如下结果:
    ● 输入:订单已提交、金额大于300、有红包。
    ● 输出:优惠、不优惠。
  2. 然后,进行第二步,找出输入与输出之间的对应关系。
    通过分析,可以看出有以下的对应关系。
    (1)订单已提交,订单金额大于300元,则优惠。
    (2)订单已提交,订单金额小于等于300元,无红包,不优惠
    (3)订单已提交,有红包,则优惠。
    (4)订单已提交,订单金额大于300元,有红包,则优惠。
    (5)订单未提交,不优惠。
  3. 为了方便画出因果图和判定表,需要对所有输入和输出编号,现在编号如下:
    1:订单已提交。
    2:订单金额大于300元。
    3:有红包
    21:优惠
    22:不优惠
  4. 画因果图
    测试用例的设计方法_因果图
  5. 画判定表:有3个条件,输出有2个取值,所以表的列数为2x2x2=8
    测试用例的设计方法_因果图
  6. 最终的测试用例
    1,2,3,4,5(包含6,7,8)。