数据库脚本验证方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:20724456 阅读:22 留言:0更新日期:2019-03-30 17:36
本发明专利技术涉及脚本测试领域,尤其涉及一种数据库脚本验证方法、装置、计算机设备和存储介质。数据库脚本验证方法包括:获取项目需求文档和开发设计文档,根据所述项目需求文档和所述开发设计文档生成测试方案;获取数据库脚本,根据所述测试方案对所述数据库脚本进行测试并得到第一测试结果;执行所述数据库脚本,并得到执行结果;比较所述第一测试结果和所述执行结果,在两者一致时,验证通过,并确认所述数据库脚本正确,在两者不一致时,验证失败,并确认所述数据库脚本存在错误。本发明专利技术基于项目的业务功能需求编写测试方案并对数据库脚本进行测试,从实现的逻辑上验证了数据库脚本给出的结果是正确的还是错误的。

【技术实现步骤摘要】
数据库脚本验证方法、装置、计算机设备和存储介质
本专利技术涉及软件测试
,尤其涉及一种数据库脚本验证方法、装置、计算机设备和存储介质。
技术介绍
数据库脚本是用于创建数据库对象的语句的集合,生成数据库项目时,预先部署脚本、数据库对象定义和后期部署脚本合并为一个生成脚本。只能指定一个预先部署脚本和一个后期部署脚本,但可在预先部署脚本和后期部署脚本中包含其他脚本。数据库脚本包含存储过程,事务,索引,触发器,函数等。使用数据库脚本可以提高数据访问的效率,并能进行相关的数据处理。目前项目测试流程都是开发提测按照开发提测功能进行数据验证,生成的业务数据是否正确和是否按照开发实现逻辑来实现,没有一个验证衡量的标准,开发的实现代码逻辑,查询统计结构化查询语言(StructuredQueryLanguage,简称SQL)等是否满足业务要求,没有从测试角度评判它是正确的还是错误的,这就导致了开发实现代码不一定是正确的开发,实现逻辑不一定满足业务要求,开发实现查询统计SQL也不一定满足业务需求,因此应该先从批判的角度预设它们是错误的,然后从实现逻辑上去验证它们给出的结果是正确的还是错误的。此外,在传统验证查询统计SQL的过程中,一般是通过测试编写的SQL,复杂的SQL可能要写很多行,关系较复杂,不易编写和不便于维护。
技术实现思路
有鉴于此,有必要针对现有项目测试流程都是按照开发提测功能进行数据验证,而缺乏从实现逻辑上去验证它们给出的结果是正确的还是错误的问题,提供一种数据库脚本验证方法、装置、计算机设备和存储介质。一种数据库脚本验证方法,包括如下步骤:获取项目需求文档和开发设计文档,根据所述项目需求文档和所述开发设计文档生成测试方案;获取数据库脚本,根据所述测试方案对所述数据库脚本进行测试并得到第一测试结果;执行所述数据库脚本,并得到执行结果;比较所述第一测试结果和所述执行结果,在两者一致时,验证通过,并确认所述数据库脚本正确,在两者不一致时,验证失败,并确认所述数据库脚本存在错误。在其中一个实施例中,所述获取项目需求文档和开发设计文档,根据所述项目需求文档和所述开发设计文档生成测试方案,包括:获取所述项目需求文档,所述项目需求文档包含多个功能需求;根据所述功能需求设置测试场景,一所述功能需求对应一所述测试场景;根据每一所述测试场景生成对应所述测试场景的预期结果;获取每一所述测试场景需要的测试数据;根据所述测试场景、所述预期结果和所述测试数据形成所述测试方案。在其中一个实施例中,所述获取数据库脚本,根据所述测试方案对所述数据库脚本进行测试并得到第一测试结果,包括:获取所述数据库脚本;对所述数据库脚本按照每一所述测试场景进行测试并得到每一所述测试场景的测试结果;判断每一所述测试场景的所述测试结果与对应的所述预期结果是否相同,若相同,则所述测试场景测试通过,得到第二测试结果,若不同,确认所述测试场景的所述测试结果是否有bug,如果有,则所述记录bug,并跟踪所述bug对所述bug进行修复,直到所述测试场景通过,得到所述第二测试结果;当全部测试场景通过,获取全部第二测试结果,根据全部所述第二测试结果得到所述第一测试结果。在其中一个实施例中,所述执行所述数据库脚本,并得到执行结果,包括:预先编制多个所述数据库脚本的执行语句,对多个所述执行语句进行标记并排序;根据多个所述执行语句的顺序执行所述数据库脚本并得到所述执行结果。在其中一个实施例中,所述比较所述第一测试结果和所述执行结果,在两者一致时,验证通过,并确认所述数据库脚本正确,在两者不一致时,验证失败,并确认所述数据库脚本存在错误,包括:确认所述数据库脚本是否有bug,如果有bug,则记录缺陷管理系统并跟踪所述bug,直到问题解决,验证通过。在其中一个实施例中,所述判断每一所述测试场景的所述测试结果与对应的所述预期结果是否相同,若相同,则所述测试场景测试通过,得到第二测试结果,若不同,确认所述测试场景的所述测试结果是否有bug,如果有,则记录所述bug,并跟踪所述bug,对所述bug进行修复,直到所述测试场景通过,得到所述第二测试结果,包括对所述bug进行修复的方法,具体包括:获取所述bug的记录信息;提取所述bug的记录信息中的关键词并根据所述关键词在故障修复列表中检索匹配历史bug的信息,调用命中的历史bug的解决方法修复bug,所述故障修复列表中存储在前发生的bug信息及对应的解决方法;若所述故障修复列表中没有命中历史bug信息,则根据当前bug制作修复补丁解决bug,并将当前的解决方案记录在所述故障修复列表中。在其中一个实施例中,所述获取每一所述测试场景需要的测试数据,包括:获取可执行的SQL脚本,所述SQL脚本携带有用于查询所述测试数据的变量;在目标数据库中执行所述SQL脚本后获取所述测试数据。一种数据库脚本验证装置,包括如下模块:测试方案生成模块,设置为获取项目需求文档和开发设计文档,根据所述项目需求文档和所述开发设计文档生成测试方案;测试模块,设置为获取数据库脚本,根据所述测试方案对所述数据库脚本进行测试并得到第一测试结果;执行模块,设置为执行所述数据库脚本,并得到执行结果;结果验证模块,设置为比较所述第一测试结果和所述执行结果,在两者一致时,验证通过,并确认所述数据库脚本正确,在两者不一致时,验证失败,并确认所述数据库脚本存在错误。一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被一个或多个所述处理器执行时,使得一个或多个所述处理器执行上述数据库脚本验证方法的步骤。一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个所述处理器执行上述数据库脚本验证方法的步骤。上述数据库脚本验证方法、装置、计算机设备和存储介质,包括:获取项目需求文档和开发设计文档,根据所述项目需求文档和所述开发设计文档生成测试方案;获取数据库脚本,根据所述测试方案对所述数据库脚本进行测试并得到第一测试结果;执行所述数据库脚本,并得到执行结果;比较所述第一测试结果和所述执行结果,在两者一致时,验证通过,并确认所述数据库脚本正确,在两者不一致时,验证失败,并确认所述数据库脚本存在错误,确认所述数据库脚本是否有bug,如果有,记录缺陷管理系统并跟踪所述bug,直到问题解决,验证通过。本技术方案基于项目的业务功能需求编写测试方案并对数据库脚本进行测试,并将测试结果与实际执行结果进行对比,从实现逻辑上验证了数据库脚本给出的结果是正确的还是错误的。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。图1为本专利技术的一种数据库脚本验证方法的整体流程图;图2为本专利技术的一种数据库脚本验证方法中的测试方案生成过程的示意图;图3为本专利技术的一种数据库脚本验证方法中的测试过程的示意图;图4为本专利技术的一种数据库脚本验证装置的结构图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本
本文档来自技高网
...

