数据库测试方法、装置及计算机可读存储介质与流程

文档序号:14389847阅读:179来源:国知局
数据库测试方法、装置及计算机可读存储介质与流程

本发明涉及程序开发领域,尤其涉及一种数据库测试方法、装置及计算机可读存储介质。



背景技术:

开发人员对测试数据的获取途径比较难,没有基础数据对业务的验证是很难保证代码是否符合各种场景,尤其对于交易系统的代码逻辑涉及到金额的情况时,对业务逻辑要求比较严谨。开发人员提测前很有必要自己先测。

以前开发人员测试自己的业务代码,需要其他部门及相关人员提供数据,其他部门和测试人员很难根据我们的业务场景需求覆盖全。测试数据的产生主要靠各个服务接口调用,依赖性比较强,导致测试数据的产生成本比较高,降低了测试数据的效率。

上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。



技术实现要素:

本发明的主要目的在于提供一种数据库测试方法,旨在解决现有技术在测试数据时由于服务接口调用造成数据测试成本高进而导致的测试数据效率低的技术问题。

为实现上述目的,本发明提供一种数据库测试方法,包括以下内容:

获取目标数据库的数据连接配置信息,并创建与所述目标数据库的数据连接关系;

提取预先存储的数据库基础脚本,将所述数据库基础脚本与目标数据库的配置信息输入至核心类,以所述核心类的数据结构生成数据库功能脚本;

将所述数据库功能脚本的数据内容配置为预设测试方法的数据处理步骤,以使所述预设测试方法实现测试需求时在所述目标数据库执行所述数据库功能脚本。

优选地,所述获取目标数据库的数据连接配置信息,并创建与所述目标数据库的数据连接关系的步骤,还包括:

读取所述配置信息并解析,以解析结果创建与所述目标数据库的数据连接关系。

优选地,所述提取预先存储的数据库基础脚本的步骤,还包括:

读取所述数据库基础脚本的文件存储路径,并按照所述文件存储路径从目的存储位置提取所述数据库基础脚本。

优选地,所述将所述数据库功能脚本的数据内容配置为预设测试方法的数据处理步骤的步骤之前,还包括:

在所述预设测试方法中初始化所述数据库功能脚本,并在初始化完成后执行所述数据库功能脚本。

优选地,所述将所述数据库基础脚本与目标数据库的配置信息输入至核心类,以所述核心类的数据结构生成数据库功能脚本的步骤之前,还包括:

构建生成所述数据库功能脚本核心类的数据结构。

此外,为实现上述目的,本发明还提供一种数据库测试装置,所述数据库测试装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述数据库测试方法的步骤。

本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据库测试应用程序,所述数据库测试应用程序被处理器执行时实现如上所述数据库测试方法的步骤。

本发明实施例提出的一种数据库测试方法,通过获取目标数据库的数据连接配置信息,并创建与所述目标数据库的数据连接关系;提取预先存储的数据库基础脚本,将所述数据库基础脚本与目标数据库的配置信息输入至核心类,以所述核心类的数据结构生成数据库功能脚本;将所述数据库功能脚本的数据内容配置为预设测试方法的数据处理步骤,以使所述预设测试方法实现测试需求时在所述目标数据库执行所述数据库功能脚本。以构建的核心类数据结构生成数据库功能脚本,并将所述数据库功能脚本配置至对应的测试方法执行所述测试结果,以提高测试脚本的配置效率实现了提高数据测试效率的有益效果。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的终端\装置结构示意图;

图2为本发明数据库测试方法第一实施例的流程示意图;

图3为本发明数据库测试系统的测试框架图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例的主要解决方案是:获取目标数据库的数据连接配置信息,并创建与所述目标数据库的数据连接关系;提取预先存储的数据库基础脚本,将所述数据库基础脚本与目标数据库的配置信息输入至核心类,以所述核心类的数据结构生成数据库功能脚本;将所述数据库功能脚本的数据内容配置为预设测试方法的数据处理步骤,以使所述预设测试方法实现测试需求时在所述目标数据库执行所述数据库功能脚本。

由于现有技术中测试数据的产生需依靠各服务接口调用后生成,过于依赖服务接口影响了测试数据的产生,进而导致测试数据的效率低的问题。

本发明提供一种解决方案,通过构建核心类的数据结构,自动生成数据库功能脚本,提高了测试数据的生成速度,进而实现了提高测试数据效率的有益效果。

如图1所示,图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图。

本发明实施例终端可以是pc,也可以是智能手机、平板电脑、电子书阅读器,便携计算机等具有显示功能的可移动式终端设备。

如图1所示,该终端可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据库测试应用程序。

在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的数据库测试应用程序,并执行以下操作:

获取目标数据库的数据连接配置信息,并创建与所述目标数据库的数据连接关系;

