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

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


相关推荐

  • linux系统退出vim

    linux系统退出vim在linux家族中,vim编辑器是系统自带的文本编辑器,其功能强大自不必说了。进入VI编辑器后,无法退出以致强抽关机,确是不得以呀。进入VIM编辑器1 VIM编辑器,可以新建文件也可以修改文件,命令为:vim /usr/local/con.cfg如图!2 如果这个文件,以前是没有的,则为新建,则下方有提示为新文件,如图。如果文件已存在,则没有提示。3 进入编辑器后,我们先按"I”,即切换到“插入…

    2022年5月15日
    76
  • 12.推荐几款好用的搜索引擎「建议收藏」

    12.推荐几款好用的搜索引擎「建议收藏」1.多吉搜索https://www.dogedoge.com/多吉搜索是我接触的第一款无广告,无跟踪的搜索引擎,网上有它和谷歌搜索的对比,个人认为非常好用,但是最近好像用不了,总显示502badgateway,估计是被人攻击了。。。2.goobehttps://goobe.io/专为程序员设计的搜索引擎(搜索非技术相关的东西也很6),界面是这样事儿的而且可以通过快照访问stackoverflow和github,非常好用无广告,不跟踪3.萌搜http..

    2022年5月23日
    69
  • asm 盘头损失,破坏

    asm 盘头损失,破坏

    2022年1月4日
    44
  • finalize方法的使用[通俗易懂]

    finalize方法的使用[通俗易懂]《JAVA编程思想》:Java提供finalize()方法,垃圾回收器准备释放内存的时候,会先调用finalize()。         (1).对象不一定会被回收。      (2).垃圾回收不是析构函数。      (3).垃圾回收只与内存有关。      (4).垃圾回收和finalize()都是靠不住的,只要JVM还没有快到耗尽内存的地步,它是不会浪费时间进行垃圾回收的。有时当撤消…

    2022年9月19日
    5
  • 外企入职第一封英文邮件_投外企要英文简历吗

    外企入职第一封英文邮件_投外企要英文简历吗   一份出色的Resume,是向外企求职的关键之一。不了解有关的常识和程式,不花费相当的心思来展示,以有纯正娴熟的英文功底,决不能获得单位的青睐。在一大堆错误百出、英文表达能力低劣或平庸,毫无针对性和创造性的Resume中,你的那份若能让人眼睛一亮,成功的机会必将大大增加,以下试着结合一个具体的例子给出说明和评述。   BalanceSheet:  基本方法选取适当的工作后,必须看清

    2022年10月20日
    2
  • Stack overflow at line 解决办法(重复引入JS导致)

    Stack overflow at line 解决办法(重复引入JS导致)这几天碰到了个莫名其妙的问题,我在一个TR的onDblClick事件里写了一个window.open(XXX);可是每当我双击这一行的时候总是给我报Stackoverflowatline7这个错误,在网上找了很多方法都不行,后来查看源文件发现我把一个外部JS引入了2次,我本身的jsp引入的一次,我每个jsp都会去引入一个公共的jsp,在公共jsp里面我又引入了一次。后来我把本身的jsp引入

    2022年7月15日
    13

发表回复

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

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