作为测试怎么设计ES与数据库的相关测试用例
2026/4/7 19:11:46 网站建设 项目流程

首先要明确ES是分布式全文检索与分析引擎,主打高效查询、全文搜索、数据分析

数据库为了结构化数据存储,对于一些复杂的关联查询等

所在在实际的业务中经常是使用:数据库存储核心数据,ES做高效检索同步,所以在测试过程中核心就是要保证ES数据与数据库中的数据保持一致性

1.功能测试,测试数据的一致准确性

测试点测试步骤预期结果
全量数据同步

1.清空ES的索引

2.做全量同步的脚本

3.抽取mysql中的数据与ES中进行对比

1.ES中的索引与数据库中的保持一致

2.ES中数据的条数与mysql中的条数保持一致

3.字段保持一致

增量数据同步

1.先完成全量同步

2.对数据库中进行增删改

3.等待同步完成比对ES中的数据

1.增删改,es中的数据保持一致

2.同步延时的时间符合预期

异常同步容错

1.同步过程中中断ES

2.恢复ES后重新触发同步

3.比对数据一致性,有无数据丢失

1.未同步的数据不会丢失

2.同步的数据没有重复,没有缺失

3.同步失败的数据有对应的日志记录

字段映射正常验证 MySQL 字段类型与 ES 字段类型的映射关系(如 int→integer,varchar→text/keyword)1. 映射关系符合设计要求;2. 需检索的字段设为 text 类型(支持分词),需精确匹配的字段设为 keyword 类型(如商品 ID)

2.异常测试场景

测试点测试步骤预期结果
测试超大字段是否正常如 MySQL 中存储的商品详情(5000 字),同步到 ES 后是否完整,检索是否正常
测试特殊字符如商品名含/、#、@等特殊字符ES是否能正常同步可以正常检索
测试超过数据量边界如同步 100 万条数据ES是否可以正常同步检索是否正常

3.ES的独立功能

4.性能测试

分别设置按照ES和数据库的形式进行压测看有无性能瓶颈,之前仓储的一个商品6合一接口上线出现大面积的超时当时按照ES和数据库进行压测找出来性能瓶颈并正常修复上线对应的压测过程如下

生产环境: queryPlaceSkusCriteria

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询