因果图法

因果图概念:因果图法是一种适合于描述对于多种输入条件组合的测试方法,根据输入条件的组合、约束关系和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件涉及的各种组合情况。

 

基本思路:利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。

因果图概述

符号

在因果图中,用Ci表示条件,Ei表示动作,有4种符号分别表示了规格说明中的4种因果关系,如图:

其中各节点表示的状态,可取值“0”或“1”。其中,“0”表示某状态不出现,“1”表示某状态出现。

恒等:

若条件出现,则动作出现;若条件不出现,则动作也不出现。

非(∽):

若条件出现,则动作不出现;若条件不出现,则动作出现。

或(∨):

若几个原因有一个出现,则结果出现;若几个原因都不出现,则结果不出现。

与(∧):

若几个原因都出现,结果才出现;若其中一个原因不出现,则结果不出现。

约束

由于输入状态相互之间可能存在某些依赖关系,这些依赖关系成为约束。

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

从输入考虑,有4种约束,如图E、I、O、R;从动作考虑有1种约束,如图M。

E(互斥):

表示a、b,2个条件不会同时成立,最多有1个可能成立。

I(包含):

表示a、b、c,3个条件中至少有1个必须成立。

O(唯一):

表示a、b中必须有1个,且仅有1个成立。

R(要求):

表示当a出现时,b必须也出现。

M(强制):

表示当a是1时,b必须是0。而当a为0时,b的值不确定。

因果图生成测试用例的基本步骤

(1)  分析软件规格说明书中的输入输出条件并分析出等价类,将每个输入输出赋予一个标示符;分析规格说明中的语义,通过这些语义来找出相应的输入与输入之间,输入与输出之间的关系。

(2)  将对应的输入与输入之间,输入与输出之间的关系关联起来,并将其中不可能的组合情况标注成约束或者限制条件,形成因果图。

(3)  由因果图转化成判定表。

(4)  将判定表的每一列拿出来作为依据,设计测试用例。

适合使用因果图法设计测试的用例:

因果图方法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。

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

解:

采用因果图方法进行分析,根据如下“关系表”,获得“因果图”的各种组合,其中∨表示“或”,∧表示“与”,∽表示“非。”

关系表:

编号

条件

编号

动作

C1

第一列字符是A

E1

修改文件

C2

第一列字符是B

E2

给出信息L

C3

第二列字符是一个数字

E3

给出信息M

11

中间原因

因果图:

注:11为中间节点;因为原因1和原因2不能同时为1,所以施加约束。
    C1和C2为互斥关系,用E表示。

根据“因果图”制定“判定表”,3个因素共有8种组合。由于C1(首字符是A)成立时,C2(首字符是B)就不成立,此时变成6种组合。再合并结果一样的列,变成4种组合。如下表:

注:“判定表”的每一列代表一个测试用例。

判定表

序号

1

2

3

4

5

6

条件

C1

1

0

0

1

0

0

C2

0

1

0

0

1

0

C3

1

1

1

0

0

0

动作

E1

1

1

0

0

0

0

E2

0

0

1

0

0

0

E3

0

0

0

1

1

1

优化后的判定表

序号

1

2

3

4/5/6

条件

C1

1

0

0

C2

0

1

0

C3

1

1

1

0

动作

E1

1

1

0

0

E2

0

0

1

0

E3

0

0

0

1

用例

首字母为A

第2字符为数字

首字母为B

第2字符为数字

首字母为x

第2字符为数字

首字母为A或B或x,

第2字符不是数字

