测试用例设计方法:招式组合,因果判定出世

1 引言

上篇讲了等价类划分和边界值分析法,而这两种方法只考虑了单个的输入条件,并未考虑输入条件的各种组合、输入条件之间的相互制约关系的场景。基于此短板,因果图法和判定表法应运而生。

2 因果图法

2.1 概念及原理

2.1.1 定义

一种描述输入条件的组合以及每种组合对应的输出的图形化工具,它适合于检查程序输入条件的各种组合情况。

2.1.2 方法的原则

画因果图时,原因在左,结果在右,由上而下排列,并根据功能说明书中规定的原因和结果之间的关系,用下述基本符号连接起来,在因果图中还可以引入一些中间节点。

1.因果图的基本图形符

2.因果图中的约束条件

从原因方面考虑主要有4种约束条件:

  • E(互斥、排他):a、b两个原因不会同时出现,最多只有一个出现
  • I(包含、或):a、b、c三个原因至少有一个出现
  • O(唯一):a、b两个原因必须有一个出现,且仅有一个出现
  • R(需求):a出现时b必定出现

从结果方面考虑主要有1种约束条件:

  • M(屏蔽):a出现时,b必定不出现;a不出现时,b则不确定

2.2 方法步骤

  1. 找出所有的原因,原因即输入条件或输入条件的等价类;
  2. 找出所有的结果,结果即输出条件;
  3. 明确所有输入条件之间的制约关系以及组合关系;哪些条件不能组合到一起,哪些条件可以组合到一起
  4. 明确所有输出条件之间的制约关系以及组合关系;哪些输出结果不能同时输出,哪些输出结果可以同时输出
  5. 找出什么样的输入条件组合会产生哪种输出结果;
  6. 画出因果图;
  7. 把因果图转换成判定表/决策表;
  8. 为判定表中的每一列表示的情况设计测试用例(每一列都是一条测试用例)。

2.3 举个栗子

场景:基础坐席认责or申诉

1.先列出输入条件和输出条件

输入条件:

  • 1——认责or
  • 2——申诉
  • 3——个人责任
  • 4——组织责任
  • 5——三方责任
  • 6——责任人erp
  • 7-申诉原因
  • 8-描述

输出条件:

  • a——认责个人责任
  • b——认责组织责任
  • c——认责三方责任
  • d——申诉

2.画出因果图

3.将因果图转换为判定表,并将判定表的每一列拿出来就可作为一个测试用例

  • 选择“认责”、选择“个人责任”,填写:责任人erp、描述-》认责个人责任
  • 选择“认责”、选择“组织责任”,填写:描述-》认责组织责任
  • 选择“认责”、选择“三方责任”,填写:责任人erp、三方名称、描述-》认责三方责任
  • 选择“申诉”,填写:申诉原因、描述-》申诉

3 判定表法

3.1 概念及原理

3.1.1 定义

判定表是分析和表达多逻辑条件下执行不同操作的情况的工具,是指一个表格,用于显示条件和条件导致动作的集合。

3.1.2 方法的原则

主要包含五部分:

  • 条件桩:问题的所有条件
  • 条件项:所有条件的取值组合
  • 动作桩:所有可能的操作
  • 动作项:在每一种条件取值组合的情况下,执行动作桩中的哪些动作
  • 规则:一种条件取值组合与其对应的动作组合一种条件取值组合与其对应的动作组合(即判定表中贯穿条件项和动作项的一列)构成判定表的一个规则

3.2 方法步骤

  1. 列出所有的条件桩和动作桩(输入和输出);
  2. 填入条件项(输入项);
  3. 填入动作项,得到初始判定表;
  4. 简化判定表(合并相似规则(相同动作))。

3.3 举个栗子

场景:基础坐席认责or申诉

