肖sir__设计测试用例方法之状态迁移法05_(黑盒测试)

news2025/1/13 13:31:23

设计测试用例方法之状态迁移法

一、状态迁移图
定义:通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为

案例:
(1) 订机票案例1:
l向航空公司打电话预定机票—>此时机票信息处于“完成”状态
l顾客支付了机票费用后—>机票信息就变为“已支付”状态
l旅行当天到达机场后,拿到机票后—>机票信息就变为“已出票”状态
l登机检票后—>机票信息就变为“已使用”状态
l在登上飞机之前任何时间可以取消自己的订票信息,
如果已经支付了机票的费用,则还可以得到退款,取消后—>订票信息处于“已被取消”状态
(2)
状态迁移树
在这里插入图片描述
二、状态迁移图设计测试用例步骤:
1.画出状态迁移图
2.通过状态迁移图出状态转换树
3.从状态转换树推导出测试路径
4.根据测试路径编写合法(正常)测试用例或非法
(异常)测试用例
注意:保证从状态转换树的根节点到每个叶节点的每一条路径都至少设计出一个测试用例。

三、状态整理
电商:
(1·)待付款=待发货=待收货=交易完成==交易关闭
a、待付款、待收货、已完成、已取消、(京东)
在这里插入图片描述
保险项目状态:保障中、已退保、已失效、已完成
**加粗样式
**物流项目状态:待审核、已报价、已过期、已拒绝
在这里插入图片描述

============================================================================
案例:红、黄、蓝三种颜色,可以互相转换
分析: 红–》黄,红==》蓝,黄==》红 ,黄==》蓝,蓝==》红,蓝==》黄

1、画出状态迁移图
在这里插入图片描述
2、状态迁移图推出状态转换树
在这里插入图片描述
3、用例:
红—黄–红
红—黄–蓝
红—蓝–红
红–蓝–黄

==============================================
作业:
状态迁移图:
在这里插入图片描述
状态迁移树:
在这里插入图片描述
推到出测试用例:
就绪–打印-故障–修复–打印-就绪
就绪–打印—修复—缺纸–加纸—打印—就绪
就绪–打印–打印-就绪

补充用例:
在这里插入图片描述

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

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

相关文章

Elasticsearch实战(五):Springboot实现Elasticsearch电商平台日志埋点与搜索热词

