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

因果图分析法[通俗易懂]目录一、因果图法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.有中间节点因果图

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

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

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(2)
blank

相关推荐

  • javascript数组去重set方法_js数组去重api

    javascript数组去重set方法_js数组去重apiJavaScript数组去重

  • 关于如何访问当前页面所在的iframe属性[通俗易懂]

    今天碰到个问题,在当前页面访问包含他的iframe标签中的属性。用如下方法:window.frameElement如果要id就在后边加上.id 用什么加什么。其实很简单。就是知识面太少。

  • 深度相机之TOF原理详解

    深度相机之TOF原理详解3D建模是VR领域的重要技术基础,而随着深度相机消费级别的普及,对3D建模在硬件支持方面迈出了很关键的一步,本文分享了TOF深度相机的原理,应用的领域,能很好的给读者一个全局的把握

  • 突然想去旅游[通俗易懂]

    突然想去旅游[通俗易懂]  突然想去旅游,一个人,静静的,去到那些宁静的自然风光中去,置身其中,什么也不想! 

  • Werkzeug_wilczek

    Werkzeug_wilczekWerkzeug简介什么是Werkzeug官网的描述是WerkzeugisaWSGIutilitylibraryforPython.It’swidelyusedandBSDlicensed.– Zerkzeug什么又是WSGI呢?WSGI的全称是WebServerGatewayInterface,它是用来定义web服务器接口的一

  • jmeter线程组的属性_netty线程模型详解

    jmeter线程组的属性_netty线程模型详解情境:最近用winform做一个小程序,主要是用来执行一些sql语句,无奈数据量太大,执行一次要二十分钟左右,执行期间界面根本不能再进行其它操作,就连最小化窗口都不行,一动就跟死机差不多了.因此到网上搜了一下,找到.net后台线程的概念.(高手请绕道!)前台线程和后台线程之间的选择.NETFramework中的所有线程都被指定为前台线程或后台线程。这两种线程唯一的区别是—后台线程不会

    2022年10月11日

发表回复

您的电子邮箱地址不会被公开。

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