测试文档---消息驿站

2023-12-08 15:28
文章标签 文档 测试 消息 驿站

本文主要是介绍测试文档---消息驿站,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 项目背景
  • 测试计划
    • 服务器模块
      • 设计测试用例
      • 进行单元测试/黑盒测试
    • 客户端模块
      • 设计测试用例
      • 进行单元测试/黑盒测试
    • 转发规则模块
      • 设计测试用例
      • 进行单元测试/黑盒测试
  • 测试总结

项目背景

在高并发量的情况下,针对某一台服务器的访问量激增就可能导致该服务器“宕机”,造成难以估量的损失。因此,就需要我们自己设计一个MQ来进行“削峰填谷”保证服务器能够平稳运行。在我们的MQ中通过对虚拟主机、交换机、队列、绑定的管理来控制对消息的接收和转发。我们一共分为三个模块来进行功能实现:

  1. 公共模块:约定网络通信协议、进行消息的序列化和反序列化

  2. 服务器模块:实现对虚拟主机、交换机、队列、绑定、消息的内存管理和硬盘管理

  3. 客户端模块:建立生产者和消费者的网络通信连接、通过信道进行数据传输

测试计划

因为我们的“消息驿站”项目是一个纯后端项目,我们要对每个模块分别设计测试用例来进行单元测试/黑盒测试。

服务器模块

设计测试用例

  • 数据库管理:
    测试交换机的测试用例:testExchange,ExchangeType.DIRECT,true,false,[“aaa”,1],[“bbb”,2]
    测试队列的测试用例:testQueue,true,false,false,[“aaa”,1],[“bbb”,2]
    测试绑定的测试用例:testExchange,testQueue,testBindingkey

  • 文件管理:
    测试目录创建:“/data/queue_data.txt”,“/data/queue_stat.txt”
    测试修改统计消息文件:totalCount=100,validCount=50
    测试插入与删除消息:null,”testMessage“,”testRoutingKey“
    测试取出所有消息:null,”testMessage+i“,”testRoutingKey“
    测试GC消息文件:null,”testMessage+i“,”testRoutingKey“

  • 内存管理
    测试交换机的测试用例:testExchange,ExchangeType.DIRECT,true,false
    测试队列的测试用例:testQueue,true,false,false
    测试绑定的测试用例:testExchange,testQueue,testBindingkey
    测试消息的测试用例:null,”testMessage“,”testRoutingKey“

进行单元测试/黑盒测试

  • 数据库管理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 文件管理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 内存管理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

客户端模块

设计测试用例

  • client测试用例:
    测试交换机的测试用例:testExchange,ExchangeType.DIRECT,true,false,null
    测试队列的测试用例:testQueue,true,false,false,null
    测试绑定的测试用例:testExchange,testQueue,testBindingkey
    测试消息的测试用例:null,”testMessage“,”testRoutingKey“

  • broker server测试用例:
    测试交换机的测试用例:testExchange,ExchangeType.DIRECT,true,false,null
    测试队列的测试用例:testQueue,true,false,false,null
    测试绑定的测试用例:testExchange,testQueue,testBindingkey
    测试消息的测试用例:null,”testMessage“,”testRoutingKey“

进行单元测试/黑盒测试

  • client

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • server

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

转发规则模块

设计测试用例

在这里插入图片描述

进行单元测试/黑盒测试

在这里插入图片描述
在这里插入图片描述

测试总结

我们的”消息驿站“就是通过对虚拟主机、交换机、队列、绑定的管理来控制消息的接收和转发。因此,在测试时应该重点关注它们内部的方法执行是否正确。我们在上述介绍的测试过程中,通过对消息所处的各个环境里对交换机、队列、绑定、消息的管理设计对应的测试用例,全面的检测了消息传递过程中的各种情况,最终保证了消息传输的正确性,也就保证了项目的正确性。

这篇关于测试文档---消息驿站的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/470372

相关文章

C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式

《C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式》Markdown凭借简洁的语法、优良的可读性,以及对版本控制系统的高度兼容性,逐渐成为最受欢迎的文档格式... 目录为什么要将文档转换为 Markdown 格式使用工具将 Word 文档转换为 Markdown(.

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

Python实现自动化Word文档样式复制与内容生成

《Python实现自动化Word文档样式复制与内容生成》在办公自动化领域,高效处理Word文档的样式和内容复制是一个常见需求,本文将展示如何利用Python的python-docx库实现... 目录一、为什么需要自动化 Word 文档处理二、核心功能实现:样式与表格的深度复制1. 表格复制(含样式与内容)2

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事

C++ RabbitMq消息队列组件详解

《C++RabbitMq消息队列组件详解》:本文主要介绍C++RabbitMq消息队列组件的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. RabbitMq介绍2. 安装RabbitMQ3. 安装 RabbitMQ 的 C++客户端库4. A

python多线程并发测试过程

《python多线程并发测试过程》:本文主要介绍python多线程并发测试过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、并发与并行?二、同步与异步的概念?三、线程与进程的区别?需求1:多线程执行不同任务需求2:多线程执行相同任务总结一、并发与并行?1、

Python使用python-docx实现自动化处理Word文档

《Python使用python-docx实现自动化处理Word文档》这篇文章主要为大家展示了Python如何通过代码实现段落样式复制,HTML表格转Word表格以及动态生成可定制化模板的功能,感兴趣的... 目录一、引言二、核心功能模块解析1. 段落样式与图片复制2. html表格转Word表格3. 模板生

SpringCloud整合MQ实现消息总线服务方式

《SpringCloud整合MQ实现消息总线服务方式》:本文主要介绍SpringCloud整合MQ实现消息总线服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、背景介绍二、方案实践三、升级版总结一、背景介绍每当修改配置文件内容,如果需要客户端也同步更新,

浅谈Redis Key 命名规范文档

《浅谈RedisKey命名规范文档》本文介绍了Redis键名命名规范,包括命名格式、具体规范、数据类型扩展命名、时间敏感型键名、规范总结以及实际应用示例,感兴趣的可以了解一下... 目录1. 命名格式格式模板:示例:2. 具体规范2.1 小写命名2.2 使用冒号分隔层级2.3 标识符命名3. 数据类型扩展命

一文带你搞懂Redis Stream的6种消息处理模式

《一文带你搞懂RedisStream的6种消息处理模式》Redis5.0版本引入的Stream数据类型,为Redis生态带来了强大而灵活的消息队列功能,本文将为大家详细介绍RedisStream的6... 目录1. 简单消费模式(Simple Consumption)基本概念核心命令实现示例使用场景优缺点2