软件测试|黑盒测试方法论-判定表

在因果图分析法中最后会得出一个判定表,可以看出因果图和判定表是有联系的,一般需要结合起来使用。

因果图是一种分析工具,通过分析最终得到判定表,再通过判定表编写测试用例。在一定情况下也可以直接书写判定表,省略因果图,进而编写测试用例。

判定表的组成

判定表是由条件桩、动作桩、条件项和动作项组成的。条件桩表示可能出现这个问题的所有条件,动作桩表示这个问题的所有输出结果,条件项为条件桩的取值,动作项为条件项的各个取值情况下的输出结果。

判定表设计步骤

设计判定表首先需要列出所有的条件桩和动作桩,确定规则数量,规则数由条件桩确定,规则数 = 条件取值数 ^ 条件数。

依次填入条件项和动作项得到初始判定表。初始判定表会包含冗余的内容,这些内容一般不适合设计测试用例,进一步的简化判定表,合并相似的规则或动作得到一个完整并且简洁的判定表便于最终设计用例。

实例

输入三个正整数a、b、c,分别作为三角形的三条边,判断三条边是否能构成三角形,如果能构成三角形,判断三角形的类型。

确定条件桩
C1:a,b,c 构成三角形?a<b+c、b<a+c、c<a+b C2:a = b?C3:a = c?C4:b = c?

确定动作桩
A1:非三角形;A2:不等边三角形;A3:等腰三角形;A4:等边三角形;A5:不可能。

填写表格,确定条件项和动作项
确定规则数
共有四个条件,每个条件的取值为 “ 是 ” 或 “ 否 ”,因此有 2 ^ 4 = 16 条规则。

设计判定表
1.填写初始判定表

C1:8 个 0,8 个 1;

C2:4 个 0,4 个 1,4 个 0,4 个 1;

C3:2 个 0,2 个 1,2 个 0,2 个 1,2 个 0,2 个 1,2 个 0,2个1;

C4:0,1,0,1,0,1,0,1,0,1…

2.简化判定表

构成三角形的条件如果不满足的话,结果都是非三角形,和下面三个条件无关,这种情况下可以对判定表进行简化。

设计测试用例
设计测试用例时不可能的情况可以排除,非三角形的情况需要考虑每个值取值的不同情况。得出最后的测试用例如下表所示:

通过实例大家是不是对判定表理解的更深入了呢,我们不仅仅要学会测试方法的理论,还需要灵活的运用到测试工作中哦~

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/123572.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用eXplorer本地搭建免费在线文件管理器并实现远程登录——“cpolar内网穿透”

文章目录 1. 前言2. eXtplorer网站搭建2.1 eXtplorer下载和安装2.2 eXtplorer网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1.Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 1. 前言 通过互联网传输文件&#xff0c;是互联网最重要的应用之一&#xff0c;无论是…

Docker 学习路线 13:部署容器

部署容器是使用Docker和容器化管理应用程序更高效、易于扩展和确保跨环境一致性性能的关键步骤。本主题将为您概述如何部署Docker容器以创建和运行应用程序。 概述 Docker容器是轻量级、可移植且自我包含的环境&#xff0c;可以运行应用程序及其依赖项。部署容器涉及启动、管…

设计模式之生产者/消费者模式

文章目录 1. 简介2. 代码实现 1. 简介 生产者消费者模式与保护性暂停模式的GuardObject不同&#xff0c;它不需要产生结果和消费结果的线程一一对应。它使用一个消息队列来平衡生产者和消费者的线程资源。其中生产者仅负责产生结果数据&#xff0c;不关心数据该如何处理&#…

【算法与数据结构】17、LeetCode电话号码的字母组合

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引&#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析&#xff1a;本题需要解决的问题有三个&#xff1a; 一、如何实现数字到字母的映射二、如何实现组合问题三、如何解…

基于OpenFOAM求解器二次开发

OpenFOAM&#xff08;Open Field Operation and Manipulation&#xff09;是一个开源的计算流体动力学&#xff08;CFD&#xff09;软件包。它提供了各种模拟和建模工具&#xff0c;用于研究和解决复杂的流体流动问题。 OpenFOAM提供了一个强大的求解器库&#xff0c;可以用于…

边缘计算多角色智能计量插座:用电监测和资产管理的未来智能化引擎

目前主流的智能插座涵盖了红外遥控&#xff08;控制空调和电视等带有红外标准的电器&#xff09;&#xff0c;配备着测温、测湿等仓库应用场景&#xff0c;配备了人体红外或者毫米波雷达作为联动控制&#xff0c;但是大家有没有思考一个问题&#xff0c;就是随着对接的深入&…

汽车标定技术(三)--XCP协议如何支持测量功能

目录 1. 概述 2. 测量方式 -- Poll 3. 测量方式 -- DAQ 3.1 ODT概念模型 3.2 DAQ List概念 3.3 ODT 绝对编号和相对编号 3.4 静态DAQ和动态DAQ模式 &#xff08;1&#xff09;静态DAQ &#xff08;2&#xff09;动态DAQ 4.小结 1. 概述 在该系列的首篇文章汽车标定技…

