因果图和判定表_因果判定法

因果图和判定表_因果判定法 上一篇文章中介绍了等价类和边界值,接下来我们就来学习一下因果图和判定表,这两种方法在软件测试中是非常重要的工具,这两个东西理论也是很绕口,特别是因果图,砖家给的方法我看起来也很困,所以我们就不要按照砖家的思路来。定义因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。 特点:a考虑输入条件的相互制约及组合关系b考虑输出条件对输…

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

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

 

上一篇文章中介绍了等价类和边界值,接下来我们就来学习一下因果图和判定表,这两种方法在软件测试中是非常重要的工具,这两个东西理论也是很绕口,特别是因果图,砖家给的方法我看起来也很困,所以我们就不要按照砖家的思路来。

  1. 定义因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。
  2. 特点:a考虑输入条件的相互制约及组合关系b考虑输出条件对输入条件的依赖关系
  3. 因果图法产生的背景:

a等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。

b如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计,这就需要利用因果图(逻辑模型)。

  1. 因果图的核心

因果图法比较适合输入条件比较多的情况,测试所有的输入条件的排列组合。所谓的原因就是输入,所谓的结果就是输出。

因果图的“因”——输入条件

因果图的“果”——输出结果

因果图法要注意考虑:

    所有输入/输出条件的相互制约关系以及组合关系

    输出结果对输入条件的依赖关系,也就是什么样的输入组合会产生怎样的输出结果,即“因果关系”

  1. 因果图中的基本符号:通常在因果图中用Ci表示原因,用Ei表示结果,各结点表示状态,可取值“0”或“1”。“0”表示某状态不出现,“1”表示某状态出现。
  2. 四种关系:

因果图和判定表_因果判定法

因果图和判定表_因果判定法

因果图和判定表_因果判定法

  1. 因果图法基本步骤:
  •  找出所有的原因,原因即输入条件或输入条件的等价类。
  •  找出所有的结果,结果即输出条件。
  • 明确所有输入条件之间的制约关系以及组合关系。
  • 明确所有输出条件之间的制约关系以及组合关系。
  • 找出什么样的输入条件组合会产生哪种输出结果
  • 把因果图转换成判定表/决策表
  • 为判定表/决策表中的每一列表示的情况设计测试用例

例题:交通一卡通自动充值软件系统需求

要求:

    • 系统只接收50或100元纸币,一次只能使用一张纸币,一次充值金额只能为50元或100元。
    • 若输入50元纸币,并选择充值50元,完成充值后退卡,提示充值成功;
    • 若输入50元纸币,并选择充值100元,提示错误,并退回50元;
    • 若输入100元纸币,并选择充值50元,完成充值后退卡,提示充值成功,找零50元;
    • 若输入100元纸币,并选择充值100元,完成充值后退卡,提示充值成功;
    • 若输入纸币后在规定时间内不选择充值按钮,找零,并提示错误;
    • 若选择充值按钮后不输入纸币,提示错误

 

因果图和判定表_因果判定法

步骤:

1、找到所有输入条件编号

2、找到所有输出条件编号

3、找出所有输入、输出的制约关系

因果图和判定表_因果判定法

接下来我们就可以绘制出一张判定表:

因果图和判定表_因果判定法

我们再来做一道例题加深印象:

  • 怎样称为一个好学生?遵纪守法的前提下,学习成绩好是一个好学生、品德高尚也是一个好学生;(只要违法乱纪就绝对不是一个好学生;成绩和品德有一项,再加遵纪守法也是好学生)
  • 守法、学习成绩、品德    =è 好学生 坏学生

因果图和判定表_因果判定法

总结:

  1. 我们利用因果图中的因果关系可以做出一张判定表
  2. 判定表实际上也是一个测试用例
  3. 判定表中有条件桩和动作桩
  4. 条件桩中有条件项(即例题二中的:守法、学习成绩、品德),动作桩中有动作项(好学生、坏学生)

    

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

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


相关推荐

  • 从源码的角度分析mybatis的核心流程(中)

    从源码的角度分析mybatis的核心流程(中)

    2021年8月3日
    67
  • Jsplumb基础教程(vue+jsplumb+d3)

    Jsplumb基础教程(vue+jsplumb+d3)目前 github 社区存在几款可用于设计流程图的绘图框架 go js http www gojs net latest index html go js 提供一整套的 JS 工具 支持各种交互式图表的创建 目前 go js 是闭源收费的 jsPlumb https jsplumbtoolk com jsPlumb 是一套开源的流程图创建工具 小巧精悍 使用简单 jsPlumb 有社区版跟收费版 我们可使用的是社区版 JointJS https www jointjs com

    2026年3月20日
    2
  • Nmap命令扫描详解

    Nmap命令扫描详解在网络技术中,端口(Port)包括逻辑端口和物理端口两种类型。物理端口指的是物理存在的端口,如ADSLModem、集线器、交换机、路由器上用于连接其他网络设备的接口,如RJ-45端口、SC端口等等。逻辑端口是指逻辑意义上用于区分服务的端口,如TCP/IP协议中的服务端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等。由于物理端口和逻辑端口数量较多,为

    2022年5月27日
    113
  • Python 读取txt、csv、mat数据并载入到数组

    一、txt文件数据载入到数组    这里结合上一篇博文的数据来讲怎么方便的载入.txt文件到一个数组,数据如下所示:1、自己写Python代码实现txt文本数据读取并载入成数组形式(PS:下面给了三种方法,选择理解)#-*-coding:cp936-*-importreimportlinecacheimportnumpyasnpimportosfilename=…

    2022年4月7日
    77
  • 声卡驱动模式分类及简介

    声卡驱动模式分类及简介

    2021年8月30日
    195

发表回复

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

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