测试文档---消息驿站

文章目录

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

项目背景

在高并发量的情况下,针对某一台服务器的访问量激增就可能导致该服务器“宕机”,造成难以估量的损失。因此,就需要我们自己设计一个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.mzph.cn/news/206379.shtml

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

相关文章

java中synchronized和Lock的区别是什么?

synchronized 和 Lock 都是 Java 中用于实现线程同步的机制,但它们在使用方式和功能上存在一些区别。 使用方式 synchronized: 是 Java 语言关键字,可用于方法或代码块。通过 synchronized 关键字实现的同步是隐式的,无需手动释…

欧拉操作系统

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 这个章节主要是介…

安全快速地删除 MySQL 大表数据并释放空间

一、需求 按业务逻辑删除大量表数据操作不卡库,不能影响正常业务操作操作不能造成 60 秒以上的复制延迟满足以上条件的前提下,尽快删除数据并释放所占空间 表结构如下: create table space_visit_av (userid bigint(20) not null comment 用…

【微软技术栈】发布自己造的轮子 -- 创建Nuget包(分布操作)

目录 1、您的项目 2、创建 .nuspec 文件 3、一张图片胜过一千个拉取请求 4、包括自述文件 MD 文件 5、构建软件包 6、将包部署到 Nuget.Org 7、手动上传软件包 8、自动化和脚本化部署 9、我们如何构建和部署 ErrLog.IO Nuget 包 10、Nuget统计数据 11、最后的思考 创建 Nuget 包…

电话卡Giffgaff激活

Giffgaff是一家总部位于英国的移动电话公司。作为一家移动虚拟网络电信运营商,Giffgaff使用O2的网络,是O2的全资子公司,成立于2009年11月25日。 Giffgaff与传统的移动电话运营商不同,区别在于其用户也可以参与公司的部分运营&…

Java简易版:UDP协议实现群聊

服务端&#xff1a; package 二十一章;import java.io.*; import java.net.*; import java.util.ArrayList; public class T{public static ServerSocket server_socket;public static ArrayList<Socket> socketListnew ArrayList<Socket>(); public static void…

华为云短信验证

将相关代码整理出来,可以直接调取引用 华为云短信的参数需要自己去注册华为云账号,然后去购买套餐,相关参数里面都有,获取并不复杂 class HuaWeiSMS {const APP_KET xxxxxxxxxxxxx;//APP_Keyconst APP_SECRET xxxxxxxxxxxxxxx;//APP_Secretconst URL https://smsapi.cn-no…

翡翠手镯镯子断了怎么修复?

修复翡翠镯子需要谨慎对待&#xff0c;因为翡翠是一种比较脆弱的宝石&#xff0c;不适合使用一般的胶水或者粘合剂。必须选择针对翡翠手镯玉器玉石珠宝宝石石材专用的胶粘剂&#xff1a; 1.收集断裂的部分&#xff1a; 尽量收集到所有断裂的部分&#xff0c;包括碎片。这有助于…

Raspberry Pi 2, 2 of n - Pi 作为 IoT 消息代理

目录 介绍 环境 先决条件 - 设置静态 IP 地址 安装 Mosquitto 启动/停止 Mosquitto 配置先决条件 - 安装 mqtt_spy 配置 Mosquitto 配置 Mosquitto - 无安全性 测试 Mosquitto 配置 - 无安全性 配置 Mosquitto - 使用密码身份验证 Mosquitto 测试 - 带密码验证 概括 介绍 在本文…

数据二十条

"数据二十条"即中共中央、国务院关于构建数据基础制度更好发挥数据要素作用的意见&#xff0c;全文共分为五章二十条。 一、发布 2022年6月22日召开了中央全面深化改革委员会第二十六次会议。审议通过《关于构建数据基础制度更好发挥数据要素作用的意见》。 2022…

【React】react-router-dom路由导航的跳转及传参

路由导航跳转方式有&#xff1a; 1、声明式导航&#xff1a;解析成a标签跳转 // 引入 import { Link } from "react-router-dom";//使用 const Home()>{return (<div><Link to"login">去登录</Link></div>) } export default…

YOLOv7独家最新改进《全网无重复》感知聚合SERDetect检测头:高效涨点,即插即用|检测头新颖改进

💡本篇内容:YOLOv7独家最新改进《感知聚合SERDetect检测头》高效涨点,即插即用|检测头新颖改进 💡🚀🚀🚀本博客 YOLO系列 + 感知聚合SERDetect检测头 改进创新点改进源代码改进 适用于 YOLOv7 按步骤操作运行改进后的代码即可 💡附改进源代码及教程,适合用来…

ThinkPHP插件开发实例

ThinkPHP插件开发是一个扩展框架功能的方式&#xff0c;它能提高代码的可重用性&#xff0c;使得项目的开发变得更加高效。以下是一个简单的ThinkPHP插件开发的示例&#xff1a; 创建插件文件 在ThinkPHP项目根目录中创建一个名为 "demo" 的插件文件夹&#xff0c;…

机器学习应用 | 使用 MATLAB 进行异常检测(下)

在使用MATLAB 进行异常检测&#xff08;上&#xff09;中&#xff0c;我们探讨了什么是异常值&#xff0c;简单的一维数据异常检测问题&#xff0c;针对高维数据的有监督异常检测方法。 在&#xff08;下&#xff09;篇中&#xff0c;我们将和大家一起探讨无监督异常检测。 没…

【WPF】使用`Dispatcher.Invoke`方法将操作切换回UI线程,并在UI线程上更新对象的变量

以下是一个示例&#xff1a; // 在后台线程执行耗时操作 Task.Run(() > {// 耗时操作// 更新UI线程上的变量Application.Current.Dispatcher.Invoke(() >{// 在UI线程上给调用对象的变量赋值YourObject.YourVariable newValue;}); });在上面的示例中&#xff0c;Task.R…

智能优化算法应用:基于金枪鱼群算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于金枪鱼群算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于金枪鱼群算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.金枪鱼群算法4.实验参数设定5.算法结果6.参考…

MySQL中替代 Oracle的decode函数

MySQL 中可以使用 CASE WHEN 语句替代 Oracle 中的 decode 函数。 例如&#xff0c;Oracle 中的 decode 函数语法为&#xff1a; decode(expression, search_value_1, result_1, search_value_2, result_2, ..., default_result)可以使用 MySQL 的 CASE WHEN 语句来实现类似的…

linux搭建nacos集群

准备 检查是否安装jdk [roothao /usr/local/software/elk/logstash]# java -version java version "1.8.0_341" Java(TM) SE Runtime Environment (build 1.8.0_341-b10) Java HotSpot(TM) 64-Bit Server VM (build 25.341-b10, mixed mode)配置nacos 去github下载…

【PTA-C语言】编程练习4 - 数组Ⅰ

如果代码存在问题&#xff0c;麻烦大家指正 ~ ~有帮助麻烦点个赞 ~ ~ 编程练习4 - 数组Ⅰ&#xff08;1~7&#xff09; 7-1 评委打分&#xff08;分数 10&#xff09;7-2 组合数的和&#xff08;分数 10&#xff09;7-3 找不同&#xff08;分数 15&#xff09;7-4 利用二分查找…

【Python】Python音乐网站数据+音频文件数据抓取(代码+报告)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…