mq测试哪些内容
MQ 专项完整测试点不含基础业务收发聚焦消息中间件各类异常、资损、数据错乱风险一、生产端生产者测试消息发送失败场景MQ服务宕机、端口不通、网络断连、Broker超时发送同步等待超时、异步发送回调失败磁盘满、队列达到最大长度拒绝写入权限不足、topic不存在、消息权限校验失败校验业务是否有可靠投递方案事务消息/本地消息表不会出现业务DB提交成功、消息丢失。消息发送原子性本地事务提交前宕机、提交后宕机核对DB数据与消息是否一致普通消息先存DB后发消息/先发消息后存DB两种时序故障事务消息半消息回滚、提交、中断三种分支全覆盖消息内容合法性超大消息体超过Broker限制发送拦截逻辑特殊字符、空消息、null字段、超长文本序列化异常消息体参数缺失、字段类型错乱消费端解析容错发送重试、重试次数、重试间隔发送失败自动重试是否存在无限重试压垮Broker重试消息是否重复投递是否自带唯一幂等标识二、消息存储与队列特性测试消息堆积消费阻塞、消费速度远低于生产大量消息堆积堆积后生产者限流、拒绝写入的逻辑是否生效堆积恢复后消费是否不漏、不重复、不乱序消息过期/TTL设置过期时间消息到期自动丢弃校验业务补偿逻辑如短信、补贴过期未发放兜底消息删除/清理机制过期清理、磁盘淘汰、手动删除消息业务无数据丢失补偿分区/队列顺序特性同一分片key消息严格有序不同分片无序更换分区路由规则后消息顺序变化业务能否兼容三、消费端核心测试资损、数据串号高发区重复消费最高危消费成功后offset未提交服务重启重复消费网络回调超时Broker重复推送消息生产者重试发送产生重复消息校验所有消费逻辑必须支持幂等无重复扣款、重复发短信、重复发补贴。消息丢失消费收到消息未执行业务逻辑直接宕机offset提交批量消费提前提交offset中间几条消息处理失败直接丢弃死信无重试、无人处理长期丢失资金单据消息乱序同一用户/同一业务的多条消息颠倒到达先退款后扣款、先取消订单再发放权益造成账目错乱。消费异常分支全覆盖消费代码抛异常、数据库超时、RPC调用失败业务校验失败金额非法、用户不存在校验失败消息是否进入死信队列是否支持人工重放、自动重试。批量消费批量size配置过大单次处理超时批量中部分成功、部分失败offset提交策略是否会丢数据并发消费冲突多消费者并发消费同一条消息无锁/无幂等导致跨用户数据错乱、重复操作。四、死信队列 DLQ 专项测试连续重试达到最大次数自动转入死信死信消息可查询、可重放、可导出死信堆积告警、长期未处理的消息兜底机制死信重放后幂等逻辑正常不会重复产生资损五、集群与高可用场景Broker主从切换、节点宕机生产消费无中断、无消息丢失集群扩容/缩容分区重分配消息不丢失、不乱序多机房、异地集群消息同步延迟业务兼容消息时差六、消息可靠性与一致性专项和资损强相关最终一致性校验DB业务单据 vs MQ消息一一对应无单边账有DB记录无消息漏发有消息无DB记录脏消息事务消息完整链路半消息阻塞、提交、回滚、宕机中断四种场景全覆盖本地消息表/可靠消息表定时补偿任务扫描未发送消息自动补发补偿失败存入异常表七、参数、配置边界测试offset重置重置到最早/最新消息业务是否兼容重复消费消费者分组不同group独立消费同group负载均衡消费位点持久化重启后不会从头重复消费全部历史消息限流配置生产限流、消费限流流量突增不会压垮业务八、异步链路数据隔离对应你短信串用户问题消息体是否完整携带当前用户、订单、金额等动态参数不依赖缓存全局读取仅传模板ID、动态参数存在缓存的场景并发更新缓存时消费是否读取脏数据导致参数串号多条不同用户消息并发消费上下文、本地缓存对象不互相污染九、特殊运维场景测试消息手动补发、批量重放历史消息Topic重建、清理队列数据后的业务恢复消息轨迹查询可追踪生产、投递、消费全链路便于故障定位十、性能稳定性测试高并发生产每秒千级/万级消息稳定发送长时间持续生产消费12h长稳无堆积、无丢失、无重复峰值流量突增、突降限流、削峰逻辑生效精简分类总结方便测试用例分组生产者可靠性发送失败、事务消息、超大消息、发送重试消息存储队列堆积、过期、分区顺序、磁盘满消费核心风险重复消费、消息丢失、乱序、消费异常、批量消费死信队列重试转入死信、死信重放集群高可用主从切换、扩容缩容、节点宕机一致性校验DB与消息对账、单边账场景异步数据隔离消息透传参数、防止缓存脏读串用户数据配置边界offset重置、分组、限流、位点持久化运维场景消息补发、清空队列、轨迹排查长稳性能大流量、长时间并发压测