在日常测试工作中,数据对比常常遇到以下挑战:
- 对比结果缺乏清晰的可视化展示;
- 两个表位于不同的数据库中,增加了对比难度;
- 源表和目标表字段众多,业务逻辑复杂,手动编写SQL既耗时又易出错;
- 测试结果需要逐行与预期结果对比,数据量大时工作量剧增;
- 两个表的定义和结构不完全相同,无法直接使用工具对比,只能手动编写SQL查询。
本文将介绍如何利用DeepSeek、LangChain和DeepDiff搭建一个自动化测试数据对比工具,该工具能够智能生成SQL、自动对比数据并生成HTML报告,帮助测试工程师轻松完成繁琐的数据测试对比工作。
工作流程

部分核心代码展示
1、依赖包:

2、使用LangChain的ChatPromptTemplate自定义的动态prompt模板:

3、使用DeepSeek大模型自动生成SQL:

4、自动获取表结构信息:

5、自动校验SQL合法性:

6、自动化执行查询:

7、自动逐行比较结果并生成HTML报告:

效果展示
生成的HTML对比报告如下所示:(values_changed表示差异类型为数值差异,root[3][3]表示第三行第三列)

通过结合使用DeepSeek、LangChain和DeepDiff,我们构建了一个高效的自动化测试数据对比工具。该工具能够解决日常测试工作中数据对比的诸多难题,显著提升了测试工程师的工作效率。











