数据库测试方法、装置、终端设备及存储介质制造方法及图纸

技术编号:24573525 阅读:41 留言:0更新日期:2020-06-21 00:03
本申请实施例适用于测试技术领域,提供了一种数据库测试方法、装置、终端设备及存储介质,所述方法包括:获取针对目标数据库的测试语句,将所述测试语句分割为多个语句段;采用预置的正则表达式分别对所述多个语句段进行正则匹配,获得所述目标数据库的测试信息,所述测试信息包括测试类型信息;获取与所述测试类型信息相匹配的目标配置语句;根据所述测试信息和所述目标配置语句,生成目标测试语句;采用所述目标测试语句对所述目标数据库进行测试。本实施例可以采用一种语法对应的测试语句实现对不同类型数据库的测试。

Database test method, device, terminal equipment and storage medium

【技术实现步骤摘要】
数据库测试方法、装置、终端设备及存储介质
本申请属于测试
,特别是涉及一种数据库测试方法、装置、终端设备及存储介质。
技术介绍
MongoDB是一种基于分布式文件存储的数据库,具有高性能、易部署、易使用等特性。随着MongoDB在软件行业的日益流行,越来越多的系统开始采用MongoDB作为存储。通常,用户在使用接口平台进行接口测试时,许多测试场景都要求结合数据库进行验证。虽然业内大部分接口平台都提供了执行数据库语句的功能,但对MongoDB数据库的支持仍然较少,或者只能按照接口平台提供的非原生态语法执行对MongoDB数据库的操作。例如,接口平台需要通过非原生态语法MongoClient远程去操作MongoDB数据库。由于MongoDB原生态语法与MongoClient执行的语句存在一定差异,如果接口平台只支持MongoClient语法,测试人员不仅需要重新去学习MongoClient语法,增加测试人员的学习成本,还需要同时维护两套数据库语句,增加维护成本,不利于项目快速迭代的要求。另一方面,由于接口平台缺少对MongoDB数据库的支持,在对测试接口进行比对时,事先设计的自动化场景也容易因为无法对比而不能得到有效保证,更严重地还会导致依赖数据库返回值作为入参的接口无法实现自动化。
技术实现思路
有鉴于此,本申请实施例提供了一种数据库测试方法、装置、终端设备及存储介质,以解决现有技术中无法使用MongoClient执行语句直接对MongoDB数据库进行测试的问题。本申请实施例的第一方面提供了一种数据库测试方法,包括:获取针对目标数据库的测试语句,将所述测试语句分割为多个语句段;采用预置的正则表达式分别对所述多个语句段进行正则匹配,获得所述目标数据库的测试信息,所述测试信息包括测试类型信息;获取与所述测试类型信息相匹配的目标配置语句;根据所述测试信息和所述目标配置语句,生成目标测试语句;采用所述目标测试语句对所述目标数据库进行测试。本申请实施例的第二方面提供了一种数据库测试装置,包括:语句段分割模块,用于获取针对目标数据库的测试语句,将所述测试语句分割为多个语句段;正则匹配模块,用于采用预置的正则表达式分别对所述多个语句段进行正则匹配,获得所述目标数据库的测试信息,所述测试信息包括测试类型信息;目标配置语句获取模块,用于获取与所述测试类型信息相匹配的目标配置语句;目标测试语句生成模块,用于根据所述测试信息和所述目标配置语句,生成目标测试语句;数据库测试模块,用于采用所述目标测试语句对所述目标数据库进行测试。本申请实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述数据库测试方法的步骤。本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述数据库测试方法的步骤。与现有技术相比,本申请实施例包括以下优点:本申请实施例,通过获取针对目标数据库的测试语句,在将测试语句分割为多个语句段后,可以采用预置的正则表达式分别对多个语句段进行正则匹配,获得目标数据库的测试信息;然后,通过获取与测试信息中的测试类型信息相匹配的目标配置语句,可以根据测试信息和目标配置语句,生成目标测试语句,使得测试设备可以采用上述目标测试语句对目标数据库进行测试。本实施例通过采用正则匹配的方式从仅仅适于数据库的语句中匹配出用于执行测试的测试信息,然后可以基于上述信息生成适于测试设备的执行语句,解决了使用某些类型数据库的用户在采用测试设备执行测试任务时,由于测试设备不支持该类型数据库语句而需要重新学习测试语法的问题,使得用户在测试时,可以直接使用与日常操作数据库相同的语法执行测试,方便了测试人员直接把数据库原生态语句直接迁移到测试设备上,减少了用户的学习成本以及维护成本,提高了测试效率。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本申请一个实施例的一种数据库测试方法的步骤流程示意图;图2是本申请一个实施例的另一种数据库测试方法的步骤流程示意图;图3是本申请一个实施例的一种数据库测试装置的示意图;图4是本申请一个实施例的一种终端设备的示意图。具体实施方式以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域技术人员应当清楚,在没有这些具体细节的其他实施例中也可以实现本申请。在其他情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。下面通过具体实施例来说明本申请的技术方案。参照图1,示出了本申请一个实施例的一种数据库测试方法的步骤流程示意图,具体可以包括如下步骤:S101、获取针对目标数据库的测试语句,将所述测试语句分割为多个语句段;需要说明的是,本方法可以适用于终端设备,该终端设备可以是能够对数据库进行测试的设备或工具。一般地,测试设备对数据库的测试都是通过一定的测试语句来实现的。在建立测试设备与数据库之间的通信连接后,测试设备通过向数据库发送一条或数条测试语句,以验证数据库是否具备某些功能,或者检测数据库的性能是否稳定。通常,测试设备所提供的测试语句都是某种编程语言写成的,如果需要进行测试的数据库也是基于该语言开发的,那么就可以直接使用相同的语言编写测试语句。但是,若开发数据库所使用的编程语言与测试设备所使用的语言不同,则无法直接测试设备所提供的测试语句对数据库进行测试,需要将数据库适用的语句转换为测试设备能够理解的语句,以方便接口测试工具准确地执行。本实施例即是通过获取适用于数据库的测试语句,经过一系列的处理,从而将其转换为适用于测试设备的目标测试语句。因此,针对目标数据库的测试语句可以是按照开发该目标数据库时使用的编程语言所编写的测试语句。如果测试测试所使用的编程语言与数据库所使用的编程语言不通,这类测试语句则不能直接在测试设备中进行使用。在本实施例中,测试语句可以是由测试人员通过测试设备的前端界面输入的。测试设备在获取到上述测试语句后,可以按照一定的规则将语句分割为多个语句段。在具体实现中,可以根据测试语句所使用的语法规则对语句进行分割。例如,某些编程语言使用点分隔符(.)来间隔同一个语句中的不同部分,而另外一些编程语言则可能直接使用空格来间隔同一个语句中的不同部分。因此,在对测试语句进行分隔时,就可以按照点分隔符或者空格来完成语句段的划分。或者,也可以使用类似于本文档来自技高网...

