因果图与判定表法

2023-05-16

 1、 什么是因果图及判定表法?
   因果图是用图解的方法表示输入的各种组合关系,依据因果图写出判定表,从而设计相应的测试用例。
   它适合于检查程序输入条件的各种组合情况。例约束关系、组合关系。
 
2、 因果图之4种因果关系
   

   
(注:0表示某状态不出现,1表示某状态出现)
恒等:若c1是1,则e1也为1;否则e1为0
非:  若c1是1,则e1也为0;否则e1为1
或:  若c1或c2或c3是1,则e1为1;否则e1为0
与:  若c1和c2都是1,则e1为1;否则e1为0
 
3、 因果图之5种约束关系
   


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。
M约束(强制):若结果a为1,则结果b强制为0。
 
4、 因果图法/判定表法的基本步骤
1)分析软件规格说明书中哪些是原因,哪些是结果。原因是输入或输入条件的等价类,结果是输出条件。给每个原因和结果并赋予一个标识符。
2)画出因果图。分左右2竖列,分别列出原因、结果。用一些记号表明约束关系或因果关系。
3)把因果图转换成判定表。
4)将判定表的每一列作为依据,设计测试用例。
 
5、 因果图法/判定表法实例讲解
某软件规格说明书包含这样的要求:第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改,但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。
 
1)先列出原因(即输入条件或输入条件的等价类)和结果(输出条件):
   原因:
    1——第一列字符是A;
    2——第一列字符是B;
    3——第二列字符是一数字。
    结果:
    21——修改文件;
    22——给出信息L;
    23——给出信息M。
 
 2)画出因果图:
 
 
 3)判定表法:因果图方法最终生成的就是判定表。一般可以根据因果图画出判定表,判定表里只有0,1两个数字。若输入条件有n个,则用例考虑的情况有2n种。判断表如下:
 
 
 
表中8种情况的左面两列情况中,原因①和原因②同时为1,这是不可能出现的,故应排除这两种情况。得到所需测试用例(表的最下一栏给出了6种情况),这是我们所需要的数据。
 
 
  4)得到测试用例,并列出具体的用例测试数据    
      
 
 
补充知识点:
依据判定表得到的测试用例会很多条,那我们想一想,是否可以简化用例呢?如何简化呢?
简化依据:若表中输出结果存在相同,且其输入条件存在极相似关系,则可合并简化


举例,从最近大火的《人民的名义》,我们假设有这样的命题:


怎样称为一个好干部?不违背党原则下,有政绩是一个好干部、有爱心也是一个好干部;但是只要违背党的原则(贪财、贪权、贪色)就绝对不是一个好干部。
 
我们来分析输入条件,输出结果,并列出判定表,如下:
 
 
按照简化依据,颜色相同是可以合并的项,如下:
 
 

简化后:

得到的测试用例:
1)有政绩、有爱心、不违反党的原则;好干部
2)有政绩、无爱心、不违反党的原则;好干部
3)无政绩、有爱心、不违反党的原则;好干部
4)不管有无政绩、有无爱心、违反党的原则;不是好干部
5)无政绩、无爱心、不违反党的原则;不是好干部
 
这样讲是不是容易理解得多?这是我们的土豆儿日夜追剧追出来的精髓,什么叫专业的测试大佬?就是不管你在吃饭还是在煲剧,你都可以从生活中的点滴中找出测试点来~!

喜欢对你有帮助的话记得加个关注不迷路哦

个人主页有领取方式,可以领取到一些个人收集的软件测试工具、面试题、资料包,无偿的,需要的私信小编“资料或许对你有帮助!

点击链接领取

感谢各位大大的阅读 软件测试全套基础/进阶/转行资料

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

因果图与判定表法 的相关文章

