云数据库的测试方法及其装置、设备和存储介质制造方法及图纸

技术编号:20221609 阅读:22 留言:0更新日期:2019-01-28 20:10
本发明专利技术涉及数据库领域,公开了一种云数据库的测试方法及其装置、设备和存储介质。本发明专利技术中的云数据库的测试方法包括以下步骤:获取标准云数据库的测试表结构和对应所述测试表结构的结构化查询语句模板;基于获取到的所述测试表结构和结构化查询语句模板生成测试用例;向所述待测试云数据库和标准云数据库同时发送所述测试用例;根据所述待测试云数据库和标准云数据库基于所述测试用例返回的结果确定测试结果。本发明专利技术基于云数据库天然的用户数据和业务托管环境,抓取用户程序发往云数据库的SQL语句并生成相应的模板,基于模板自动生成测试用例,实现了对各种待测试云数据库的自动化测试,减少测试人力成本。

【技术实现步骤摘要】
云数据库的测试方法及其装置、设备和存储介质
本专利技术涉及数据库领域,特别涉及一种云数据库的测试方法及其装置、设备和存储介质。
技术介绍
现阶段,公有云正在蓬勃发展,公有云厂商纷纷推出云数据库产品和服务。相比传统数据库软件或服务,公有云云数据库能够跟公有云环境以及底层基础设施更深度和有机结合,利用公有云与生俱来的弹性、容灾、跨地域部署等能力,提供相比传统数据库软件更大的用户价值。对于一些新开发的云数据库,性能和功能的稳定性不确定,需要对其进行软件测试,目前的测试方法依然采用传统数据库软件测试方法,既手工编写测试用例的方法。既:1.测试人员根据开发软件提供的SQL(StructuredQueryLanguage,结构化查询语言)规则说明手工编写测试用例(一个测试用例包括SQL语句以及该SQL语句的预期输出结果,一个规则说明对应的测试用例往往达数百个甚至上千个之多);2.通过测试工具加载这些测试用例到数据库运行,并将数据库的返回结果和预期输出结果进行对比,如果返回结果符合预期则测试通过,否则视为存在bug并提交开发人员修复。以上传统的数据库软件测试方法,主要存在两个问题:1.手工编写测试用例,需要极大的人力成本,维护一个庞大的测试团队。以数据库行业龙头Oracle(甲骨文,公司名称)为例,Oracle维护了一个数千人的测试团队,测试人员和开发人员的比例是2:1,既1个开发要配备两个测试人员。而在业内其他公司,数据库软件的测试人员和开发人员的配置也都在1:1左右,既1个开发配置1个测试。2.手工编写测试用例,测试用例的覆盖面、有效性依赖于测试人员的经验,有经验的测试人员和缺少经验的测试人员,编写出的测试用例的测试效果很很大差别。而测试人员大部分缺少数据库软件的用户(开发者)的SQL编写经验,不了解数据库软件用户要用SQL解决的问题,因此好的测试人员非常稀少,要培养一个测试人员需要高额成本。而数据厂商在测试上的投入,往往无法有效转化为数据库产品品质的提升。
技术实现思路
本专利技术的目的在于提供一种云数据库的测试方法及其装置、设备和存储介质,可实现对云数据库的自动化测试,极大地减少人力测试成本。为解决上述技术问题,本专利技术的实施方式公开了一种云数据库的测试方法,包括:获取标准云数据库的测试表结构和对应所述测试表结构的结构化查询语句模板;基于获取到的所述测试表结构和结构化查询语句模板生成测试用例,其中,所述测试用例包括对应所述测试表结构的测试用表数据和对应所述结构化查询语句模板的测试用结构化查询语句;向所述待测试云数据库和标准云数据库同时发送所述测试用例;根据所述待测试云数据库和标准云数据库基于所述测试用例返回的结果确定测试结果;其中,所述结构化查询语句模板是基于用户发往所述标准云数据库的多个结构化查询语句得到的。在一示范例中,获取标准云数据库的测试表结构和对应所述测试表结构的结构化查询语句模板包括:获取用户发往所述标准云数据库的多个结构化查询语句;对获取的所述多个结构化查询语句进行脱敏处理得到所述结构化查询语句模板。在另一示范例中,获取标准云数据库的测试表结构和对应所述测试表结构的结构化查询语句模板还包括:获取所述标准云数据库的真实表结构;对所述真实表结构进行脱敏处理以隐去用户数据,得到所述测试表结构。在另一示范例中,基于获取到的所述测试表结构和结构化查询语句模板生成测试用例包括:基于所述测试表结构中的字段类型生成测试用表数据,并根据所述结构化查询语句模板生成测试用结构化查询语句。在另一示范例中,所述结构化查询语句模板的类型包括插入模板、更新模板、删除模板和选择模板;并且基于获取到的所述测试表结构和结构化查询语句模板生成测试用例包括:根据所述结构化查询语句模板所属的类型,生成所述测试用例中的测试用结构化查询语句。在另一示范例中,根据所述待测试云数据库和标准云数据库基于所述测试用例返回的结果确定测试结果包括:如果所述待测试云数据库和标准云数据库返回的结果相同,则表示所述待测试云数据库中与所述结构化查询语句模板对应的功能是正常的;如果所述待测试云数据库和标准云数据库返回的结果不同,则表示所述待测试云数据库中与所述结构化查询语句模板对应的功能存在异常。本专利技术的实施方式还公开了一种云数据库的测试装置,该装置包括:获取单元,用于获取标准云数据库的测试表结构和对应所述测试表结构的结构化查询语句模板;生成单元,用于基于获取到的所述测试表结构和结构化查询语句模板生成测试用例,其中,所述测试用例包括对应所述测试表结构的测试用表数据和对应所述结构化查询语句模板的测试用结构化查询语句;发送单元,用于向所述待测试云数据库和标准云数据库同时发送所述测试用例;确定单元,用于根据所述待测试云数据库和标准云数据库基于所述测试用例返回的结果确定测试结果;其中,所述结构化查询语句模板是基于用户发往所述标准云数据库的多个结构化查询语句得到的。在一示范例中,所述获取单元通过以下方式实现:获取用户发往所述标准云数据库的多个结构化查询语句,对获取的所述多个结构化查询语句进行脱敏处理得到所述结构化查询语句模板;获取所述标准云数据库的真实表结构,对所述真实表结构进行脱敏处理以隐去用户数据,得到所述测试表结构。在另一示范例中,所述结构化查询语句模板的类型包括插入模板、更新模板、删除模板和选择模板;并且所述生成单元包括:根据所述结构化查询语句模板所属的类型,生成所述测试用例中的测试用结构化查询语句。在另一示范例中,所述确定单元通过以下方式实现:如果所述待测试云数据库和标准云数据库返回的结果相同,则表示所述待测试云数据库中与所述结构化查询语句模板对应的功能是正常的;如果所述待测试云数据库和标准云数据库返回的结果不同,则表示所述待测试云数据库中与所述结构化查询语句模板对应的功能存在异常。本专利技术的实施方式还公开了一种设备,包括存储有计算机可执行指令的存储器和处理器,所述处理器被配置为执行上述实施方式公开的云数据库的测试方法。本专利技术的实施方式还公开了一种使用计算机程序编码的非易失性计算机存储介质,其中,所述计算机程序包括指令,当所述指令被一个以上的计算机执行时,所述指令使得所述一个以上的计算机执行上述实施方式公开的云数据库的测试方法。本专利技术实施方式与现有技术相比,主要区别及其效果在于:本专利技术通过自动抓取用户发往标准云数据库SQL语句生成相应的模板,自动产生测试用例,实现了对云数据库的自动化测试,极大地降低了测试人力成本,并基于用户发往标准云数据库的真实使用数据生成测试用例,确保数据库测试的稳定性和正确性。进一步地,在生成结构化查询语句模板和测试表结构时进行脱敏处理,在测试时生成测试用例,保证测试所用的数据是后续生成的模拟数据,而非用户的真实数据,有效保护用户数据的安全性和隐私性。附图说明图1是根据本专利技术第一实施方式的云数据库的测试方法的流程示意图;图2是根据本专利技术第二实施方式的云数据库的测试装置的结构示意图。具体实施方式在以下的叙述中,为了使读者更好地理解本申请而提出了许多技术细节。但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请各权利要求所要求保护的技术方案。可以理解,在本专利技术中,获取用户的SQL语句后,本文档来自技高网
...