提取预先存储的数据库基础脚本,将所述数据库基础脚本与目标数据库的配置信息输入至核心类,以所述核心类的数据结构生成数据库功能脚本;

将所述数据库功能脚本的数据内容配置为预设测试方法的数据处理步骤,以使所述预设测试方法实现测试需求时在所述目标数据库执行所述数据库功能脚本。

进一步地,处理器1001可以调用存储器1005中存储的数据库测试应用程序,还执行以下操作:

读取所述配置信息并解析,以解析结果创建与所述目标数据库的数据连接关系。

进一步地,处理器1001可以调用存储器1005中存储的数据库测试应用程序,还执行以下操作:

读取所述数据库基础脚本的文件存储路径,并按照所述文件存储路径从目的存储位置提取所述数据库基础脚本。

进一步地,处理器1001可以调用存储器1005中存储的数据库测试应用程序,还执行以下操作:

在所述预设测试方法中初始化所述数据库功能脚本,并在初始化完成后执行所述数据库功能脚本。

进一步地,处理器1001可以调用存储器1005中存储的数据库测试应用程序,还执行以下操作:

构建生成所述数据库功能脚本核心类的数据结构。

参照图2,图2为本发明数据库测试方法第一实施例的流程示意图,所述数据库测试方法包括:

步骤s10,获取目标数据库的数据连接配置信息,并创建与所述目标数据库的数据连接关系;

基于当前测试数据的对应目标数据库,读取连接所述目标数据库的配置信息,连接所述目标数据库的配置信息包括登录数据、登录方式、端口、登录用户等,统称为数据连接配置信息。所述目标数据库的类型可以包括但不限于sqlserver、oracle、mysql等,基于不同的目标数据库类型,其连接目标数据库的对应数据库连接配置信息也不一致。在实际应用中,以当前的目标数据库类型读取连接所述目标数据库的数据连接配置信息。

其中,所述获取目标数据库的数据连接配置信息,并创建与所述目标数据库的数据连接关系的步骤,还包括:

读取所述配置信息并解析,以解析结果创建与所述目标数据库的数据连接关系。

基于当前读取到的连接目标数据库的配置信息,解析所述配置信息的内容,并基于所述解析结果创建预设测试方法与所述目标数据库的数据连接关系。所述创建预设测试方法与所述目标数据库的数据连接关系的意义,即可以与所述目标数据库建立数据连接关系后,读取所述目标数据库中的存储数据,包括数据库表、表列名及数据库中存储的数据信息以实现所述预设测试方法的测试目标。另外,在通过所述目标数据库的数据连接关系实现与所述目标数据库的数据访问内容时,还与建立所述目标数据库的数据连接关系的用户名数据权限有关,即不同的数据库用户具备访问所述目标数据库不同数据内容的权限。

步骤s20,将读取到的连接所述目标数据库的配置信息及获取到的所述数据库基础脚本输入至核心类,以所述核心类的数据结构生成数据库功能脚本;

进一步提取预先存储的数据库基础脚本,用以实现基于当前目标数据库的数据测试操作。所述数据库基础脚本,为创建的基本数据库脚本,包括所述目标数据库连接对应数据库名及数据库表的sql语句等,其具体的,与对应的目标数据库类型相关。根据提取到的所述数据库基础脚本及连接所述目标数据库的配置信息,解析所述数据库基础脚本的内容,并将所述解析结果及读取到的连接所述目标数据库的配置信息输入至预先构建的核心类中,以所述核心类的数据结构生成与所述目标数据库及预设测试方法相关的所述数据库功能脚本。所述核心类为预先构建的以数据结构为基础的封装方法,用以通过所述数据结构及输入的基础数据脚本及目标数据库配置信息生成基于预设方法的数据库功能脚本。其生成数据库功能脚本的生成方式,为通过所述核心类的数据结构将输入的数据库配置信息及数据基础脚本的解析结果重组,并生成数据功能脚本,所述数据库功能脚本为可以在数据库中直接执行的sql语句脚本。其核心类的数据结构重组生成数据库功能脚本的具体步骤在实际应用时可以简化为如下所述的内容:首先加载连接所述目标数据库的配置信息,用以创建与所述目标数据库的数据连接关系;进而加载所述数据库基础脚本解析结果;最后通过所述数据库基础脚本中的select语句执行结果反射出表结构,生成数据库功能脚本。而通过核心类的数据结构生成到的所述数据库功能脚本包括不同的功能类型,不同功能类型生成为单个独立的数据库功能脚本,且所述数据库功能脚本的功能类型与输入至所述核心类的数据库基础脚本的内容,即所述数据库基础脚本中构建了何种功能的基础sql语句,可对应生成不同功能的单个独立数据库功能脚本,例如delete功能的数据库功能脚本及insert功能的数据库功能脚本等。

另外,所述提取预先存储的数据库基础脚本的步骤,还包括:

