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

因果图

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

因果图的需要掌握的基本知识

  • 恒等

    恒等:如果原因为真,那么结果必定为真。


  • 只有2个原因都为真,那么结果为真


  • 2个原因中有一个为真时,结果就为真。


  • 只有原因为假,结果才为真。

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

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

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

对于这条业务规则,首先通过分析所有可能的输入和可能的输出,可以得到如下结果:
● 输入:订单已提交、金额大于300、有红包。
● 输出:优惠、不优惠。

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

实例

某软件规格说明书包含这样的要求:输入的第一个字符必须是#或*,第二个字符必须是一个数字,在此情况下进行文件修改。若第一个字符不是#或*,给出信息N,若第二个字符不是数字,给出信息M。
输入条件:
C1:第一个字符是#
C2:第一个字符是*
C3:第二个字符是一个数字
输出条件:
E1:给出信息N
E2:允许修改
E3:给出信息M
画出因果图,图中⑩表示一种中间状态,即表示C1和C2形成的一种结果(输入的第一个字符是#或*)

判定表:

测试用例的设计方法_因果图相关推荐

  1. 测试用例设计方法_因果图法(游戏向)

    一.因果图法简介    1.1 什么是因果图法?   因果图(Cuase-effect Graph)是一种描述输入条件的组合以及每种组合对应的输出的图形化工具.在因果图的基础上可以设计测试用例.    ...

  2. 测试用例经典设计方法之 因果图法

    01 因果图设计测试用例的步骤 1.分析需求 阅读需求文档,如果User Case很复杂,尽量将它分解成若干个简单的部分.这样做的好处是,不必在一次处理过程中考虑所有的原因.没有固定的流程说明究竟分解 ...

  3. (转)测试用例的设计方法(全)之二 错误推断、因果图

    测试用例的设计方法(全)之二 (3)错误推测方法 一.    方法简介 1.         定义:基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法. 2.      ...

  4. 学习软件测试(三)测试用例、测试用例的设计方法(等价类划分法、边界值分析法、判定表法、因果图法、正交排列法、场景法、错误推测法)

    目录 测试用例 测试用例八大要素 测试用例的设计方法 等价类划分法 等价类操作步骤 边界值分析法 边界范围 边界值法的操作步骤 案例1 案例2 判定表法 为什么使用判定表法 判定表法的四个组成部分 判 ...

  5. 测试用例及其设计方法

    测试用例 测试用例的定义※ 设计一个情况,软件程序在这种情况下,必须能够正常运行并且达到程序所设计的预期结果. 测试用例的模板包括和包含的内容 测试用例模版: 标识符:由测试设计过程说明和测试程序说明 ...

  6. 3.4 黑盒测试用例的设计方法 之 等价类划分与边界值分析

    3.4 黑盒测试用例的设计方法 具体的黑盒测试用例设计方法包括等价类划分法.边界值分析法.场景法.错误推测法.因果图法.判定表驱动法.正交试验设计法.功能图法等. 这些方法是比较实用的,但采用什么方法 ...

  7. (转)测试用例的设计方法(全)之三 判定表、正交实验

    测试用例的设计方法(全)之三 (5)判定表驱动分析方法 一.    方法简介 1.定义:判定表是分析和表达多逻辑条件下执行不同操作的情况的工具. 2.判定表的优点 能够将复杂的问题按照各种可能的情况全 ...

  8. 测试用例的设计方法(全)

                                                 测试用例的设计方法(全) 等价类划分方法: 一.方法简介 1.定义   是把所有可能的输入数据,即程序的输入域 ...

  9. 测试用例的设计方法及案例

    测试用例的设计方法 一.软件测试的生命周期(软件测试的流程是什么?) 二.如何描述一个BUG? 三.测试用例的设计方法 3.1等价类 3.2边界值法 3.3因果图法 3.4场景设计法 3.5正交排列法 ...

最新文章

  1. videoview全屏播放
  2. 前端学习(2510):文件目录
  3. crontab 执行时间与系统时间不一致问题解决
  4. npm install Saving to file: /root/.jenkins/workspace/ems-web/node_modules/chromedriver/2
  5. HDU2203 亲和串【字符串】
  6. python爬虫作业帮_【Python爬虫】01作业
  7. 【语音去噪】基于matlab谱减法语音去噪【含Matlab源码 571期】
  8. 自助友情链接交换网站php源码,友情链接交换系统
  9. mysql安装教程【安装版】
  10. 计算机 网络发现不了电脑,win10网络发现已关闭网络计算机和设备不可见怎么办?...
  11. pcntl php windows_PHP各版本安装pcntl扩展
  12. wps文档怎样去除广告
  13. 360如何清理注册表
  14. Windows——如何关闭笔记本自带键盘
  15. 重写equals方法一定要重写hashcode方法吗
  16. TCP吞吐性能优化的吐槽与拯救
  17. matlab图注的上标和下标,关于matlab中特殊字符, 上标和下标
  18. Hbase学习笔记(概念和搭建)
  19. linux电脑自启动,caddyserver在linux系统下设置开机启动
  20. H3C交换机的命名规则

热门文章

  1. Python调试之pdb
  2. C语言编程求某人岁数
  3. Oracle12C安装
  4. 站长文库:新手站长做优化不能忽略的几点
  5. 【docker详解07】-端口映射
  6. 真正的自由,是千帆过尽后的豁然开朗
  7. python ——静态变量
  8. NOIP2014普及组复赛T3——螺旋矩阵
  9. Spring Boot 整合Druid监控
  10. 2008系统开ftp服务器配置,win2008 r2开启ftp服务器配置