配置中心替换测试设计分享

news2025/2/12 13:45:05

一、背景

项目后端服务开始一直使用Apollo配置中心(携程开发)进行配置管理,由于公司自研了配置中心B,为了后续方便管理和降本增效,后端服务使用的配置需要由Apollo配置中心切换到自研配置中心B。后续不再使用Apollo配置。
替换前架构:
在这里插入图片描述
替换后架构:
在这里插入图片描述

二、需求

1、使用B配置中心替换A配置中心,功能上B配置中心替换后与替换前完全保持一致。
2、性能上B配置中心替换后相比替换前不下降。

三、功能实现

Apollo配置中心使用.properties格式配置,B配置中心使用.yaml格式配置。
所以实现方式为:将xxx.properties格式文件内容转化为xxx.yaml格式文件内容。
举个例子
xxx.properties格式样例

person.pet.name = 金毛犬
person.pet.weight = 13.14
 
person.interests = [篮球,足球,排球]

xxx.yaml格式样例

person.pet.name: 金毛犬
person.pet.weight: 13.14
 
person.interests: |
    [
        篮球,
        足球,
        排球
    ]

四、测试设计

功能上质量保障思路:

维度1:配置diff

  • B配置中心的每项配置与Apollo配置中心每项配置逐一进行diff,差异符合预期,不新增配置,不减少配置,不篡改配置,与替换前保持一致。

维度2:B配置中心更新机制测试

  • 热更新机制:确认修改哪些配置,不用重启服务,变更(新增,删除,修改)之后可以立即生效。
  • 非热更新机制:确认修改哪些配置,需要重启服务才能生效。

维度3:BE功能效果验证

  1. 后端服务接口核心功能回归验证,核心功能与之前保持一致。
  2. B配置中心的每项配置对应的功能验证生效
  3. 存量回归测试用例通过。

性能上质量保障思路:

  • 使用压测工具跑一下性能数据,QPS性能指标相比配置中心替换前不下降。

五、测试发现问题

  • 问题1:diff发现,新增配置内容。

  • 描述:diff发现,B配置中心相比Apollo配置中心,新增3项配置。

  • 原因:Dev将下个版本未经测试内容合入当前发布版本。

  • 解决办法:Dev撤回新增的3项配置
    #################################

  • 问题2:"="乱码不一致问题

  • 描述:Apollo上显示"=“,然而在B配置中心显示”\u003d"

在这里插入图片描述

  • 原因:编辑器使用不一致,导致乱码
  • 解决办法:B配置中心修改为"="

六、复盘

  1. Dev需要加强自测
  2. 测试过程中,需要耐心,仔细,全面,多维度保障产品质量。

水平有限,难免不足,欢迎分享交流!

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

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

相关文章

Photoshop神器插件Alpaca安装与使用指南

Alpaca是一款Photoshop的插件,它可以自动生成各种图片,大大提高我们的工作效率。今天就为大家介绍如何安装和使用Alpaca这个好用的插件。 一、下载并安装Alpaca 在Chrome浏览器中打开Alpaca的官网,点击join alpaca beta 注册帐号。 下载完成后,解压安装包,运行里面的Alpaca …

米尔核心板纯国产入门级性价比优选T113

近些年,国产MPU弯道超车越来越给力,芯片国产化,不再纯依赖进口,产品平台选型自主可控,未来国产化的主芯片平台产品将进一步蓬勃发展。为满足客户对入门级、低成本、高性能的国产需求,米尔电子推出国产入门级…

28 | Boss直聘数据分析

针对boss直聘网的招聘信息,然后分析互联网发展排名前十的城市在互联网方面职位的薪水,学历要求,经验要求,等等信息。 准备从以下几个方面进行分析: (1)各个城市的平均工资 (2)各个学历的平均工资 (3)各个岗位的平均工资 (4)不同工作经验要求的工资 (5)各个经验…

通讯录(静态版)

通讯录(静态版) 通讯录无非就是实现以下功能: 1.前言 首先要知道一个人要包含哪些信息,这里就以(姓名,年龄,性别,电话号码,地址)为例,这些信息…

ssh-keygen 做好免密登录后不生效

免密说明 通常情况下,我们ssh到其他服务器需要知道服务器的用户名和密码。对于需要经常登录的服务器每次都输入密码比较麻烦,因此我们可以在两台服务器上做免密登录,即在A服务器可以免密登录B服务器。 在A服务器上登录B服务器时,…

29 | 广州美食店铺数据分析

广州美食店铺数据分析 一、数据分析项目MVP加/价值主张宣言 随着经济的快速发展以及新媒体的兴起,美食攻略、美食探店等一系列东西进入大众的眼球,而人们也会在各大平台中查找美食推荐,因此本项目做的美食店铺数据分析也是带有可行性的。首先通过对广东省的各市美食店铺数量…

Qt扫盲-Qt Model/View 理论总结 [上篇]