1.列判定表
2.对判定表进行简化
  • 选择“认责”、选择“个人责任”,填写:责任人erp、描述-》认责个人责任
  • 选择“认责”、选择“组织责任”,填写:描述-》认责组织责任
  • 选择“认责”、选择“三方责任”,填写:责任人erp、三方名称、描述-》认责三方责任
  • 选择“申诉”,填写:申诉原因、描述-》申诉

4 总结

但因果图和判定表法在变量值很多、排列组合数量极大的场景下,会生成非常庞大且冗余的测试用例,此时我们很难对所有组合场景进行全量测试用例覆盖,这个时候就是正交试验法大展神威的时候了,让我们一起来学习吧~

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

BLEU: a Method for Automatic Evaluation of Machine Translation

文章目录 BLEU: a Method for Automatic Evaluation of Machine Translation背景和意义技术原理考虑 n n n - gram中 n 1 n1 n1 的情况考虑 n n n - gram中 n > 1 n\gt 1 n>1 的情况考虑在文本中的评估初步实验评估和结论统一不同 n n n 值下的评估数值考虑句子长度…

一文了解L7812CV的引脚图介绍、参数解读

L7812CV简介 L7812CV是一款具有稳压功能的正向型线性稳压器,能够将输入电压稳定输出为12V的直流电压。它适用于各种需要12V电源的电子设备、电路和系统。 引脚图介绍 L7812CV有三个引脚,分别为输入引脚(输入电压Vin)、地引脚&…

什么是智慧公厕?智慧公厕跟传统公共厕所的区别

智慧公厕是近年来新兴起的一种公共设施,通过物联网技术的应用,实现了公厕的全面感知、全时监测、全方位精细化管理。与传统的公共厕所相比,智慧公厕在许多方面带来了翻天覆地的变化。本文以智慧公厕源头厂家广州中期科技有限公司,…

【2024.02.22】定时执行专家 V7.0 发布 - TimingExecutor V7.0 Release - 龙年春节重大更新版本

目录 ▉ 新版本 V7.0 下载地址 ▉ V7.0 新功能 ▼2024-02-21 V7.0 - 更新日志▼ ▉ V7.0 新UI设计 ▉ 新版本 V7.0 下载地址 BoomWorks软件的最新版本-CSDN博客文章浏览阅读10w次,点赞9次,收藏41次。▉定时执行专家—毫秒精度、专业级的定时任务执行…

【计算机网络】一些乱七八糟内容

MAC Media Access Control 用于在局域网(LAN)或广域网(WAN)中实现设备自动接入网络 "载波侦听多路访问"(Carrier Sense Multiple Access) CSMA/CD 是CSMA的升级版本,加入了序列号检测机制。 CSMA/CA 是CSM…

最优传输(Optimal Transport)

最优传输(Optimal Transport)是一种数学理论和计算方法,用于描述两个概率分布之间的距离或者对应关系。它的核心概念是如何以最佳方式将一组资源(如质量、能量等)从一个位置传输到另一个位置。 基本概念: …

金和OA UploadFileBlock接口任意文件上传漏洞

声明 本文仅用于技术交流,请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任 1. 产品简介 金和数字化智能办公平台(简称JC6)是…

Shopee平台玩具类目选品策略大揭秘

在Shopee平台上经营玩具类目,对于卖家来说,选品是至关重要的一环。只有通过精准的选品策略,才能在激烈的市场竞争中脱颖而出,提高产品的曝光度和销售业绩。以下是一些有效的选品策略,帮助卖家在Shopee平台上成功经营玩…

springboot210基于Springboot开发的精简博客系统的设计与实现

基于Springboot开发的精简博客系统的设计与实现 摘要 当下,正处于信息化的时代,许多行业顺应时代的变化,结合使用计算机技术向数字化、信息化建设迈进。以前企业对于博客信息的管理和控制,采用人工登记的方式保存相关数据&#…

北斗卫星技术引领智能穿戴:未来鞋履的革命

北斗卫星技术引领智能穿戴:未来鞋履的革命 在福建莆田市的苍然社区,70岁以上老人和特殊群体共400多人领到了社区免费发放的北斗定位鞋,该鞋内置北斗导航芯片,具有多种定位、足迹查询、超出范围主动报警等功能。老人穿上这双鞋&am…

