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

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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新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 简化 判定表,合并相似规则 (相同动作)

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

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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

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