【技术保护点】
1.一种数据库测试方法,其特征在于,包括:/n获取针对目标数据库的测试语句,将所述测试语句分割为多个语句段;/n采用预置的正则表达式分别对所述多个语句段进行正则匹配,获得所述目标数据库的测试信息,所述测试信息包括测试类型信息;/n获取与所述测试类型信息相匹配的目标配置语句;/n根据所述测试信息和所述目标配置语句,生成目标测试语句;/n采用所述目标测试语句对所述目标数据库进行测试。/n

【技术特征摘要】
1.一种数据库测试方法,其特征在于,包括:
获取针对目标数据库的测试语句,将所述测试语句分割为多个语句段;
采用预置的正则表达式分别对所述多个语句段进行正则匹配,获得所述目标数据库的测试信息,所述测试信息包括测试类型信息;
获取与所述测试类型信息相匹配的目标配置语句;
根据所述测试信息和所述目标配置语句,生成目标测试语句;
采用所述目标测试语句对所述目标数据库进行测试。


2.根据权利要求1所述的方法,其特征在于,所述获取针对目标数据库的测试语句,将所述测试语句分割为多个语句段,包括:
获取针对目标数据库的测试语句,识别所述测试语句中包含的分隔符;
根据所述分隔符,将所述测试语句分割为多个语句段。


3.根据权利要求1所述的方法,其特征在于,所述采用预置的正则表达式分别对所述多个语句段进行正则匹配,获得所述目标数据库的测试信息,包括:
针对所述多个语句段中的任一目标语句段,识别所述目标语句段是否为所述测试语句的语句头;
若否,则将所述目标语句段与预置的多个正则表达式逐个进行正则匹配;
当所述目标语句段命中任一正则表达式时,获取当前命中的正则表达式对应的测试信息,并将所述当前命中的正则表达式对应的测试信息作为所述目标数据库的测试信息。


4.根据权利要求3所述的方法,其特征在于,所述正则表达式包括测试类型表达式和测试对象表达式,所述当所述目标语句段命中任一正则表达式时,获取当前命中的正则表达式对应的测试信息,包括:
当所述目标语句段命中预置的测试类型表达式时,获取所述测试类型表达式对应的测试类型信息;
采用预置的测试对象表达式再次对所述目标语句段进行正则匹配,获取所述测试对象表达式对应的测试对象信息。


5.根据权利要求4所述的方法,其特征在于,所述测试信息还包括数据表信息,所述根据所述测试信息和所述目标配置语句,生...

【专利技术属性】
技术研发人员:吴伟明
申请(专利权)人:中国平安人寿保险股份有限公司
类型:发明
国别省市:广东;44

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

1