黑盒测试用例设计--因果图法相关推荐

  1. 黑盒测试用例设计 - 因果图法

    说明 因果图法是一种适合于描述对多种输入条件组合的测试方法 根据输入条件的组合.约束关系和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法 它适合于检查程序输入条件涉及的各种组合 ...

  2. [转摘]测试用例设计—因果图法

    因果图法 1.引言 等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系.相互组合等.考虑输入条件之间的相互组合,可能会产生一些新的情况.但要检查输入条件的组合不是一件容易 ...

  3. 测试用例设计——因果图法

    上一次我们介绍了判定表法设计测试用例,这里我们介绍一个经常与判定表一起使用的测试用例设计方法--因果图法. 因果图法是基于这样的一种思想:一些程序的功能可以用判定表(或称决策表)的形式来表示,并根据输 ...

  4. 【黑盒测试用例设计方法4】因果图法及其示例

    [黑盒测试用例设计方法4]因果图法及其示例 因果图可以描述系统的输入和输出的因果关系以及输入和输入之间的约束关系.根据系统输入和输出之间的因果图可以得到判定表,因果图和判定表两种方法经常一起使用. 输 ...

  5. 软件测试 通用技术03 测试用例 黑盒测试用例设计方法 等价类划分法 边界值分析法 判定表法 场景法 功能图法 其他用例设计方法 用例设计方法综合选择

    文章目录 1 测试用例 1.1 测试用例的定义 1.2 测试用例模板 1.3 测试用例模板的内容 测试用例编号 测试项 依赖用例 测试步骤 测试数据 预期结果 测试结果 测试人 备注 2 测试用例编写 ...

  6. 场景法设计测试用例atm_黑盒测试用例设计方法

    本文根据Vince整理的<测试用例设计白皮书>整理 一.黑盒测试用例方法 黑盒测试用例设计方法,主要包括等价类划分法.边界值分析法.错误推测法.因果图法.判定表驱动发.正交试验设计法.功能 ...

  7. 2020-12-15:【黑盒测试用例设计】测试方法之边界值分析法

    [黑盒测试用例设计]测试方法之边界值分析法 原理: 针对输入或输出范围的边界值进行测试. 通常是针对有效等价类的边界值进行测试. 考虑范围:变量的最大值.最小值.中间值.比最大值大的值.比最小值小的值 ...

  8. 2020-12-18:【黑盒测试用例设计】测试方法之场景法

    [黑盒测试用例设计]测试方法之场景法 原理:核心思想是站在用户的角度上检测软件功能,发现软件的错误. 场景法能够以最少的测试成本,来发现最多的与用户平时使用时息息相关的软件缺陷或错误. 适用场景:业务 ...

  9. 黑盒测试用例设计方法-因果图

    常用测试用例设计方法-因果图 因果图测试用例设计 因果图理论 因果图设计过程 举个经典的例子:象棋的走马规则 因果图的优缺点 通过因果图发现过的BUG 个人心得 因果图测试用例设计 因果图理论 因果图 ...

最新文章

  1. 缓存框架(Java缓存)与框架缓存(介绍mybatis缓存)
  2. Minimum Inversion Number HDU - 1394(权值线段树/树状数组)
  3. 红帽企业版linux 7.3,红帽推企业Linux 7.3 新功能特性一览
  4. PP视频怎么设置可以运行多个客户端
  5. Google Tensorflow Webset
  6. JavaScript MD5加密实现
  7. Linux下挂载U盘、ISO、光盘、rpm
  8. java uuid生成算法_Java生成UUID
  9. python自定义二元一次函数_Python二元赋值实用技巧解析
  10. 高分Essay写作要点分析
  11. 主打产品“火力不足”致使发行人持续盈利能力下降,这公司创业板IPO被终止
  12. 盛诺基和信达生物达成临床研究合作
  13. 宠物小精灵之收服 01背包 POJ4102
  14. 精进之路-day01
  15. 中考计算机必背知识点,语文中考必背知识考点(完整版)
  16. JS中解决单击双击事件的冲突的问题
  17. linux系统怎么两个盘对拷,Linux分区对拷等小技巧
  18. java二进制文件下载到浏览器默认路径
  19. ArcGis画简单的行政图的详细步骤
  20. java(中国邮政储蓄银行个人网上银行系统项目实训)

热门文章

  1. centos7 安装MySQL5.7启动报错journalctl -xe 、mysql.sock' (2)处理办法及安装MySQL5.7
  2. QQ2007b4版本登录协议分析
  3. SpringBoot 整合 Netty
  4. Linux常用基本命令( touch )
  5. Faster RNN
  6. DPDK技术系统学习一(接收,发送,arp,icmp功能测试)
  7. Linux 内核学习知识:浅析 offsetof 宏以及内核开发学习的所思所想(内核开发人员必读)
  8. 《SQL Server 2008从入门到精通》--20180717
  9. PHP8.X的新特性
  10. 全局变量被未知原因改变的解决方法