随机推荐

  • 视觉惯性里程计VIO综述

    参考 xff1a https blog csdn net xiaoxiaowenqiang article details 81192045 目前主流的VIO开源方案主要有以下几类 xff0c 按照相机与IMU的耦合方式可分为松耦合和紧耦合
  • 常用地图结构和基础知识

    1 Occupancy grid map 占用栅格图 最稠密 每隔一个距离就要进行切分 xff08 当每个格子切的比较小也就是分辨率比较大的时候 xff0c 内存非常大 xff09 结构化坐标索引查询 xff0c O 1 https git
  • 2022年度盘点:十大最佳开源SLAM算法

    激光雷达里程计 香港大学开源激光雷达惯性视觉里程计FAST LIVO 论文名 xff1a FAST LIVO Fast and Tightly coupled Sparse Direct LiDAR Inertial Visual Odom
  • STL标准模版库之算法(algorithm)

    STL xff08 Standard Template Library xff0c 标准模板库 是惠普实验室开发的一系列软件的统称 它是由Alexander Stepanov Meng Lee和David R Musser在惠普实验室工作时
  • 树苺派TF卡备份/还原镜像

    树苺派TF卡备份 还原镜像 TF卡备份TF卡还原 备份和还原树莓派TF卡镜像推荐在Linux下进行 TF卡备份 在Ubuntu下插入装有Raspbian的TF卡会直接挂载 xff0c 挂载后的盘在 dev下显示为 34 dev sdx 34
  • 通过dockerfile 创建镜像以及更新镜像

    制作Docker镜像 1 安装 Docker Docker 要求 CentOS 系统的内核版本高于 3 10 查看当前系统的版本 uname r 安装 Docker 软件包和依赖包 yum y install docker 安装完成 从远程
  • RT-Thread 线程同步及通信 -- 信号量、互斥量、事件、邮箱、消息队列

    目录 一 RT Thread 信号量 二 RT Thread 互斥量 三 RT Thread 事件标志组 四 RT Thread 邮箱 五 RT Thread 消息队列 一 RT Thread 信号量 1 信号量相关函数 创建信号量 64
  • Fiddler抓不到浏览器包的常见原因

    代理未设置成功 fiddler 之所以能抓包 xff0c 本质上是因为浏览器 App 软件设置了代理为 fiddler 一旦遇到抓不到包的情况 xff0c 首先应排查浏览器代理是否设置正确 以 Chrome 为例 xff0c 代理设置为 x
  • 经典 SQL 数据库笔试题及答案整理

    马上又是金三银四啦 xff0c 有蛮多小伙伴在跳槽找工作 xff0c 但对于年限稍短的软件测试工程师 xff0c 难免会需要进行笔试 xff0c 而在笔试中 xff0c 基本都会碰到一道关于数据库的大题 xff0c 今天这篇文章呢 xff0
  • 软件测试项目实战(web+app+h5+小程序)

    没有实战经验 xff0c 简历不好编写 xff0c 而且也不好就业 今天给大家分享一个非常适合练手的软件测试项目 xff0c 此项目涵盖web端 app端 h5端 小程序端 xff0c 可以说非常之全面 获取方式在文末 项目介绍 项目名 x
  • 基础软件照搬开源不可取,自力更生才是正途

    最近有关开源软件的话题始终牢牢占据着IT界的新闻头条 xff0c Log4j开源软件的惊天漏洞 Fake js的作者也惊天删库跑路了 xff0c CurL的作者怒怼苹果只会白嫖开源却不出力 xff0c Linux的祖师爷Linus也不知所云
  • ADB 命令知多少?详细 ADB 命令大全来啦

    一 ADB 简介 1 什么是 ADB ADB 全称为 Android Debug Bridge xff0c 起到调试桥的作用 xff0c 是一个客户端 服务器端程序 其中客户端是用来操作的电脑 xff0c 服务端是 Android 设备 A
  • 软测面试如何介绍项目?要做哪些技术准备?

    测试人员在找工作中 xff0c 基本都会碰到让介绍项目的这种面试题 xff0c 如何正确介绍自己的项目 xff1f 需要做哪些技术准备 xff1f 今天这篇文章 xff0c 围绕这些问题 xff0c 跟大家一起聊一聊 Q 关于介绍自己的项目
  • 看完即会,抓取微信小程序数据包教程

    在给学员答疑的时候 xff0c 有很多小伙伴问到能不能抓取到微信小程序数据呢 xff1f 答案当然是肯定的 xff0c 通过Fiddler或者Charles这些主流的抓包工具都可以抓得到 xff0c 在IOS平台抓取微信小程序和https请
  • 金三银四必备软件测试刷题神器,刷完还怕面试不过吗?

    小编热衷于收集整理资源 xff0c 记录踩坑到爬坑的过程 希望能把自己所学 xff0c 实际工作中使用的技术 学习方法 心得及踩过的一些坑 xff0c 记录下来 也希望想做软件测试的你一样 xff0c 通过我的分享可以少走一些弯路 xff0
  • 今天面了一个来阿里要求月薪23K,明显感觉他背了很多面试题...

    最近有朋友去阿里面试 xff0c 面试前后进行了20天左右 xff0c 包含4轮电话面试 1轮笔试 1轮主管视频面试 1轮hr视频面试 据他所说 xff0c 80 的人都会栽在第一轮面试 xff0c 要不是他面试前做足准备 xff0c 估计
  • 转行软件测试,亲身经历的面试题

    写的有点多 xff0c 耐心看完哦 xff5e 这些都是我每次面试完记录了 xff0c 一共面了五家公司的真实面试 43 2次旁听 43 1次电话面试 xff0c 有的写的不全 xff0c 仅作为参考 xff0c 题目有的是我提炼出来的面试
  • 从字节出来的测试总监,让我们用这份《测试用例规范》,再也没加班过

    经常看到无论是刚入职场的新人 xff0c 还是工作了一段时间的老人 xff0c 都会对编写测试用例感到困扰 xff1f 例如 xff1a 固然 xff0c 编写一份好的测试用例需要 xff1a 充分的需求分析能力 43 理论及经验加持 xf
  • 软件测试之边界值三点分析法

    一 定义 边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法 通常边界值分析法是作为对等价类划分法的补充 xff0c 这种情况下 xff0c 其测试用例来自等价类的边界 边界值分析法是对等价类划分法做补充的一种黑盒测试设计方法
  • 因果图与判定表法

    1 什么是因果图及判定表法 xff1f 因果图是用图解的方法表示输入的各种组合关系 xff0c 依据因果图写出判定表 xff0c 从而设计相应的测试用例 它适合于检查程序输入条件的各种组合情况 例约束关系 组合关系 2 因果图之4种因果关系