因果图与判定表法_因果图如何转换为判断表

因果图与判定表法_因果图如何转换为判断表1、什么是因果图及判定表法?因果图是用图解的方法表示输入的各种组合关系,依据因果图写出判定表,从而设计相应的测试用例。它适合于检查程序输入条件的各种组合情况。例约束关系、组合关系。2、因果图之4种因果关系(注:0表示某状态不出现,1表示某状态出现)恒等:若c1是1,则e1也为1;否则e1为0非:若c1是1,则e1也为0;否则e1为1或:若…

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

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

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

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

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

点击链接领取

因果图与判定表法_因果图如何转换为判断表

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

 

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

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

(0)
上一篇 2022年8月14日 上午7:46
下一篇 2022年8月14日 上午7:46


相关推荐

  • java 负数 位移运算_Java中的位移运算

    java 负数 位移运算_Java中的位移运算在 Java 中 位移运算属于基本运算 符号是 lt gt 即向左位移和向右位移 在 Java 中只有整数才能位移 所以其他的不考虑 位移运算是将整数在内存中表示的二进制进行位移 所以在 Java 中分为正数和负数的位移 对于正数来说 向左位移 即 lt gt 相当于除以 2 注意是整数除以整数 例如 5 gt gt 1 即 5 2 2 下面举例说明 5 lt lt 1 我们以 int 为例 数字 5in

    2026年3月17日
    2
  • mysql的驱动jar包_各版本MySQL数据库驱动程序jar包大全(java连接mysql驱动jar包)

    mysql的驱动jar包_各版本MySQL数据库驱动程序jar包大全(java连接mysql驱动jar包)java连接mysql数据库,数据库程序开发步骤首先就要加载JDBC驱动程序,不同版本的mysql数据库需要的MySQL数据库驱动程序jar包版本也不同。不少同学问怎么下载java连接mysql的驱动jar包?今天给大家分享:各版本MySQL数据库驱动程序jar包大全(java连接mysql驱动jar包)项目中如何加载MySQL数据库驱动程序jar包如:mysql-connector-java-8…

    2022年5月22日
    190
  • C语言之随机数函数( rand() )的使用方法

    C语言之随机数函数( rand() )的使用方法文章出自个人博客 https knightyun github io 2018 04 25 c rand number 转载请申明 在程序设计中 难免会使用到随机值函数 其原理与语法大多类似 接下来以 C 语言为例介绍其随机值函数 rand 用法 原理引用百度百科 首先 需要包含头文件 include stdlib h rand 函数是按指定的顺序 stdlib h

    2026年3月20日
    2
  • YUV简介

    YUV简介介绍YUV的相关概念。YUV444YUV422YUV420。YUV与RGB。

    2022年7月16日
    20
  • PyCharm许可证过期解决方案

    PyCharm许可证过期解决方案PyCharm许可证过期解决方案1.选择enterlicense2.选择licenseserver3.输入http://idea.imsxm.com4.点击ok

    2022年8月26日
    17
  • kong网关教程_putty登录路由器

    kong网关教程_putty登录路由器kong安装kong介绍kong安装kong支持在多个环境下安装,这里就列出在ubuntu和docker下怎么安装,其他的安装的方式请参照官方指南ubuntuubuntu下安装kong离线安装下载对应版本的离线包安装依赖组件apt-getinstallopenssllibpcre3procpsperl安装kongdpkg-ikong-1.4.2.*.d…

    2025年9月6日
    8

发表回复

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

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