读取所述数据库基础脚本的文件存储路径,并按照所述文件存储路径从目的存储位置提取所述数据库基础脚本。

在获取所述数据库基础脚本时,读取预先保存的存储所述数据库基础脚本的文件路径,并根据读取到的所述文件路径,在目标存储区域获取所述数据库基础脚本。在实际应用中,使用contextconfiguration注解指定所述数据库基础脚本存储的文件路径,且可通过所述注解方式同时指定多个数据库基础脚本存储的文件路径。

进一步的,所述将所述数据库基础脚本与目标数据库的配置信息输入至核心类,以所述核心类的数据结构生成数据库功能脚本的步骤之前,还包括:

构建生成所述数据库功能脚本核心类的数据结构。

基于当前用户所需的数据测试内容,构建生成所述数据库功能脚本的核心类,所述核心类应用java语言编写,其主要的实际功能是为根据解析到的数据库基础脚本的sql语句对应生成数据库功能脚本的实现过程,其具体构建代码,由相关的技术人员设计。

步骤s30,将所述数据库功能脚本的数据内容配置为预设测试方法的数据处理步骤,以使所述预设测试方法实现测试需求时在所述目标数据库执行所述数据库功能脚本。

以通过核心类生成的所述数据库功能脚本配置为预设测试方法的数据处理步骤,即所述测试方法中测试数据的执行步骤。而在将所述数据库功能脚本配置至所述预设测试方法之前,需执行所述数据库功能脚本,并根据执行结果确认所述数据库功能脚本是否正常。继而使所述预设测试方法正常运行。在执行完成所述数据库库功能脚本并确认所述数据库功能脚本正常时,初始化所述数据库功能脚本并将所述数据库功能脚本配置为所述预设测试方法的数据处理步骤。在配置完所述预设测试方法后执行所述预设测试方法,以使所述预设方法在实现对应的测试需求时执行所述数据库功能脚本达到数据测试目的。

进一步的,所述将所述数据库功能脚本的数据内容配置为预设测试方法的数据处理步骤的步骤之前,还包括:

在所述预设测试方法中初始化所述数据库功能脚本,并在初始化完成后执行所述数据库功能脚本。

在以所述数据库功能脚本配置为预设测试方法的数据处理步骤之前,初始化所述数据库功能脚本,但初始化所述数据库功能脚本时,基于所述数据库功能脚本的类型,只需初始化所述数据库功能脚本中的delete功能脚本,以便因为所述delete脚本的类型特性清除与所述delete功能脚本对应的相关冗余进程,并在所述delete功能脚本初始化后,执行以所述数据库功能脚本配置为预设测试方法的数据处理步骤,用以在所述预设测试方法实现测试需求时执行所述数据库功能脚本的步骤,在配置完成后,重复初始化所述数据库功能脚本的步骤,在所有的所述数据库功能脚本初始化完成后,实现所述预设测试方法的数据处理步骤的配置完成操作。

在本实施例中,通过构建到的核心类输入数据库连接信息及预先生成的数据库基础配置文件的解析内容,生成预设测试方法的数据库功能脚本,将生成的所述数据库功能脚本配置至对应的预设测试方法中,实现用户的数据测试需求,通过自动生成测试方法的数据库功能脚本实现数据测试方法,提高了数据测试的脚本生成时间,进而实现了提高数据测试效率的有益效果。

此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有数据库测试应用程序,所述数据库测试应用程序被处理器执行时实现如下操作:

获取目标数据库的数据连接配置信息,并创建与所述目标数据库的数据连接关系;

提取预先存储的数据库基础脚本,将所述数据库基础脚本与目标数据库的配置信息输入至核心类,以所述核心类的数据结构生成数据库功能脚本;

将所述数据库功能脚本的数据内容配置为预设测试方法的数据处理步骤,以使所述预设测试方法实现测试需求时在所述目标数据库执行所述数据库功能脚本。

进一步地,所述数据库测试应用程序被处理器执行时还实现如下操作:

读取所述配置信息并解析,以解析结果创建与所述目标数据库的数据连接关系。

进一步地,所述数据库测试应用程序被处理器执行时还实现如下操作:

读取所述数据库基础脚本的文件存储路径,并按照所述文件存储路径从目的存储位置提取所述数据库基础脚本。

进一步地,所述数据库测试应用程序被处理器执行时还实现如下操作:

在所述预设测试方法中初始化所述数据库功能脚本,并在初始化完成后执行所述数据库功能脚本。

进一步地,所述数据库测试应用程序被处理器执行时还实现如下操作:

构建生成所述数据库功能脚本核心类的数据结构。

此外,本发明还提出一种数据库测试系统,所述数据库测试系统可参考图3,图3为本发明数据库测试系统的测试框架图,包括集成的基本类,及集成所述基本类的测试类,而所述测试框架图的具体实现过程,如上所述的数据库测试方法实现的实施例的内容。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1