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

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


相关推荐

  • zabbix5.0安装及配置

    zabbix5.0安装及配置

    2021年5月29日
    145
  • 各种窗口最小化快捷键详解「建议收藏」

    各种窗口最小化快捷键详解「建议收藏」一、ALT+Esc可以使当前窗口最小化。二、Win+D最小化所有窗口,再按一下就可以还原窗口。三、Windows+M最小化所有窗口。四、Windows+Shift+M还原最小化的窗口。五、A

    2022年8月4日
    4
  • Vue生命周期(11个钩子函数)「建议收藏」

    Vue生命周期生命周期初识生命周期详解(八个钩子函数)生命周期生命周期:Vue是一个构造函数,当执行执行这个函数时,相当于初始化vue实例;在创建实例过程中,需要设置数据监听,编译模板,将实例挂载到DOM上,数据更新能够让DOM也更新,在这个初始化,又会不同阶段默认调用一些函数执行,这些函数就是生命周期的钩子函数;生命周期钩子函数生命周期钩子函数,让够让咱们…

    2022年4月6日
    145
  • 初级程序员面试题总结(一):

    本人将这几天面试的题目总结一些,如果出现错误请指正,谢谢。1,谈一谈spring。答:spring是为java程序开发提供的综合性的基础java开发平台,它提供了从表现层SpringMVC到业务层Spring再到持久层springData的一套完整的解决方案。spring的核心有两大块,第一块是AOP,面向切面编程,它将程序与业务分离,集中来解决一些公共问题。第二块是IOC,控制反转,由容…

    2022年4月8日
    56
  • python count()函数

    python count()函数Python元组count()方法用于统计某个元素在元祖,列表,字符串中出现的次数。可选参数为在字符串搜索的开始与结束位置。参数sub–搜索的子字符串start–字符串开始搜索

    2022年7月5日
    19
  • win10多合一原版系统_win10多合一原版系统[通俗易懂]

    win10多合一原版系统_win10多合一原版系统[通俗易懂]win10多合一原版系统装机系统拥有着大多数同类型定位的装机系统所没有的强大稳定性可以确保系统在运行的过程中绝对不会因为一些小毛病而出现崩溃的现象,对win10多合一原版系统装机系统感兴趣的朋友们快下载吧。win10多合一原版系统介绍:1、在不影响大多数软件和硬件操作的情况下,尽可能关闭不必要的服务。2、电脑兼容通用驱动助手,可以智能判断硬件类型并安装最兼容的驱动。3、综合2000-2020年流行…

    2022年6月16日
    85

发表回复

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

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