数据库操作语句的测试方法技术

技术编号:39747281 阅读:5 留言:0更新日期:2023-12-17 23:45
本申请提供一种数据库操作语句的测试方法

【技术实现步骤摘要】
数据库操作语句的测试方法、装置、设备及存储介质


[0001]本申请涉及数据库
,尤其涉及一种数据库操作语句的测试方法

装置

设备及存储介质


技术介绍

[0002]数据库技术广泛应用在多种企业业务中,数据库,即存储数据的“仓库”,数据库具有持久化以及快捷化的优势,数据库可以长期安全存储数据,用户也可以快速对数据库中的数据进行管理

[0003]实际应用中,存在多种数据库,当出现用户业务调整或者业务升级时,需要转换数据库,由于每种数据库具有不同的数据库查询语言,因此转换数据库后需要将旧查询语言对应转换为新查询语言

[0004]在此基础上,需要对新查询语言进行测试验证,从而保证转换后的数据库可以正常工作,提升测试验证的准确性对于降低转换后的数据库的风险具有重要意义


技术实现思路

[0005]本申请提供一种数据库操作语句的测试方法

装置

设备及存储介质,用以提升测试的准确性

[0006]第一方面,本申请提供一种数据库操作语句的测试方法,包括:确定操作原数据库的多条第一操作语句

以及操作目标数据库的多条第二操作语句,所述目标数据库为所述原数据库更新后的数据库;根据所述第一操作语句对所述原数据库进行操作,得到第一操作信息,以及根据所述第二操作语句对所述目标数据库进行操作,得到第二操作信息;根据所述第一操作信息和所述第二操作信息,确定对所述多条第二测试语句的测试结果

[0007]在一种可能的设计中,确定操作原数据库的多条第一操作语句

以及操作目标数据库的多条第二操作语句,包括:获取所述原数据库对应的多条第一语句模板

所述目标数据库对应的多条第二语句模板;根据所述原数据库和所述目标数据库中存储的数据,生成多个测试数据;对所述多条第一语句模板和所述多个测试数据进行组合处理,得到所述多条第一操作语句;对所述多条第二语句模板和所述多个测试数据进行组合处理,得到所述多条第二操作语句

[0008]在一种可能的设计中,对所述多条第一语句模板和所述多个测试数据进行组合处理,得到所述多条第一操作语句,包括:确定每条第一语句模板对应的至少一个数据类型;确定所述多个测试数据中

每个测试数据的数据类型;根据每条第一语句模板对应的至少一个数据类型

以及每个测试数据的数据类型,在所述多个测试数据中,确定每条第一语句模板对应的多个第一测试数据;将每条第一语句模板与所述多个第一测试数据进行组合处理,得到所述多条第一操作语句

[0009]在一种可能的设计中,针对任意一条第一语句模板;确定所述第一语句模板对应的至少一个数据类型,包括:对所述第一语句模板进行文本识别处理,以在所述第一语句模
板中识别得到至少一个待填充位;确定每个待填充位对应的数据类型;将所述至少一个待填充位对应的数据类型,确定为所述至少一个数据类型

[0010]在一种可能的设计中,所述第一语句模板对应至少两个数据类型,针对任意一条第一语句模板;将所述第一语句模板与所述多个第一测试数据进行组合处理,包括:根据所述第一语句模板对应的至少两个数据类型

以及每个第一测试数据的数据类型,对所述多个第一测试数据进行随机组合处理,得到多个测试数据集合,所述测试数据集合中包括所述至少两个数据类型对应的至少两个测试数据;针对任意一个测试数据集合,确定所述测试数据集合中各测试数据在所述第一语句模板中的数据位置,并根据所述数据位置,将所述测试数据集合中的测试数据填充至所述第一语句模板中,以实现将所述第一语句模板与所述测试数据集合中的测试数据进行组合处理

[0011]在一种可能的设计中,所述第一操作信息包括:对所述原数据库的第一操作结果

第一执行过程信息

以及执行所述第一操作语句的第一资源消耗信息;所述第二操作信息包括:对所述目标数据库的第二操作结果

第二执行过程信息

以及执行所述第二操作语句的第二资源消耗信息

[0012]在一种可能的设计中,根据所述第一操作信息和所述第二操作信息,确定对所述多条第二测试语句的测试结果,包括:根据所述第一操作结果和所述第二操作结果,确定结果差异度;根据所述第一执行过程信息和所述第二执行过程信息,确定执行过程差异度;根据所述第一资源消耗信息和所述第二资源消耗信息,确定资源消耗差异度;根据所述结果差异度

