测试文档---消息驿站

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

相关文章

Python自动化Office文档处理全攻略

《Python自动化Office文档处理全攻略》在日常办公中,处理Word、Excel和PDF等Office文档是再常见不过的任务,手动操作这些文档不仅耗时耗力,还容易出错,幸运的是,Python提供... 目录一、自动化处理Word文档1. 安装python-docx库2. 读取Word文档内容3. 修改

SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程

《SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程》本文详细介绍了如何在虚拟机和宝塔面板中安装RabbitMQ,并使用Java代码实现消息的发送和接收,通过异步通讯,可以优化... 目录一、RabbitMQ安装二、启动RabbitMQ三、javascript编写Java代码1、引入

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

如何通过Python实现一个消息队列

《如何通过Python实现一个消息队列》这篇文章主要为大家详细介绍了如何通过Python实现一个简单的消息队列,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录如何通过 python 实现消息队列如何把 http 请求放在队列中执行1. 使用 queue.Queue 和 reque

使用Python快速实现链接转word文档

《使用Python快速实现链接转word文档》这篇文章主要为大家详细介绍了如何使用Python快速实现链接转word文档功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 演示代码展示from newspaper import Articlefrom docx import

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

解读Redis秒杀优化方案(阻塞队列+基于Stream流的消息队列)

《解读Redis秒杀优化方案(阻塞队列+基于Stream流的消息队列)》该文章介绍了使用Redis的阻塞队列和Stream流的消息队列来优化秒杀系统的方案,通过将秒杀流程拆分为两条流水线,使用Redi... 目录Redis秒杀优化方案(阻塞队列+Stream流的消息队列)什么是消息队列?消费者组的工作方式每

使用C/C++调用libcurl调试消息的方式

《使用C/C++调用libcurl调试消息的方式》在使用C/C++调用libcurl进行HTTP请求时,有时我们需要查看请求的/应答消息的内容(包括请求头和请求体)以方便调试,libcurl提供了多种... 目录1. libcurl 调试工具简介2. 输出请求消息使用 CURLOPT_VERBOSE使用 C

Java中Springboot集成Kafka实现消息发送和接收功能

《Java中Springboot集成Kafka实现消息发送和接收功能》Kafka是一个高吞吐量的分布式发布-订阅消息系统,主要用于处理大规模数据流,它由生产者、消费者、主题、分区和代理等组件构成,Ka... 目录一、Kafka 简介二、Kafka 功能三、POM依赖四、配置文件五、生产者六、消费者一、Kaf

SpringBoot3集成swagger文档的使用方法

《SpringBoot3集成swagger文档的使用方法》本文介绍了Swagger的诞生背景、主要功能以及如何在SpringBoot3中集成Swagger文档,Swagger可以帮助自动生成API文档... 目录一、前言1. API 文档自动生成2. 交互式 API 测试3. API 设计和开发协作二、使用