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

因果图与判定表法_因果图如何转换为判断表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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 登录mysql数据库的几种方式

    登录mysql数据库的几种方式登录mysql数据库的几种方式

    2022年7月17日
    12
  • oracle中number的用法,Oracle Number数字

    oracle中number的用法,Oracle Number数字oracle函数的OracleNumber数字在本教程中,您将学习OracleNUMBER数据类型以及如何使用它来为表定义数字列。OracleNUMBER数据类型简介OracleNUMBER数据类型用于存储可能为负值或正值的数值。以下说明了NUMBER数据类型的语法:NUMBER[(precision[,scale])]OracleNUMBER数据类型具有以下精度和尺度。精度是一…

    2022年7月24日
    9
  • 【OpenCV入门教程之十二】OpenCV边缘检测:Canny算子,Sobel算子,Laplace算子,Scharr滤波器合辑

    【OpenCV入门教程之十二】OpenCV边缘检测:Canny算子,Sobel算子,Laplace算子,Scharr滤波器合辑本篇文章中,我们将一起学习OpenCV中边缘检测的各种算子和滤波器——Canny算子,Sobel算子,Laplace算子以及Scharr滤波器。文章中包含了五个浅墨为大家准备的详细注释的博文配套源代码。在介绍四块知识点的时候分别一个,以及最后的综合示例中的一个。依然是是放出一些程序运行截图吧:效果图看完,我们来唠唠嗑。首先,需要说明的是,浅墨这篇文章最后的示例代码是采用两周前刚刚发布的2.4.9来书写的。里面的lib都已经改成了2.4.9版本的。如果大家需要运行的话,要么配置好2.4.9.要么把浅墨

    2022年5月30日
    32
  • MATLAB中导入数据:importdata函数

    MATLAB中导入数据:importdata函数

    2021年12月6日
    64
  • Java面试题

    Java面试题Java面试题

    2022年4月23日
    42
  • 【哈佛幸福课笔记】【1】

    【哈佛幸福课笔记】【1】【哈佛幸福课笔记】【1】​​ 一个月的时间看完了哈佛幸福课,正如Tal所说课程的结束才是学习的开始。对于课程观点的思考,对于个人习惯的培养,对于思维模式的转变还需要花大量的时间去练习。这个系列的帖子将作为我个人的读书笔记,也欢迎机缘巧合点开这个帖子的网友一起讨论。(第一章思维导图)​ 课程在讲述的时候有时候并不是线性完整的逻辑,一个观点有时尚没讲完会进入到新的观点中,这样课程显得不是那么的死板不是单纯的说教而是有趣的互动和对实验数据的分析。课程整体的结构十分清晰,可以说干货很多。1.关于内部

    2022年7月25日
    6

发表回复

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

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