软件测试-因果图与判定表「建议收藏」

软件测试-因果图与判定表「建议收藏」因果图简介等价类划分法和边界值法都是着重考虑到了输入条件,但是没有考虑到输入条件的组合与输入条件的相互制约关系。这样有可能忽视了很多错误如果测试时考虑到了各种组合,测试所有组合将是一个天文数字,因此需要考虑采用一种适用与多种条件组合相应产生多种动作的形式来进行测试用例的设计,这就需要因果图(逻辑模型)因果图思想一些程序的功能可以用判定表的形式来表示,根据输入条件的组合情况来规定相应的操作…

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

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

因果图简介

等价类划分法和边界值法都是着重考虑到了输入条件,但是没有考虑到输入条件的组合与输入条件的相互制约关系。这样有可能忽视了很多错误
如果测试时考虑到了各种组合,测试所有组合将是一个天文数字,因此需要考虑采用一种适用与多种条件组合相应产生多种动作的形式来进行测试用例的设计,这就需要因果图(逻辑模型)

因果图思想

一些程序的功能可以用判定表的形式来表示,根据输入条件的组合情况来规定相应的操作

因果图设计测试用例的步骤

1 根据程序规格说明书,分析因和果,画出因果图
2 将得到的因果图转换为判定表
3 为判定表的每一列表示的情况设计一个测试用例

因果图的常用符号

与计算机中的与或非相识:
在这里插入图片描述
图片来源网络!

对于输入条件的约束有以下四类:

E约束(Exclusive,异或):ab不能同时为1,可以同时为0;
I约束(Inclusive,或):abc至少一个为1,不能同时为0;
O约束(Only,唯一):ab有且只有一个为1;
R约束(Require,要求):a是1时,b必须是1;

对输出条件只有一种约束:

M约束(Mask,强制):若a是1,b必须是0;

举个栗子

以下是网上找到很常见的例子
饮料售货机:有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“可乐”、“雪碧”、或“红茶”按钮,相应的饮料就送出来。若投入的是2元硬币,在送出饮料的同时退还5角硬币。

分析输入输出
输入:

编号 输入
c1 投入1.5硬币
c2 投入2硬币
c3 按下“可乐” 按钮
c4 按下“雪碧” 按钮
c5 按下“红茶” 按钮

输出:

编号 输出
EF1 退换0.5
EF2 送出可乐
EF3 送出雪碧
EF4 送出红茶

分析输入之间的关系

1)C1与C2为异或关系

2)C3、C4、C5因投入硬币最多为2元 所以分析为异或关系

3)C1(C2)与C3(C4、C5)为且的关系

4)EF2、EF3、EF4为异或关系

5)EF1与EF2(3、4)没关系

分析什么原因导致结果

1)EF1:C2与C3(4、5)导致EF1

2)EF2(3、4):C1(2)与C3(4、5)导致EF2(3,4)
因果图
在这里插入图片描述
图片来自网络
写出判定表
在这里插入图片描述
图片还是来自网络

最后根据判定表设计测试用例

判定表介绍

什么叫判定表法?
就是指把所有的输入条件、所有可能采取的动作按表格列出来,每一种条件和动作的组合构成一条规则,也即一条用例。

规则
条件桩(列出所有的输入条件,顺序不重要) 条件项(列出各个条件所有可能的取值)
动作桩(列出问题规定的所有可能采取的动作,顺序不重要) 动作项(列出所有可能采取的动作)

这里条件桩和动作桩组成表格的行,条件项和动作项组成表格的列,这样组合成的表格即是依据判定表法得出的一张原始用例集合。

判定表编写步骤
1 确定规则的个数
2 列出所有的条件桩和动作桩
3 填入条件项
4 填入动作项,得到初始判定表
5 简化 判定表,合并相似规则 (相同动作)

下面这个栗子来源百度文库:
在这里插入图片描述
简化
在这里插入图片描述
很直观的栗子

注:因果图只是设计判定表的工具,不一定要费时间设计因果图。

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • DELPHI XE5安装

    DELPHI XE5安装1.安装XE52.HNFJ-DPADCW-BDWCFU-FPNNQDF4-CTSDHV-RDFCFE-FEANHNFK-BCN8NN-78N53D-H4RS激活成功教程补丁使用方法:(1).复制压缩包内的“R

    2022年7月1日
    25
  • 自动化运维平台搭建(一)「建议收藏」

    自动化运维平台搭建(一)「建议收藏」自动化运维平台搭建(一)。喜欢的就赞我吧,这样我才有动力继续分享额,带你建立一个强大的自动运维平台

    2022年5月16日
    48
  • Ant安装与下载

    Ant安装与下载1.下载网址:http://ant.apache.org/bindownload.cgi2.将下载后的zip解压,存到指定目录下3.配置环境变量;在系统变量→path中添加当存放的路径到(一直到bin)4.验证是否安装成功,通过cmd命令窗口,执行命令:ant-v步骤1和2步骤3步骤4…

    2022年7月24日
    7
  • Hystrix:服务熔断

    Hystrix:服务熔断文章目录服务雪崩服务雪崩​多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其他的微服务,这就是所谓的“扇出”,如果扇出的链路上某个微服务的调用响应时间过长,或者不可用,对微服务A的调用就会占用越来越多的系统资源,进而引起系统崩溃,所谓的“雪崩效应”。​对于高流量的应用来说,单一的后端依赖可能会导致所有服务器上的所有资源都在几十秒内饱和。比失败更糟糕的是,这些应用程序还可能导致服务之间的延迟增加,备份队列,线程和其他系统资源紧张,导致整个系统发生更多的级联故障,

    2022年10月21日
    3
  • 独立站源码(高性能模式怎么开)

    第七条规则:避免CSS表达式的应用。个人对CSS表达式缺少应用,所以没有直接体会,但是大概的意思就是使用CSS表达式进行页面样式进行修改时,可能会造成表达式的多次重复性运行,导致执行效率的降低。例如,使用CSS表达式调用javascript函数对DOM进行动态操作。第八条规则:使用外部Javascript和CSS。使用内联的Javascript和CSS文件确实可以提高文件的加载速度,应用减少了

    2022年4月15日
    63
  • JS ajax 例子「建议收藏」

    JS ajax 例子「建议收藏」用js,jQuery编写ajax的样式,三种写法,例子://用js原生写法functionsendGet(url){xhr.onreadystatechange=function(){ if(xhr.readyState==4&&xhr.status==200){ //获取服务器响应 document…

    2022年7月13日
    17

发表回复

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

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