文章目录 系列文章索引一、提取热度搜索1、热搜词分析流程图2、日志埋点(1)排除logback的默认集成。(2)引入log4j2起步依赖(3)设置配置文件(4)配置文件模板(5&#xff09…

使用高斯混合模型进行聚类

一、说明 高斯混合模型 (GMM) 是一种基于概率密度估计的聚类分析技术。它假设数据点是由具有不同均值和方差的多个高斯分布的混合生成的。它可以在某些结果中提供有效的聚类结果。 二、Kmean算法有效性 K 均值聚类算法在每个聚类的中心周围放置一个圆形边…

效果好的it监控系统特点

一个好的IT监控系统应该具备以下特点:  全面性:IT监控系统应该能够监视和管理IT系统的所有方面,包括网络、服务器、应用程序和数据库等。这样可以确保系统的各个方面都得到充分的监视和管理。  可靠性:IT监控系统需要保持高可…

docker 跨平台构建镜像

我们在开发环境构建的镜像在生产环境大多不可用,我们在开发中一般使用 Windows 或者 MAC 系统,部署多半是 linux 环境。那么这篇文章能帮到你。 文章目录 首先构建环境进阶 首先 首先你需要有一个 Dockerfile 文件。 举例:这里以一个 pytho…

SpringMVC之综合案例

SpringMVC注解 Controller: 标记一个类为控制器(处理请求的类),将其作为Spring MVC的组件进行管理。 RequestMapping: 将请求URL映射到具体的处理方法上。可以用在类级别和方法级别,用于指定URL路径。 RequestParam: 用于将请求…

流式数据处理与高吞吐消息传递:深入探索Kafka技术的奥秘

Kafka 是一种高吞吐量、分布式、基于发布/订阅的消息系统,最初由 LinkedIn 公司开发,使用Scala 语言编写,目前是 Apache 的开源项目。 Kafka 概念 Zookeeper 集群是一个基于主从复制的高可用集群,每个服务器承担如下三种角色中的…

【网络编程】C++实现网络通信服务器程序||计算机网络课设||Linux系统编程||TCP协议(附源码)

TCP网络服务器 🐍 1.程序简洁🦎2. 服务端ServerTcp程序介绍🦖3.线程池ThreadPool介绍🦕 4.任务类Task介绍🐙5. 客户端Client介绍🦑6.运行结果:🦐 7. 源码🦞7.1 serverTcp…

C++内存管理(3)——内存池

1. 默认内存管理函数的不足(为什么使用内存池) 利用默认的内存管理操作符 new/delete 和函数 malloc()/free() 在堆上分配和释放内存会有一些额外的开销。 系统在接收到分配一定大小内存的请求时,首先查找内部维护的内存空闲块表&#xff0…

纯css制作常见的图形

1.正方形 <div class"square"></div> .square {width: 100px;height: 100px;background-color: #ffff00;} 效果&#xff1a; 2.长方形 <div class"rectangle"></div> .rectangle{width: 200px;height: 100px;background-color:…

用huggingface.Accelerate进行分布式训练

诸神缄默不语-个人CSDN博文目录 本文属于huggingface.transformers全部文档学习笔记博文的一部分。 全文链接&#xff1a;huggingface transformers包 文档学习笔记&#xff08;持续更新ing…&#xff09; 本部分网址&#xff1a;https://huggingface.co/docs/transformers/m…

Layui快速入门之第一节Layui的基本使用

目录 一&#xff1a;Layui的基本概念 二&#xff1a;Layui使用的基本步骤 1.在官网下载layui的基本文件&#xff0c;引入css和js文件 ①&#xff1a;普通方式引入 ②&#xff1a;第三方 CDN 方式引入 2.在script标签体中编写代码 3.测试 一&#xff1a;Layui的基本概念 …

Mac m1 安装rabbitmq+php-amqplib

rabbitmq 官方地址 https://www.rabbitmq.com mac 软件包 Downloading and Installing RabbitMQ — RabbitMQ 一.这里我选择 homebrew brew updatebrew install rabbitmq二.php代码 用composer 安装 10年软件开发经验,结交朋友! 分销商城系统开发,App商城开发 商务合作 s…

eclipse进入断点之后,一直卡死,线程一直在运行【记录一种情况】

问题描述: 一直卡死在某个断点处&#xff0c;取消断点也是卡死在这边的进程处。 解决方式&#xff1a; 将JDK的使用内存进行了修改 ① 打开eclipse&#xff0c;window->preference->Java->Installed JREs&#xff0c;选中使用的jdk然后点击右侧的edit&#xff0c;在…

打造基于终端命令行的IDE,Termux配置Vim C++开发环境

Termux配置Vim C开发环境&#xff0c;打造基于终端命令行的IDE 主要利用VimCoc插件&#xff0c;配置C的代码提示等功能。 Termux换源 打开termux&#xff0c;输入termux-change-repo 找到mirrors.tuna.tsinghua.edu.cn&#xff0c;清华源&#xff0c;空格选中&#xff0c;回…

LeetCode(力扣)40. 组合总和 IIPython

LeetCode40. 组合总和 II 题目链接代码 题目链接 https://leetcode.cn/problems/combination-sum-ii/ 代码 class Solution:def backtrackingz(self, candidates, target, result, total, path, startindex):if target total:result.append(path[:])return for i in range…

elasticsearch访问9200端口 提示需要登陆

项目场景&#xff1a; 提示&#xff1a;这里简述项目相关背景&#xff1a; elasticsearch访问9200端口 提示需要登陆 问题描述 提示&#xff1a;这里描述项目中遇到的问题&#xff1a; 在E:\elasticsearch-8.9.1-windows-x86_64\elasticsearch-8.9.1\bin目录下输入命令 ela…

手写Spring:第5章-注入属性和依赖对象

文章目录 一、目标&#xff1a;注入属性和依赖对象二、设计&#xff1a;注入属性和依赖对象三、实现&#xff1a;注入属性和依赖对象3.0 引入依赖3.1 工程结构3.2 注入属性和依赖对象类图3.3 定义属性值和属性集合3.3.1 定义属性值3.3.2 定义属性集合 3.4 Bean定义补全3.5 Bean…

Flutter实用工具Indexer列表索引和Search搜索帮助。

1.列表索引 效果图&#xff1a; indexer.dart import package:json_annotation/json_annotation.dart;abstract class Indexer {///用于排序的字母JsonKey(includeFromJson: false, includeToJson: false)String? sortLetter;///用于排序的拼音JsonKey(includeFromJson: fal…

学习笔记|计数器|Keil软件中 0xFD问题|I/O口配置|STC32G单片机视频开发教程(冲哥)|第十二集:计数器的作用和意义

文章目录 1.计数器的用途2.计数器的配置官方例程开始Tips&#xff1a;编译时提示错误FILE DOES NOT EXIST&#xff1a; 3.计数器的应用本例完整代码&#xff1a;总结课后练习&#xff1a; 1.计数器的用途 直流有刷的电机,后面两个一正一负的电接上,电机就可以转 到底是转子个…

NLP(六十八)使用Optimum进行模型量化

本文将会介绍如何使用HuggingFace的Optimum&#xff0c;来对微调后的BERT模型进行量化&#xff08;Quantization&#xff09;。   在文章NLP&#xff08;六十七&#xff09;BERT模型训练后动态量化&#xff08;PTDQ&#xff09;中&#xff0c;我们使用PyTorch自带的PTDQ&…