Qt Model/View 理论总结 [上篇] 一、概述1.model / view 架构2. Model3. View4. Delegate5. 排序6. 快捷类 二、使用model/view1. Qt包含两种 model2. 在现有 model 中使用 view 三、Model 类1. 基本概念1.model 索引2. 行和列2. item 的父 item3. Item roles4. 总结 2. 使用mo…

小程序生成App:轻量低门槛的开发方式

小程序生成App可以成为一种轻量低门槛的开发App的方式,但是需要根据具体情况进行选择。如果应用需要处理大量数据或需要进行复杂计算,或者需要实现原生特有的功能或交互效果,可能需要选择其他开发方式。 在文章开始之前,我们看看目…

优维产品最佳实践第4期:如何在海量日志中捞到你要的关键字?

优维产品最佳实践第4期:如何在海量日志中“捞“到你要的关键字? 日志记录了软件系统的生命线,为我们提供了故障排查和性能优化的关键线索。 本期EasyOps产品使用最佳实践,我们将为您揭晓: 如何监控日志的关键字&#x…

c51单片机串口通信(中断方式接收数据)(单片机--单片机通信)示例代码 附proteus图

单片机一般采用中断方式接受数据,这样便于及时处理 #include "reg51.h" #include "myheader.h" #define uchar unsigned char int szc[10]{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; int bufferc[6]{0}; int sza[6]{0x01,0x02,0x0…

【论文阅读】基于深度学习的时序预测——LSFT-Linear

系列文章链接 论文一:2020 Informer:长时序数据预测 论文二:2021 Autoformer:长序列数据预测 论文三:2022 FEDformer:长序列数据预测 论文四:2022 Non-Stationary Transformers:非平…

allegro中不可选时,如何对find进行可选操作

allegro出现不可选时,只能尝试其他单一的操作,但这样效率不高;可以通过菜单栏Display下拉菜单点击Element,即可实现FIND下选择需要调整的选项。

【PCL】激光雷达常用传统感知算法学习

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍常用激光感知算法学习。 无专精则不能成,无涉猎则不能通。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下,下…

VR家装提升用户信任度,线上体验家装空间感

近些年,VR家装逐渐被各大装修公司引入,VR全景装修的盛行,大大增加了客户“所见即所得”的沉浸式体验感,不再是传统二维平面的看房模式,而是让客户通过视觉、听觉、交互等功能更加真实的体验家装后的效果。 对于传统家装…

Blazor 简单组件(1):B_Icon开发

文章目录 前言ICON开发使用 前言 Blazor 简单组件(0)&#xff1a;简单介绍 ICON开发 <i class"Type" style"font-size:(Size)px;color:Color;"></i>code {/// <summary>/// icon类型/// </summary>[Parameter]public string Typ…

基于rsesnet网络架构的图像分类模型

数据预处理部分&#xff1a; 数据增强&#xff1a;torchvision中transforms模块自带功能&#xff0c;比较实用数据预处理&#xff1a;torchvision中transforms也帮我们实现好了&#xff0c;直接调用即可DataLoader模块直接读取batch数据 网络模块设置&#xff1a; 加载预训练…

哨兵2号在SNAP中去云处理

1.Fmask软件对1C级产品进行处理&#xff0c;识别像素类别 不知道Fmask是什么可以先去百度一下 软件下载,链接到github地址 我下载的是4.5版本&#xff0c;无脑安装即可。 双击打开软件&#xff08;需要等一会&#xff09;&#xff0c;长这样 路径选择E:\S2\S2A_MSIL1C_20220…

【uniapp】滚动相关

1、滚动到一定区域&#xff0c;顶部内容置换并置顶 功能&#xff1a; 当我向下滚动时&#xff0c;当关注那一行快到顶部的时候&#xff0c;把左侧区域的内容切换成右侧区域的内容&#xff0c;并置顶 原先我使用v-if来显示隐藏&#xff0c;发现会出现闪屏的现象&#xff0c;后来…

丁基胶塞市场报告-行业现状及未来发展趋势

▌产品定义及统计范围 丁基胶塞具有吸湿率低、化学性好、气密性好及无生理毒副作用等显著特点, 广泛应用于抗生素粉针剂、大输液、冻干制剂等药物的密封包装及导出。 ▌丁基胶塞行业目前现状分析 丁基胶塞市场集中度较低&#xff0c;产品高度分化。全球主要厂商集中在欧美中…

【STM32RT-Thread零基础入门】 2. 新建RT-Thread项目

硬件&#xff1a;STM32F103ZET6、ST-LINK、usb转串口工具 文章目录 前言一、新建RT-Thread项目二、项目结构三、构建项目四、下载程序&#xff08;调试器下载&#xff09;五、终端交互总结 前言 RT-Thread的全称是Real Time Thread&#xff0c;顾名思义&#xff0c;它是一个嵌…