因果图分析法[通俗易懂]

因果图分析法[通俗易懂]目录一、因果图法1.理解二、因果图需要掌握的基本知识1.关系2.约束3.输出条件的约束4.输出条件的约束5.原因和结果表示6.中间节点三、因果图设计测试用例的步骤四、优缺点1.优点2.缺点五、实例1.案例2.分析案例六、为什么要有中间节点1.无中间节点因果图2.有中间节点因果图一、因果图法1.理解因果图是一种简化了的逻辑图,能直观的表明程序输入条件(原因)和输出动作(结果)之间的相互关系; 因果图法是借助图形来设计测试

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

目录

一、因果图法

1.理解

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

1.关系

2.约束

3.输出条件的约束

4.输出条件的约束

5.原因和结果表示

6.中间节点

三、因果图设计测试用例的步骤

四、优缺点

1.优点

2.缺点

五、实例

1.案例

2.分析案例

六、为什么要有中间节点

1.无中间节点因果图

2.有中间节点因果图


一、因果图法

1.理解

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

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

1.关系

  • 恒等

如果原因为真,那么结果必为真。

只有当两个原因都为真的时候结果才为真。

两个原因中,有一个为真,那么结果就为真。

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

因果图分析法[通俗易懂]

 

2.约束

  • 输入状态相互之间还可能存在某些依赖关系,称为约束;例如某些输入条件本身不可能同时出现;
  • 输出状态之间也往往存在约束;
  • 在因果图中,用特定的符号表明这些约束。

因果图分析法[通俗易懂]

3.输出条件的约束

有以下4类

  • E约束(异):a和b中,至多 有一个可能为1,即a和b不能同时为1。
  • I约束(或):a、b、c中至少有一个必须是1,即a、b、c不能同时为0。
  • O约束(唯一):a和b必须有一个,且仅有一个为1。
  • R约束(要求):a是1时,b必须是1,既不能a是1时b是0。

4.输出条件的约束

  • M约束(强制):若结果a是1,则结果b强制为0.

5.原因和结果表示

  • Ci:表示原因
  • Ei:表示结果

6.中间节点

  • 一般都是根据分析需求得到的一个中间结果

三、因果图设计测试用例的步骤

  1. 分析所有可能的输入和可能的输出;
  2. 找出输入与输出之间的关系;
  3. 画出因果图;
  4. 把因果图转化为判定表;
  5. 把判定表对应到每一个测试用例。

四、优缺点

1.优点

  • 考虑到了输入情况的各种组合以及各个输入情况之间的相互制约关系;
  • 能够帮助测试人员按照一定的步骤,高效率的写测试用例;
  • 因果图法是将自然语言规格,转换成形式语言规格说明的一种严格的方法,可以指出规格说明存在的不完整性和二义性。

2.缺点

  • 不同分析者对风险因素重要性的认识不同,会影响因果图分析的结论。

五、实例

1.案例

  • 淘宝在双十一推出打折优惠活动,订单已提交,订单金额大于300或有红包,则优惠。

2.分析案例

(1)对于这条业务规则,分析所有可能的输入和可能的输出,可以得到如下结果

输入(原因):

c1:订单已提交;

c2:订单金额大于300;

c3:有红包。

输出(结果):

e1:不优惠;

e2:优惠。

c:中间节点

(2)然后找出输入与输出之间的关系,通过分析得出以下对应关系

因果图分析法[通俗易懂]

c(中间节点)含义:订单已提交的情况下,有红包和订单金额大于300元满足任意一个的情况。

(3)画因果图

因果图分析法[通俗易懂]

(4)画判定表

因果图分析法[通俗易懂]

说明:0:否;1:是。

(5)把判定表中的每一列转换为测试用例

六、为什么要有中间节点

1.无中间节点因果图

因果图分析法[通俗易懂]

 

2.有中间节点因果图

清晰明了,而且更好转换为判定表。中间节点的含义根据分析需求得到。

因果图分析法[通俗易懂]

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/170400.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Linux 网卡特性配置 ethtool 详解 网卡Offload

    Linux 网卡特性配置 ethtool 详解 网卡Offload网络中校验和比较 2015 年 10 月 14 日本文说明了网卡 IP 层 TCP 层 UDP 层的校验和功能 以及异同点 网卡校验和高级的网卡 e1000e 等千 M 网卡 的接收 发送的校验和的计算方法是 CRC32 Refs http www wireshark org docs wsug html chunked ChAdvChecksu htmlhttp www in

    2025年8月15日
    4
  • 支付逻辑漏洞

    支付逻辑漏洞警告请勿使用本文提到的内容违反法律。本文不提供任何担保一、漏洞分类(一)支付过程中可直接修改数据包中的支付金额这种漏洞应该是支付漏洞中最常见的,主要针对支付宝等需要第三方支付的案例。开发人员往往会为了方便,直接在支付的关键步骤数据包中直接传递需要支付的金额。而这种金额后端没有做校验,传递过程中也没有做签名,导致可以随意篡改金额提交。只需要在支付过程中用抓包工具抓包发现有金额的参数修改成任意即可。(二)没有对购买数量进行限制这种漏洞应该是支…

    2022年6月12日
    35
  • 经典算法—冒泡排序

    经典算法—冒泡排序原文链接:冒泡排序—经典排序算法|逍遥游冒泡排序(BubbleSort)以其“在排序过程中相邻元素不断交换,一些元素慢慢被换到最后,看起来就像是元素在冒泡一样”而得名,是一种简单的基于关键词比较的排序算法。算法原理冒泡排序的原理(以递增序为例)是每次从头开始依次比较相邻的两个元素,如果后面一个元素比前一个要大,说明顺序不对,则将它们交换,本次循环完毕之后再次从…

    2022年6月14日
    35
  • java 23中设计模式认识及自我理解

    java 23中设计模式认识及自我理解java 23中设计模式认识及自我理解

    2022年4月24日
    45
  • 图像分割的原则_常用的图像分割方法

    图像分割的原则_常用的图像分割方法在对处理后的图像数据进行分析之前,图像分割是最重要的步骤之一。它的主要目标是将图像化分为与其中含有的真实世界的物体或区域有枪相关性的组成部分。根据目标可将图像分割分为:1.完全分割——结果是

    2022年8月1日
    3
  • 简易网页音乐播放器

    简易网页音乐播放器简易网页音乐播放器开发工具与关键技术:DW2021jQueryHTML5撰写时间:2021年5月28日简介与要点:在网页上制作一个音乐播放器我们仅需用到一个新的标签<audiosrc=”素材音乐”controls></audio>;因为我们这个音乐播放不是单曲循环的使用还要…

    2022年6月25日
    32

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号