所述执行过程差异度和所述资源消耗差异度,确定所述测试结果

[0013]在一种可能的设计中,根据所述结果差异度

所述执行过程差异度和所述资源消耗差异度,确定所述测试结果,包括:确定所述结果差异度对应的第一权重

所述执行过程差异度对应的第二权重

以及所述资源消耗差异度对应的第三权重;根据所述结果差异度

所述执行过程差异度

所述资源消耗差异度

所述第一权重

所述第二权重和所述第三权重,确定目标差异度;若所述目标差异度大于或等于预设阈值,则确定所述测试结果为测试未通过,若所述目标差异度小于所述预设阈值,则确定所述测试结果为测试通过

[0014]在一种可能的设计中,所述第一操作结果包括第一操作数据集,所述第二操作结果包括第二操作数据集;根据所述第一操作结果和所述第二操作结果,确定结果差异度,包括:确定所述第一操作数据集中包括第一行数

以及所述第二操作数据集中包括的第二行数;在所述第一操作数据集和所述第二操作数据集中确定差异行

以及所述差异行的差异行数;根据所述差异行数

所述第一行数和所述第二行数,确定所述结果差异度

[0015]在一种可能的设计中,所述第一执行过程信息包括多个第一执行算法

以及所述多个第一执行算法的第一执行顺序;所述第二执行过程信息包括多个第二执行算法

以及所述多个第二执行算法的第二执行顺序;根据所述第一执行过程信息和所述第二执行过程信息,确定执行过程差异度,包括:确定所述多个第一执行算法的第一数量

所述多个第二执行算法的第二数量;确定所述多个第一执行算法和所述第二执行算法中的重合算法

以及所述重合算法的第三数量;根据所述第一数量

所述第二数量和所述第三数量,确定算法重合度;根据所述第一执行顺序和所述第二执行顺序,确定顺序相似度;根据所述算法重合度和所述顺序相似度,确定所述执行过程差异度

[0016]在一种可能的设计中,所述方本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种数据库操作语句的测试方法,其特征在于,包括:确定操作原数据库的多条第一操作语句

以及操作目标数据库的多条第二操作语句,所述目标数据库为所述原数据库更新后的数据库;根据所述第一操作语句对所述原数据库进行操作,得到第一操作信息,以及根据所述第二操作语句对所述目标数据库进行操作,得到第二操作信息;根据所述第一操作信息和所述第二操作信息,确定对所述多条第二测试语句的测试结果
。2.
根据权利要求1所述的方法,其特征在于,确定操作原数据库的多条第一操作语句

以及操作目标数据库的多条第二操作语句,包括:获取所述原数据库对应的多条第一语句模板

所述目标数据库对应的多条第二语句模板;根据所述原数据库和所述目标数据库中存储的数据,生成多个测试数据;对所述多条第一语句模板和所述多个测试数据进行组合处理,得到所述多条第一操作语句;对所述多条第二语句模板和所述多个测试数据进行组合处理,得到所述多条第二操作语句
。3.
根据权利要求2所述的方法,其特征在于,对所述多条第一语句模板和所述多个测试数据进行组合处理,得到所述多条第一操作语句,包括:确定每条第一语句模板对应的至少一个数据类型;确定所述多个测试数据中

每个测试数据的数据类型;根据每条第一语句模板对应的至少一个数据类型

以及每个测试数据的数据类型,在所述多个测试数据中,确定每条第一语句模板对应的多个第一测试数据;将每条第一语句模板与所述多个第一测试数据进行组合处理,得到所述多条第一操作语句
。4.
根据权利要求3所述的方法,其特征在于,针对任意一条第一语句模板;确定所述第一语句模板对应的至少一个数据类型,包括:对所述第一语句模板进行文本识别处理,以在所述第一语句模板中识别得到至少一个待填充位;确定每个待填充位对应的数据类型;将所述至少一个待填充位对应的数据类型,确定为所述至少一个数据类型
。5.
根据权利要求3或4所述的方法,其特征在于,所述第一语句模板对应至少两个数据类型,针对任意一条第一语句模板;将所述第一语句模板与所述多个第一测试数据进行组合处理,包括:根据所述第一语句模板对应的至少两个数据类型

