因果图法、判定表法

  • Post author:
  • Post category:其他




一、 应用场合

在界面中有多个控件,控件之间有

组合或限制

关系,不同的输入组合会对应不同的输出结果,如果想弄清楚不同的输入组合到底对应哪些输出结果,可以使用因果图/判定表法。(提示:因果图/判定表法比较适合测试组合数量较少的情况,一般少于20种;如果组合数量过大,可以使用正交排列法)



二、因果图

  • 因(原因):输入条件

  • 果(结果):输出结果

因果图:就是通过

画图

的方式来表示输入条件(因)和输出结果(果)之间的关系。

  • 基本图形符号-表达的是因和果之间的关系

    • 恒等、与、或、非
  • 限制图形符号-表达的是因之间和果之间的限制

    • 互斥、唯一、包含、要求、屏蔽



三、因果图中的图形符号



1、基本图形符号表示的是因与果之间的关系



1)恒等

如果a=1,那么b=1

如果a=0,那么b=0

在这里插入图片描述



2)与

与的含义:只有所有条件都为1时,结果为1,有任何一个条件为0(或者所有条件为0)那么结果为0.

简化:全1为1,有0为0

分析过程如下图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NVcS40Pj-1617102627469)(file:///C:\Users\舒\AppData\Local\Temp\ksohtml16988\wps2.jpg)]

与的图形符号:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yUZWlt7o-1617102627471)(file:///C:\Users\舒\AppData\Local\Temp\ksohtml16988\wps3.jpg)]



3)或(了解)

或的含义:只有所有条件都为0时,结果为0,有任何1个条件为1(或者所有条件为1)时,结果为1

简化:全0为0,有1为1

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9h4kdvAZ-1617102627472)(file:///C:\Users\舒\AppData\Local\Temp\ksohtml16988\wps4.jpg)]

或的关系图形符号:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-haz9sqSt-1617102627473)(file:///C:\Users\舒\AppData\Local\Temp\ksohtml16988\wps5.jpg)]



3)非:取反

如果a=1,那么b=0

如果a=0,那么b=1

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-omwFPnHr-1617102627475)(file:///C:\Users\舒\AppData\Local\Temp\ksohtml16988\wps6.jpg)]



2、限制关系图形符号

  • 限制关系图形要么在因(输入条件)之间,要么在果(输出结果)之间。

    • 1) 互斥(E-exclude)含义:可以不选,如果选只能选1个

    • 2) 唯一(O-Only) 含义:有且只有1个(

      必须要选

      ,而且只能选1个)

      • 唯一和互斥的区别:互斥可以不选;唯一必须要选1个

在这里插入图片描述

  • 3) 包含(I-include)

    • 含义:至少选1个(可以多选,不能不选,最少得选1个)

在这里插入图片描述

  • 4) 要求(R-required)

    • 含义:如果a=1 那么要求b必须是1,反之如果a=0,那么b值无所谓

在这里插入图片描述

  • 5) 屏蔽(M-masked)

    含义:当a=1时,b=0

    当a=0,b的值有可能是1,也有可能是0

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZogmMvfh-1617102627475)(file:///C:\Users\舒\AppData\Local\Temp\ksohtml16988\wps11.jpg)]

四、测试步骤

被测程序:交通一卡通充值模拟系统

步骤1:了解需求,找出所有的输入条件(因)

1) 投币50元

2) 投币100元

3) 充值50元

4) 充值100元

步骤2:找出所有的输出结果(果)

A) 成功充值并退卡

B) 找零

C) 错误提示并退卡

将因和果填入《判定表》中

步骤3:找出输入条件之间的组合和限制关系。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PWeqHETX-1617102627476)(file:///C:\Users\舒\AppData\Local\Temp\ksohtml16988\wps12.jpg)]

步骤4:明确不同的输入组合会产生怎样的输出结果,画因果图,填判定表。(在实际工作中可以只填判定表,不画因果图)



四、测试步骤

  • 步骤1:分析需求,找出所有的输入条件

  • 步骤2:找出所有的输出结果

  • 步骤3:找出输入条件中的所有组合和限制关系

  • 步骤4:明确每种输入组合对应的输出结果,填判定表,画因果图(熟练后,画因果图可以省略)

    • 说明:

      • 画因果图只是一种辅助工具,通过分析最终得到判定表,再通过判定表编写测试用例。但是有时画因果图比较麻烦,影响测试效率,所以在应用熟练之后,可以省略画因果图直接填判定表,进而编写测试用例。
      • 判定表的缺点:判定表中输入条件的限制关系不好体现。

        • 如何解决:可以在判定表中添加备注,将限制关系写入备注部分。
  • 步骤5:根据判定表,编写测试用例

    • 每1列表示1种组合,写1条用例
  • 问题:编写测试用例可以参考什么?

    • 需求
    • 设计(开发)文档
    • 已经开发出来的被测程序
    • 通过和产品经理、开发人员、客户等沟通



五、总结:

  • 1、因果图/判定表适合测试控件的组合情况,而且适合测试组合数量比较少的情况。常见的控件有:按钮(按/不按),单选按钮(选/不选),复选框(选/不选),选项较少的下拉列表等

  • 2、判定表的特点:

    • 1)输入条件的顺序是无关紧要的
    • 2)输出结果的顺序是无关紧要的
    • 3)先测哪种组合,后测哪种组合是无关紧要的
    • 4)每种组合之间是相互独立的
  • 3、介绍判定表的组成项:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-99Ywtrma-1617102627476)(file:///C:\Users\舒\AppData\Local\Temp\ksohtml8180\wps1.jpg)]



六、 多种测试方法的综合应用



6.1 案例:《工资发放系统》

说明:在实际工作中,通常一个功能,是需要2-4种测试方法综合测试才能完成的。



6.2 测试步骤:

  • 步骤1:根据需求和控件特点,分析每组(每个)控件,要使用什么测试方法。(要求:熟练掌握每种测试方法的应用场合,分析,判定使用什么测试方法)

    • 1)“基本信息”部分

      • 使用方法:等价类+边界值
    • 2)“扣款比例”部分

      • 使用方法:判定表法
  • 步骤2:使用相应的测试方法,对每组(每个)控件进行单独的方法分析。将分析结果填入相应的表格。(要求:每种测试方法能够熟练应用。)

    • 1) 基本信息部分

      • 将分析结果填入《数据分析表》
    • 2) 扣款比例部分

      • 将分析结果填入《判定表》中
  • 步骤3:分析所有的数据结果,形成较为完善的测试思路,编写测试用例。

    • 思路:

      • 首先:判定表(8种组合)+3个文本框的有效数据 组合测试
      • 接下来:每个文本框的无效数据要单独测试(避免屏蔽现象)
      • 最后:3个文本框的无效数据组合测试—适当强化



版权声明:本文为shujiaw原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。