码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 记录我在实际项目中针对微服务特性做的一些测试


    一:A服务修改了某个接口的响应参数/请求参数,导致调用它接口的某个服务,或者它的下游服务会出现问题。

    测试思路: 实际手工测试很难发现这类问题,那么可以在接口测试的基础上,增加类似于“契约测试”的策略。我们可以将接口的全部响应字段的key记录下来,在后续进行接口自动化时,校验这些响应字段是否发生改变(减少/修改),如果出现改变,那么就通知测试人员去推动处理。如果这些改变是必须的,那么就更改key记录信息。

    二:如何保证数据一致性?比如有个服务A,它需要在自己的数据库里写入数据,然后再去调服务B,往B的库里写条数据。也许它自己库里写入成功了,但此时B服务恰好崩了或者其他情况,导致B库写数据失败了。

    测试思路: 做这类测试,我一般会把B服务给干掉,做完业务流程后再启动B服务,模拟服务崩溃的情况,看数据能不能正确写入崩溃的服务。

    三:对微服务常用中间件的测试

    1)redis测试

    redis常被用做缓存、队列、发布订阅。
    对于缓存的测试:
    1.当数据在redis跟db都存在时,测试curd是否正常
    2.当数据在redis不存在、db存在时,测试curd是否正常;从db读取到数据后应当写入redis并返回给上层
    3.当数据在redis存在、db不存在时:某些场景比如帖子的浏览量计数、转发量计数,会先在redis计数再同步到db,这种情况下需要检查数据一致。
    4.当数据在redis跟db都不存在时,测试curd正常
    5.当出现缓存穿透、缓存击穿、缓存雪崩时,数据库是否能抗压
    6.缓存的过期时间是否生效

    2)mq测试

    从生产者角度:
    1.消息是否推送到队列中
    2.是否推送到对应的topic下
    3.消息发送失败如何处理:模拟生产者连接mq失败,比如可以把mq服务停掉,项目可能采用消息持久化存到磁盘中。再重启mq服务,消息应当正确的被发送到队列中并成功被消费。
    4.消息重复发送:可能网络出现问题,消息成功发到mq后,生产者没有收到mq的确认信息,这时候生产者会重复发生信息。针对这种情况,我们可以通过python的pika库连接mq,发送多条相同的数据。数据库应当只更新/增加一条数据,不应该出现错误情况。
    从消费者角度:
    1.消息能否正常被消费
    2.消息被消费后有没有及时清除
    3.消费者宕机,消息转发给其他消费者进行消费,不会出现消息未处理就被清除

  • 相关阅读:
    【UDS】ISO14229之0x2F服务
    终于有清华大佬把“:JVM入门以及Class格式”给大家讲解透彻了
    QT GUI编程常用控件学习
    图解==>渗透测试KAILI系统的基本操作(第九课)
    【面试题精讲】Java成员变量与局部变量的区别?
    二硫化钨/二硒化钨纳米复合材料|WSe2二硒化钨负载掺氮三维石墨烯|氮掺杂二氧化钛负载二硒化钨|二硒化钨薄片/氧化铟纳米线复合材料
    Go-Excelize API源码阅读(九)——SetSheetBackground(sheet, picture string)
    栈和队列——有效括号
    SpringBoot+Vue项目学生选课系统
    代码随想录62——额外题目【数组】:189轮转数组、724寻找数组的中心下标、922按奇偶排序数组II
  • 原文地址:https://blog.csdn.net/No_PainNo_Gain/article/details/133667676
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号