以及每个第一测试数据的数据类型,对所述多个第一测试数据进行随机组合处理,得到多个测试数据集合,所述测试数据集合中包括所述至少两个数据类型对应的至少两个测试数据;针对任意一个测试数据集合,确定所述测试数据集合中各测试数据在所述第一语句模板中的数据位置,并根据所述数据位置,将所述测试数据集合中的测试数据填充至所述第一语句模板中,以实现将所述第一语句模板与所述测试数据集合中的测试数据进行组合处

。6.
根据权利要求1‑5任一项所述的方法,其特征在于,所述第一操作信息包括:对所述原数据库的第一操作结果

第一执行过程信息

以及执行所述第一操作语句的第一资源消耗信息;所述第二操作信息包括:对所述目标数据库的第二操作结果

第二执行过程信息

以及执行所述第二操作语句的第二资源消耗信息
。7.
根据权利要求1‑6中任一项所述的方法,其特征在于,根据所述第一操作信息和所述第二操作信息,确定对所述多条第二测试语句的测试结果,包括:根据所述第一操作结果和所述第二操作结果,确定结果差异度;根据所述第一执行过程信息和所述第二执行过程信息,确定执行过程差异度;根据所述第一资源消耗信息和所述第二资源消耗信息,确定资源消耗差异度;根据所述结果差异度

所述执行过程差异度和所述资源消耗差异度,确定所述测试结果
。8.
根据权利要求7所述的方法,其特征在于,根据所述结果差异度

所述执行过程差异度和所述资源消耗差异度,确定所述测试结果,包括:确定所述结果差异度对应的第一权重

所述执行过程差异度对应的第二权重

以及所述资源消耗差异度对应的第三权重;根据所述结果差异度

所述执行过程差异度

所述资源消耗差异度

所述第一权重

所述第二权重和所述第三权重,确定目标差异度;若所述目标差异度大于或等于预设阈值,则确定所述测试结果为测试未通过,若所述目标差异度小于所述预设阈值,则确定所述测试结果为测试通过
。9.
根据权利要求7或8所述的方法,其特征在于,所述第一操作结果包括第一操作数据集,所述第二操作结果包括第二操作数据集;根据所述第一操作结果和所述第二操作结果,确定结果差异度,包括:确定所述第一操作数据集中包括第一行数

以及所述第二操作数据集中包括的第二行数;在所述第一操作数据集和所述第二操作数据集中确定差异行

以及所述差异行的差异行数;根据所述差异行数

所述第一行数和所述第二行数,确定所述结果差异度
。10.
根据权利要求7或8所述的方法,其特征在于,所述第一执行过程信息包括多个第一执行算法

以及所述多个第一执行算法的第一执行顺序;所述第二执行过程信息包括多个第二执行算法

以及所述多个第二执行算法的第二执行顺序;根据所述第一执行过程信息和所述第二执行过程信息,确定执行过程差异度,包括:确定所述多个第一执行算法的第一数量

所述多个第二执行算法的第二数量;确定所述多个第一执行算法和所述第二执行算法中的重合算法

以及所述重合算法的第三数量;根据所述第一数量

所述第二数量和所述第三数量,确定算法重合度;根据所述第一执行顺序和所述第二执行顺序,确定顺序相似度;根据所述算法重合度和所述顺序相似度,确定所述执行过程差异度

11.
根据权利要求7所述的方法,其特征在于,所述方法还包括:通过预设模型对所述测试结果进行处理,得到所述目标数据库对应的优化信息;其中,所述优化信息包括如下至少一种:操作优化信息

索引优化信息

统计优化信息

冗余优化信息和缓存优化信息
。12.
一种数据库操作语句的测试装置,其特征在于,包括:确定模块,用于确定操作原数据库的多条第一操作语句

以及操作目标数据库的多条第二操作语句,所述目标数据库为所述原数据库更新后的数据库;操作模块,用于根据所述第一操作语句对所述原数据库进行操作,得到第一操作信息,以及根据所述第二操作语句对所述目标数据库进行操作,得到第二操作信息;测试模块,用于根据所述第一操作信息和所述第二操作信息,确定对所述多条第二测试语句的测试结果
。13.
根据权利要求
12
所述的装置,其特征在于,所述确定模块,具体用于获取所述原数据库...

【专利技术属性】
技术研发人员:李智耀陈永胜
申请(专利权)人:建信金融科技有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1