【技术保护点】
1.一种云数据库的测试方法,其特征在于,包括:获取标准云数据库的测试表结构和对应所述测试表结构的结构化查询语句模板;基于获取到的所述测试表结构和结构化查询语句模板生成测试用例,其中,所述测试用例包括对应所述测试表结构的测试用表数据和对应所述结构化查询语句模板的测试用结构化查询语句;向所述待测试云数据库和标准云数据库同时发送所述测试用例;根据所述待测试云数据库和标准云数据库基于所述测试用例返回的结果确定测试结果;其中,所述结构化查询语句模板是基于用户发往所述标准云数据库的多个结构化查询语句得到的。

【技术特征摘要】
1.一种云数据库的测试方法,其特征在于,包括:获取标准云数据库的测试表结构和对应所述测试表结构的结构化查询语句模板;基于获取到的所述测试表结构和结构化查询语句模板生成测试用例,其中,所述测试用例包括对应所述测试表结构的测试用表数据和对应所述结构化查询语句模板的测试用结构化查询语句;向所述待测试云数据库和标准云数据库同时发送所述测试用例;根据所述待测试云数据库和标准云数据库基于所述测试用例返回的结果确定测试结果;其中,所述结构化查询语句模板是基于用户发往所述标准云数据库的多个结构化查询语句得到的。2.根据权利要求1所述的测试方法,其特征在于,获取标准云数据库的测试表结构和对应所述测试表结构的结构化查询语句模板包括:获取用户发往所述标准云数据库的多个结构化查询语句;对获取的所述多个结构化查询语句进行脱敏处理得到所述结构化查询语句模板。3.根据权利要求2所述的测试方法,其特征在于,获取标准云数据库的测试表结构和对应所述测试表结构的结构化查询语句模板还包括:获取所述标准云数据库的真实表结构;对所述真实表结构进行脱敏处理以隐去用户数据,得到所述测试表结构。4.根据权利要求1至3中任一项所述的测试方法,其特征在于,基于获取到的所述测试表结构和结构化查询语句模板生成测试用例包括:基于所述测试表结构中的字段类型生成测试用表数据,并根据所述结构化查询语句模板生成测试用结构化查询语句。5.根据权利要求4所述的测试方法,其特征在于,所述结构化查询语句模板的类型包括插入模板、更新模板、删除模板和选择模板;并且基于获取到的所述测试表结构和结构化查询语句模板生成测试用例包括:根据所述结构化查询语句模板所属的类型,生成所述测试用例中的测试用结构化查询语句。6.根据权利要求5所述的测试方法,其特征在于,根据所述待测试云数据库和标准云数据库基于所述测试用例返回的结果确定测试结果包括:如果所述待测试云数据库和标准云数据库返回的结果相同,则表示所述待测试云数据库中与所述结构化查询语句模板对应的功能是正常的;如果所述待测试云数据库和标准云数据库返回的结果不同,则表示所述待测试云数据库中与所述结构化查询语句模板...

【专利技术属性】
技术研发人员:刘坚君丁鹏赵永辉
申请(专利权)人:优刻得科技股份有限公司
类型:发明
国别省市:上海,31

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

1