轻量封装WebGPU渲染系统示例<19>- 使用GPU Compute材质多pass实现元胞自动机之生命游戏(源码)

当前示例源码github地址: https://github.com/vilyLei/voxwebgpu/blob/feature/rendering/src/voxgpu/sample/GameOfLifeMultiMaterialPass.ts 系统特性: 1. 用户态与系统态隔离。 细节请见&#xff1a;引擎系统设计思路 - 用户态与系统态隔离-CSDN博客 2. 高频调用与低频调…

苍穹外卖-day06

苍穹外卖-day06 课程内容 HttpClient微信小程序开发微信登录导入商品浏览功能代码 功能实现&#xff1a;微信登录、商品浏览 微信登录效果图&#xff1a; 商品浏览效果图&#xff1a; 1. HttpClient 1.1 介绍 HttpClient 是Apache Jakarta Common 下的子项目&#xff0c;…

Busco-真核生物为主基因组质量评估

文章目录 简介Install必须参数谱系数据集输出结果自动谱系选择结果解读完整片段化缺失 自动选择&#xff1a;多domain和污染匹配注意BUSCO报告常用脚本真核Ref 简介 Busco评估基因组质量的核心原理在于通过计算基因组的通用单拷贝标记基因的比例来估计基因组的完整性。其中两个…

SOLIDWORKS 2024新产品发布会暨SOLIDWORKS 创新日活动-硕迪科技

“达索系统SOLIDWORKS 2024新产品发布会暨SOLIDWORKS创新日” 线下发布会即将登场&#xff01;硕迪科技与达索系统携手为您奉上一场“云享未来&#xff0c;智协未来”的创新年度盛会&#xff0c;欢迎莅临&#xff01; SOLIDWORKS 2024 以更加强大的姿态亮相&#xff0c;帮助您…

下载git步骤

文章目录 导文1.软件下载2.git安装3.测试git 导文 下载git的详细步骤 1.软件下载 可以自己去网上下载&#xff0c;根据自己电脑的系统类型是多少位的&#xff0c;去下载对应的安装包。 下载地址&#xff1a;Git - Downloads 根据自己的 操作系统进行选择&#xff0c;按需选择…

学习Nginx配置

1.下载地址 官网地址&#xff1a;NGINX - 免费试用、软件下载、产品定价 (nginx-cn.net) 我这边选择NGINX 开源版 nginx: download 2.nginx的基本配置 配置文件语法 配置文件组成&#xff1a;注释行&#xff0c;指令块配置项和一系列指令配置项组成。 单个指令组成&#x…

计算机丢失mfc100.dll如何恢复,详细解析mfc100.dll文件丢失解决方法

在计算机使用过程中&#xff0c;我们可能会遇到一些错误提示&#xff0c;比如“mfc100.dll丢失”。这是因为动态链接库&#xff08;DLL&#xff09;文件是Windows操作系统的重要组成部分&#xff0c;它们包含了许多程序运行所需的函数和数据。当这些DLL文件丢失或损坏时&#x…

可持久化01Trie

例题&#xff1a; 解释&#xff1a; 首先这里要求连续异或&#xff0c;所以存储前缀异或和数组。首先的话&#xff0c;我们只考虑前r个版本的Trie&#xff0c;所以以root[r]为根节点的Trie就是1到r位置数。但是&#xff0c;还有一个l左端点&#xff0c;所以我们对于每一个节点…

竞赛选题 深度学习机器视觉车道线识别与检测 -自动驾驶

文章目录 1 前言2 先上成果3 车道线4 问题抽象(建立模型)5 帧掩码(Frame Mask)6 车道检测的图像预处理7 图像阈值化8 霍夫线变换9 实现车道检测9.1 帧掩码创建9.2 图像预处理9.2.1 图像阈值化9.2.2 霍夫线变换 最后 1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分…

OpenCV 输出文本

PutText() 输出文本 OpenCV5 将支持中文字符的输出, 当前版本OpenCV4原生不支持, 可以使用Contrib包FreeType方式实现, 不过比较麻烦.为了省事, 也可以通过将Mat转成bitmap,然后使用GDI方式输出中文字符. 示例代码 /// <summary>/// OpenCV暂时不能支持中文字符输出,显示…

Python爬虫入门教程之快速理解HTTP协议

文章目录 前言一、HTTP协议是什么&#xff1f;二、HTTP 请求三、请求行四、请求首部五、请求体六、HTTP 响应七、响应行八、响应首部九、响应体总结关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①…

计算机基础知识49

三板斧的使用(views.py) 三个方法&#xff1a;HttpResponse: 返回的是字符串render : 返回html文件redirect : 返回加载HTML页面的 def html(request):print(from html)# return HttpResponse(request) # 它返回的是字符串return render(request,html.html) # 返回html# ret…

跟着森老师学React Hooks(1)——使用Vite构建React项目

Vite是一款构建工具&#xff0c;对ts有很好的支持&#xff0c;最近也是在前端越来越流行。 以往的React项目的初始化方式大多是通过脚手架create-react-app(本质是webpack)&#xff0c;其实比起Vite来构建&#xff0c;启动会慢一些。 所以这次跟着B站的一个教程&#xff0c;使用…