[DP学习] 期望DP

一般思路 注:可以用方差求平方的期望 例题一 思路 重点:如何设状态,如何转移。 设状态 f[i] i 张能买到不同卡片的种类数的期望值(直接对问题设置状态) 状态转移:由于从f[i1]转移到 f[i] 时&#xff0…

Android相机调用-libusbCamera【外接摄像头】【USB摄像头】 【多摄像头预览】

有的自定义系统,对于自己外接的USB摄像头,android原生的camera和camera2都无法打开,CameraX也用不了。这时候就要用libusbCamera,这个库可以打开摄像头,还可以多摄像头同时预览。本文主要是同时打开3个USB摄像头的项目…

LabVIEW多场景微振动测试平台与教学应用

LabVIEW多场景微振动测试平台与教学应用 在多种工程实践中,微振动的测试与分析对于评估结构的稳定性及其对环境的影响至关重要。针对这一需求,开发了一套基于NI-cDAQ和LabVIEW的多场景微振动测试平台,提高微振动测试的精确度与灵活性&#x…

ArcgisForJS如何使用ArcGIS Server发布的切片地图服务?

文章目录 0.引言1.准备海量地理数据2.ArcGIS Server发布切片地图服务3.ArcgisForJS使用ArcGIS Server发布的切片地图服务 0.引言 ArcGIS Server是一个由Esri开发的地理信息系统(GIS)服务器软件,它提供了许多功能,包括发布切片地图…

Kotlin 进阶 学习 委托

1.接口委托 package com.jmj.jetpackcomposecompositionlocal.byStudy/*** 接口委托*/ interface HomeDao{fun getAllData():List<String> }interface ADao{fun getById(id:Int):String }class HomeDaoImpl:HomeDao{override fun getAllData(): List<String> {ret…

嵌入式学习笔记总结Day23----minshell项目总结

今天进行了linux系统高级编程io阶段学习的结尾&#xff0c;完成了一个minshell的小项目。 一、项目介绍 利用Linux中IO接口实现MiniShell&#xff0c;实现常用的shell指令的实现。 项目想要实现需要思考的地方有&#xff1a; 1.如何打印终端命令 2.如何接受终端命令 3.实现对…

windows前后端项目部署

装好windows虚拟机 1.远程连接 计算机右击属性&#xff0c;高级防火墙设置&#xff0c;远程连接服务允许 2.安装jdk,tomcat&#xff0c;解压工具 把安装包拖进去 双击安装解压软件 jdk安装 双击安装 配置环境变量&#xff08;复制jdk路径&#xff09; 计算机右击属性高级…

苹果分拣检测YOLOV8NANO

苹果分拣&#xff0c;可以检测成熟、切片、损坏、不成熟四种类型&#xff0c;YOLOV8NANO&#xff0c;训练得到PT模型&#xff0c;然后转换成ONNX&#xff0c;OPENCV的DNN调用&#xff0c;支持C,PYTHON 苹果分拣检测YOLOV8NANO&#xff0c;检测四种类型苹果

好用免费的项目管理工具

禅道 禅道 &#xff08; https://www.zentao.net/ &#xff09;是一款流行的项目管理和缺陷跟踪软件。它的主要功能包括项目管理、需求管理 、缺陷跟踪 、测试管理 、文档管理 、负载统计与报表 、自定义工作流 、访问控制与权限管理等。支持私有化部署&#xff0c;可完全控制…

代码随想录算法训练营第39天| Leetcode 62.不同路径、Leetcode 63. 不同路径 II

文章目录 Leetcode 62.不同路径Leetcode 63. 不同路径 II Leetcode 62.不同路径 题目链接&#xff1a;Leetcode 62.不同路径 题目描述&#xff1a; 一个机器人位于一个 m x n 网格的左上角 &#xff0c;机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角。问总…