【技术保护点】
1.一种数据库脚本验证方法,其特征在于,包括如下步骤:获取项目需求文档和开发设计文档,根据所述项目需求文档和所述开发设计文档生成测试方案;获取数据库脚本,根据所述测试方案对所述数据库脚本进行测试并得到第一测试结果;执行所述数据库脚本,并得到执行结果;比较所述第一测试结果和所述执行结果,在两者一致时,验证通过,并确认所述数据库脚本正确,在两者不一致时,验证失败,并确认所述数据库脚本存在错误。

【技术特征摘要】
1.一种数据库脚本验证方法,其特征在于,包括如下步骤:获取项目需求文档和开发设计文档,根据所述项目需求文档和所述开发设计文档生成测试方案;获取数据库脚本,根据所述测试方案对所述数据库脚本进行测试并得到第一测试结果;执行所述数据库脚本,并得到执行结果;比较所述第一测试结果和所述执行结果,在两者一致时,验证通过,并确认所述数据库脚本正确,在两者不一致时,验证失败,并确认所述数据库脚本存在错误。2.根据权利要求1所述的数据库脚本验证方法,其特征在于,所述获取项目需求文档和开发设计文档,根据所述项目需求文档和所述开发设计文档生成测试方案,包括:获取所述项目需求文档,所述项目需求文档包含多个功能需求;根据所述功能需求设置测试场景,一所述功能需求对应一所述测试场景;根据每一所述测试场景生成对应所述测试场景的预期结果;获取每一所述测试场景需要的测试数据;根据所述测试场景、所述预期结果和所述测试数据形成所述测试方案。3.根据权利要求2所述的数据库脚本验证方法,其特征在于,所述获取数据库脚本,根据所述测试方案对所述数据库脚本进行测试并得到第一测试结果,包括:获取所述数据库脚本;对所述数据库脚本按照每一所述测试场景进行测试并得到每一所述测试场景的测试结果;判断每一所述测试场景的所述测试结果与对应的所述预期结果是否相同,若相同,则所述测试场景测试通过,得到第二测试结果,若不同,确认所述测试场景的所述测试结果是否有bug,如果有,则记录所述bug,并跟踪所述bug,对所述bug进行修复,直到所述测试场景通过,得到所述第二测试结果;当全部测试场景通过,获取全部第二测试结果,根据全部所述第二测试结果得到所述第一测试结果。4.根据权利要求1所述的数据库脚本验证方法,其特征在于,所述执行所述数据库脚本,并得到执行结果,包括:预先编制多个所述数据库脚本的执行语句,对多个所述执行语句进行标记并排序;根据多个所述执行语句的顺序执行所述数据库脚本并得到所述执行结果。5.根据权利要求1所述的数据库脚本验证方法,其特征在于,所述比较所述第一测试结果和所述执行结果,在两者一致时,验证通过,并确认所述数据库脚本正确,在两者不一致时,验证失败,并确认所述数据库脚本存在错误,包括:确认所述数据库...

【专利技术属性】
技术研发人员:王军
申请(专利权)人:深圳壹账通智能科技有限公司
类型:发明
国别省市:广东,44

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

1