CN110147319A - 数据库测试方法、装置及计算机设备 - Google Patents
数据库测试方法、装置及计算机设备 Download PDFInfo
- Publication number
- CN110147319A CN110147319A CN201910317826.3A CN201910317826A CN110147319A CN 110147319 A CN110147319 A CN 110147319A CN 201910317826 A CN201910317826 A CN 201910317826A CN 110147319 A CN110147319 A CN 110147319A
- Authority
- CN
- China
- Prior art keywords
- test
- tested
- database
- data
- inquiry
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
Abstract
本发明公开了一种数据库测试方法、装置及计算机设备,所述数据库测试方法包括:获取为待测试数据库创建的测试用例脚本;获取测试人员针对所述待测试数据库输入的配置指令,根据所述配置指令向所述测试用例脚本注入测试参数;通过注入测试参数的所述测试用例脚本对所述待测试数据库进行测试,得到所述待测试数据库在测试过程中返回的查询数据;根据所述查询数据生成所述待测试数据库的测试结果。采用本发明所提供的数据库测试方法、装置及计算机设备解决了现有技术中数据库测试依赖于人工实现的问题,尤其适用于测试领域中的功能测试。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据库测试方法、装置及计算机设备。
背景技术
服务器为用户提供的后台服务,通常是基于数据库中的数据表实现。例如,服务器上部署了数据库,那么,用户便可通过对数据库中数据表进行查询,从而获得服务器提供的后台服务。
为此,针对服务器所部署的数据库,在向用户提供后台服务之前,需要进行数据库测试。
目前,数据库测试主要依赖于测试人员手动执行,尤其是针对数据表进行连续、频繁地查询时,自动化程度不高,效率较低,而且浪费大量人力,测试成本居高不下。
发明内容
为了解决相关技术中存在的数据库测试依赖于人工实现的问题,本发明各实施例提供一种数据库测试方法、装置及计算机设备。
其中,本发明所采用的技术方案为:
在本发明实施例公开的一方面,一种数据库测试方法,包括:获取为待测试数据库创建的测试用例脚本;获取测试人员针对所述待测试数据库输入的配置指令,根据所述配置指令向所述测试用例脚本注入测试参数;通过注入测试参数的所述测试用例脚本对所述待测试数据库进行测试,得到所述待测试数据库在测试过程中返回的查询数据;根据所述查询数据生成所述待测试数据库的测试结果。
在本发明实施例公开的另一方面,一种数据库测试装置,包括:脚本获取模块,用于获取为待测试数据库创建的测试用例脚本;测试参数注入模块,用于获取测试人员针对所述待测试数据库输入的配置指令,根据所述配置指令向所述测试用例脚本注入测试参数;查询数据获取模块,用于通过注入测试参数的所述测试用例脚本对所述待测试数据库进行测试,得到所述待测试数据库在测试过程中返回的查询数据;测试结果生成模块,用于根据所述查询数据生成所述待测试数据库的测试结果。
在一示例性实施例中,所述测试参数注入模块包括:配置指令读取单元,用于确定所述配置指令的存储路径,从所述存储路径指向的指令存储位置中读取所述配置指令;配置指令解析单元,用于对所述配置指令进行解析,得到所述测试参数;测试参数封装单元,用于将所述测试参数按照指定格式封装至所述测试用例脚本。
在一示例性实施例中,所述查询数据获取模块包括:条件提取单元,用于从所述测试用例脚本中注入的测试参数提取得到测试停止条件;数据表和字段获取单元,用于如果所述测试停止条件不满足,则从所述测试参数中获取指定数据表和指定字段;数据表查询单元,用于按照所述指定字段对所述指定数据表进行查询,得到所述查询数据。
在一示例性实施例中,所述查询数据获取模块还包括:第一跳转单元,用于如果所述测试停止条件满足,则跳转执行所述根据所述查询数据生成所述待测试数据库的测试结果步骤,所述测试结果指示所述待测试数据库未通过测试。
在一示例性实施例中,所述测试结果生成模块包括:目标数据和条件读取单元,用于从所述测试参数中读取目标数据和查询满足条件;比较单元,用于进行所述目标数据与所述查询数据之间的比较,得到比较结果;结果生成单元,用于如果所述比较结果满足所述查询满足条件,则生成指示所述待测试数据库通过测试的测试结果;第二跳转单元,用于如果所述比较结果不满足所述查询满足条件,则跳转执行所述通过所述测试用例脚本中注入的测试参数进行所述待测试数据库的测试,得到所述待测试数据库在测试过程中返回的查询数据步骤。
在一示例性实施例中,所述装置还包括:条件定义模块,用于如果检测到所述待测试数据库中涉及的数据库语句能够用于存储过程调用,则将所述目标数据与所述查询数据之间的包含关系添加至所述查询满足条件,以基于完成包含关系添加的查询满足条件进行所述待测试数据库的测试。
在一示例性实施例中,所述装置还包括:脚本初始化模块,用于在所述待测试数据库完成当前一次测试后,对所述测试用例脚本进行初始化;脚本存储模块,用于存储初始化的测试用例脚本,以供所述待测试数据库的后一次测试。
在一示例性实施例中,所述装置还包括:数据库连接模块,用于与所述待测试数据库连接;所述数据库连接模块包括:配置信息获取单元,用于从测试配置文件中获取所述待测试数据库的连接配置信息;连接建立单元,用于根据所述连接配置信息建立计算机设备与所述待测试数据库之间的数据连接关系。
在本发明实施例公开的另一方面,一种数据库测试装置,包括处理器及存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如上所述的数据库测试方法。
在本发明实施例公开的另一方面,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的数据库测试方法。
在上述技术方案中,基于为待测试数据库创建的测试用例脚本,根据测试人员针对待测试数据库输入的配置指令将测试参数注入,进而通过注入测试参数的测试用例脚本进行待测试数据库的测试,得到待测试数据库在测试过程中返回的查询数据,以根据查询数据生成待测试数据库的测试结果,由此,实现了数据库测试的自动化,避免依赖于测试人员手动执行,不仅有效地提高了测试效率,而且节省了大量人力,降低了测试成本。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并于说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种计算机设备的硬件结构框图。
图2根据一示例性实施例示出的一种数据库测试方法的流程图。
图3是图2对应实施例中步骤330在一个实施例的流程图。
图4是图2对应实施例中步骤350在一个实施例的流程图。
图5是图2对应实施例中步骤370在一个实施例的流程图。
图6是根据一示例性实施例示出的另一种数据库测试方法的流程图。
图7是根据一示例性实施例示出的另一种数据库测试方法的流程图。
图8是根据一示例性实施例示出的一种数据库测试装置的框图。
图9是根据一示例性实施例示出的一种计算机设备的框图。
通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述,这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种计算机设备的硬件结构框图。该计算机设备可以是服务器、台式电脑、笔记本电脑等,在此并不构成具体限定。
需要说明的是,该种计算机设备只是一个适配于本发明的示例,不能认为是提供了对本发明的使用范围的任何限制。该种计算机设备也不能解释为需要依赖于或者必须具有图1中示出的示例性的计算机设备200中的一个或者多个组件。
计算机设备200的硬件结构可因配置或者性能的不同而产生较大的差异,如图1所示,计算机设备200包括:电源210、接口230、至少一存储器250、以及至少一中央处理器(CPU,Central Processing Units)270。
其中,电源210用于为计算机设备200上的各硬件设备提供工作电压。
接口230包括至少一有线或无线网络接口231、至少一串并转换接口233、至少一输入输出接口235以及至少一USB接口237等,用于与外部设备通信。
存储器250作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统251、应用程序253及数据255等,存储方式可以是短暂存储或者永久存储。其中,操作系统251用于管理与控制计算机设备200上的各硬件设备以及应用程序253,以实现中央处理器270对海量数据255的计算与处理,其可以是WindowsServerTM、Mac OS XTM、UnixTM、LinuxTM、FreeBSDTM等。应用程序253是基于操作系统251之上完成至少一项特定工作的计算机程序,其可以包括至少一模块(图1中未示出),每个模块都可以分别包含有对计算机设备200的一系列计算机可读指令。数据255可以是存储于磁盘中的照片、图片等。
中央处理器270可以包括一个或多个以上的处理器,并设置为通过总线与存储器250通信,用于运算与处理存储器250中的海量数据255。
如上面所详细描述的,适用本发明的计算机设备200将通过中央处理器270读取存储器250中存储的一系列计算机可读指令的形式来完成数据库测试方法。
此外,通过硬件电路或者硬件电路结合软件也能同样实现本发明,因此,实现本发明并不限于任何特定硬件电路、软件以及两者的组合。
请参阅图2,在一示例性实施例中,一种数据库测试方法适用于计算机设备,该计算机设备的结构可以如图1所示。
该种数据库测试方法可以由计算机设备执行,可以包括以下步骤:
步骤310,获取为待测试数据库创建的测试用例脚本。
测试用例脚本,是对待测试数据库进行测试的任务描述,包括但不限于测试环境、测试步骤、测试预期结果等等。
测试用例脚本的创建,可以是在测试人员针对待测试数据库发起测试请求时,由计算机设备响应测试请求被动地进行;还可以是计算机设备按照指定周期主动进行。
相应地,关于测试用例脚本的获取,可以是实时创建的测试用例脚本,还可以是计算机设备中预先存储的测试用例脚本,即通过读取计算机设备的存储器中一历史时间创建的测试用例脚本,本实施例对此并未加以限定。
换而言之,为待测试数据库创建测试用例脚本之后,可以针对测试用例脚本进行待测试数据库的测试,也可以预先存储后再进行待测试数据库的测试,例如,根据测试人员的指示进行,或者,在计算机设备中任务处理较少时进行。
步骤330,获取测试人员针对所述待测试数据库输入的配置指令,根据所述配置指令向所述测试用例脚本注入测试参数。
首先,配置指令,是测试人员针对待测试数据库输入的。也即是,配置指令用于测试人员指示计算机设备如何对待测试数据库进行测试。
具体地,计算机设备将为配置指令的输入提供一个入口,如果测试人员希望对待测试数据库进行测试,便可通过该入口触发操作而输入配置指令。
举例来说,在计算机设备所配置的显示界面中呈现一输入对话框,测试人员便可借由计算机设备配置的输入组件在输入对话框中输入配置指令。其中,输入对话框即为计算机设备提供的入口,而输入操作即为测试人员在该入口触发的操作。
需要说明的是,根据计算机设备所配置的输入组件(例如,显示屏幕上覆盖的触摸层、鼠标、键盘等)的不同,测试人员触发的操作也可以有所不同。例如,借由触摸层输入的平板电脑而言,操作可以是点击、滑动等手势操作,而对于配置鼠标的台式电脑而言,操作则可以是拖拽、单击、双击等机械操作,在此不进行限定。
当测试人员在入口触发了操作,计算机设备便可检测到该操作,进而通过检测到的操作获知测试人员针对待测试数据库输入了配置指令。
关于配置指令的获取,可以是实时输入的配置指令,也可以是预先存储的配置指令,即通过读取计算机设备的存储器中一历史时间测试人员输入的配置指令,本实施例对此并未加以限定。
换而言之,测试人员针对待测试数据库输入配置指令之后,可以根据配置指令向测试用例脚本注入测试参数,也可以预先存储后再进行测试参数的注入,例如,根据测试人员的指示进行,或者,在计算机设备中任务处理较少时进行。
进一步地,配置指令包括不同类型的测试参数,以此指示计算机设备如何对待测试数据库进行测试。此测试参数包括但不限于:指定数据表、指定字段、目标数据、测试停止条件、查询满足条件等等。
其中,指定数据表用于指示待测试数据库中需要进行测试的数据表。
指定字段用于指示数据表中需要进行测试的字段。
目标数据用于指示测试人员期望待测试数据库在测试过程中返回的查询数据。
测试停止条件用于指示待测试数据库停止测试的条件,可以是测试次数、测试时间等。
查询满足条件用于指示目标数据与查询数据之间存在何种关系时待测试数据库通过测试,可以是相等、不等、包含等关系。
通过如此设置,无论待测试数据库是否发生变化,测试人员输入的配置指令均可以灵活多变,以此充分地保证了数据库自动化测试过程中的灵活性和多样性,进而确保待测试数据库的测试准确率。
步骤350,通过注入测试参数的所述测试用例脚本对所述待测试数据库进行测试,得到所述待测试数据库在测试过程中返回的查询数据。
在完成测试用例脚本的测试参数注入,待测试数据库便可基于注入测试参数的测试用例脚本进行测试。
测试,是指基于注入测试参数的测试用例脚本,对待测试数据库中数据表所包含的字段进行查询。
可以理解,待测试数据库中存在多个数据表,而每一个数据表又包含多个字段,为此,测试过程,也可以理解为是待测试数据库中数据表所包含的字段的遍历查询过程,即针对每一个需要测试的数据表所包含的字段进行查询。
由此,测试过程中,待测试数据库中数据表所包含字段的数值,即为待测试数据库返回的查询数据。
步骤370,根据所述查询数据生成所述待测试数据库的测试结果。
测试结果,用于指示待测试数据是否通过测试。
例如,查询数据与测试参数中的目标数据相等,则生成指示待测试数据通过测试的测试结果。
通过如上所述的过程,测试人员仅需要针对待测试数据库输入配置指令,便可控制计算机设备基于测试用例脚本自动进行待测试数据库的测试,避免依赖于测试人员手动执行,有效地提高了测试效率,而且节省了大量人力,降低了测试成本。
请参阅图3,在一示例性实施例中,步骤330可以包括以下步骤:
步骤331,确定所述配置指令的存储路径,从所述存储路径指向的指令存储位置中读取所述配置指令。
本实施例中,配置指令是预先存储的,以便于在需要进行待测试数据库测试的时候读取。
具体地,确定配置指令在计算机设备所配置存储器中的存储路径,那么,便可基于该存储路径从存储器中的指令存储位置读取到配置指令。
也即是,存储路径,用于唯一地指向配置指令在存储器中的指令存储位置。
步骤333,对所述配置指令进行解析,得到所述测试参数。
如前所述,配置指令包括不同类型的测试参数,此测试参数包括但不限于:指定数据表、指定字段、目标数据、测试停止条件、查询满足条件等等。
举例来说,对于配置指令而言,包含100bits,按照从前往后的顺序排列,前10bits是指定数据表,11~20bits是指定字段,21~30bits是目标数据,31~50bits是测试停止条件,51~70bits是查询满足条件,最后71~100bits是保留比特位。
那么,解析,实质是按照指定比特位进行测试参数的提取,例如,从配置指令所包含的100bits中提取11~20bits,得到指定字段。
由此,通过解析,便可得到配置指令中的测试参数。
步骤335,将所述测试参数按照指定格式封装至所述测试用例脚本。
可以理解,对于不同测试环境而言,测试用例脚本所使用的语言可能有所区别,例如,所使用的语言可以是C++、JAVA等,那么,测试参数封装至测试用例脚本的指定格式也将各不相同,需要符合测试用例脚本所使用的语言。
为此,在测试参数按照指定格式封装至测试用例脚本之后,即完成测试用例脚本中的测试参数注入。
在上述实施例的作用下,实现了为测试用例脚本注入测试参数,使得后续基于注入测试参数的测试用例脚本对待测试数据库进行自动化测试得以实现。
请参阅图4,在一示例性实施例中,步骤350可以包括以下步骤:
步骤351,从所述测试用例脚本中注入的测试参数提取得到测试停止条件。
其中,测试停止条件,包含于测试参数中,用于指示待测试数据库停止测试的条件,可以是测试次数、测试时间等。
例如,测试停止条件为测试时间一小时,那么,当对待测试数据库测试的时间达到一小时,则视为测试停止条件满足,即停止对待测试数据库进行测试。
或者,测试停止条件为测试次数100次,那么,当对待测试数据库测试的次数达到100次,则视为测试停止条件满足,即停止对待测试数据库进行测试。
可以理解,对于计算机设备而言,针对待测试数据库进行的测试,只有待测试数据库通过测试,才主动停止对待测试数据库的测试,否则,会一直持续地对待测试数据库进行测试,直至满足测试停止条件时,才被动停止对待测试数据库的测试。
也就是说,如果所述测试停止条件不满足,则跳转执行步骤353至步骤355,对待测试数据库进行测试,直至待测试数据库通过测试。
反之,如果所述测试停止条件满足,则跳转执行步骤370,此时,获得所述测试结果指示所述待测试数据库未通过测试。
通过测试停止条件的设置,避免待测试数据库未通过测试时无法停止测试,以此进一步提高了测试效率。
步骤353,从所述测试参数中获取指定数据表和指定字段。
其中,指定数据表,包含于测试参数中,用于指示待测试数据库中需要进行测试的数据包。
指定字段,包含于测试参数中,用于指示数据表中需要进行测试的字段。
步骤355,按照所述指定字段对所述指定数据表进行查询,得到所述查询数据。
在从测试参数中获得指定数据表和指定字段之后,便可基于指定数据表和指定字段对待测试数据库进行测试,也即是,对待测试数据库中指定数据表所包含的指定字段进行查询。
那么,待测试数据库在测试过程中,便会返回关于指定数据表所包含指定字段的数值,即为查询数据。
在此,结合表1,对数据库的相关定义进行如下说明。
表1
序号 | 工号 | 姓名 | 性别 |
1 | 001 | 张三 | 男 |
2 | 002 | 李四 | 男 |
如表1所示,每一行数据视为数据表的一条记录,例如,序号1、工号001、姓名张三、性别男视为第一条记录,序号2、工号002、姓名李四、性别男视为第二条记录。
针对每一条记录,“序号”、“工号”、“姓名”、“性别”等视为字段名,“1”、“002”、“男”等视为字段,而“1”字段、“2”字段均属于字段名为“序号”的字段,“001”字段、“002”字段均属于字段名为“工号”的字段,以此类推。
由上可知,对于同一数据表而言,每一条记录是唯一的,不同字段所属的字段名是唯一的,但是不同字段的数值可能存在相同,例如,字段名为“性别”的字段的数值均为“男”。
举例来说,假设测试参数中获取的指定数据表为表1,指定字段为“001”字段,那么,按照“001”字段对表1进行查询,得到的查询数据为001。
请参阅图5,在一示例性实施例中,步骤370可以包括以下步骤:
步骤371,从所述测试参数中读取目标数据和查询满足条件。
其中,目标数据,包含于测试参数,用于指示测试人员期望待测试数据库在测试过程中返回的查询数据。
查询满足条件,包含于测试参数,用于指示目标数据与查询数据之间存在何种关系时代测试数据库通过测试,可以是相等、非空、包含等关系。
步骤373,进行所述目标数据与所述查询数据之间的比较,得到比较结果。
相应于查询满足条件,比较结果,用于指示目标数据与查询数据之间是否相等,或者,指示目标数据与查询数据之间是否不等,又或者,指示目标数据与查询数据之间是否存在包含关系等。
值得一提的是,目标数据与查询数据之间是否相等,也可以将目标数据配置为空,那么,当查询数据返回为空时,可视为目标数据与查询数据相等。
步骤374,判断所述比较结果是否满足所述查询满足条件。
如果所述比较结果满足所述查询满足条件,则跳转执行步骤375。
反之,如果所述比较结果不满足所述查询满足条件,则跳转执行步骤350,基于测试用例脚本继续对待测试数据库进行测试。
步骤375,生成指示所述待测试数据库通过测试的测试结果。
仍以前述例子基于不同的目标数据和查询满足条件,来说明待测试数据库的测试结果。
假设查询满足条件为目标数据与查询数据相等,那么,当目标数据为001,查询数据也为001,则生成的测试结果指示待测试数据库通过测试。
如果目标数据为002,而查询数据为001,则生成的测试结果指示待测试数据库未通过测试。
当然,根据不同应用场景的实际需求,指定数据表和指定字段可配置多个,相应地,待测试数据库所返回的查询数据将存在多个,那么,进行待测试数据库测试时,仅当所有的目标数据与对应的查询数据之间的比较均满足查询满足条件,才可视为待测试数据库通过测试。
在上述实施例的作用下,实现了针对指定数据表所包含指定字段进行的连续、频繁地自动化查询,大大提高了数据库测试的自动化程度,提高了测试效率。
在一示例性实施例中,如上所述的方法还可以包括以下步骤:
如果检测到所述待测试数据库中涉及的数据库语句能够用于存储过程调用,则将所述目标数据与所述查询数据之间的包含关系添加至所述查询满足条件,以基于完成包含关系添加的查询满足条件进行所述待测试数据库的测试。
也就是说,如果检测到待测试数据库中涉及的数据库语句能够用于存储过程调用,则查询满足条件可被配置为支持目标数据与查询数据之间的包含关系。
例如,如果目标数据为abc,那么,当查询数据为a,则目标数据abc包含查询数据a,即视为满足查询满足条件,此时,待测试数据库视为通过测试。
上述过程中,丰富了查询满足条件的配置,有利于提高待测试数据库的测试通过率,进而提高测试效率。
请参阅图6,在一示例性实施例中,如上所述的方法还可以包括以下步骤:
步骤510,在所述待测试数据库完成当前一次测试后,对所述测试用例脚本进行初始化。
步骤530,存储初始化的测试用例脚本,以供所述待测试数据库的后一次测试。
也就是说,待测试数据库完成当前一次测试后,为了方便后一次待测试数据库的测试,通过测试用例脚本的存储,测试用例脚本可以不用重新创建,而只需要初始化,进而进一步有效地提高测试效率。
当然,在另一实施例中,如果计算机设备所配置的存储器的存储空间有限,还将对测试用例脚本执行定期清除处理,以提高计算机设备的存储空间利用率。
请参阅图7,在一示例性实施例中,如上所述的方法还可以包括以下步骤:与所述待测试数据库连接。
所述与所述待测试数据库连接,可以包括以下步骤:
步骤610,从测试配置文件中获取所述待测试数据库的连接配置信息。
测试配置文件,是测试人员为待测试数据库进行测试而预先部署于计算机设备的,用于控制计算机设备与待测试数据库进行数据连接。
每一个待测试数据库都在测试配置文件中存储有相应的连接配置信息。可以理解,待测试数据库的类型不同,例如,类型可以是SQL Server、Oracle、mySql等,测试配置文件中存储的待测试数据库相应的连接配置信息也有所区别。
本实施例中,基于当前一次测试的待测试数据库的类型获取相应的连接配置信息。
具体地,在确定待测试数据库的类型之后,即可由此待测试数据库的类型在测试配置文件中进行相应连接配置信息的查找,从而得到用于指示计算机设备与待测试数据库如何建立数据连接关系的连接配置信息。
步骤630,根据所述连接配置信息建立计算机设备与所述待测试数据库之间的数据连接关系。
其中,在计算机设备与待测试数据库之间建立数据连接关系,进而方能够基于所建立的数据连接关系实现计算机设备对待测试数据库的自动化测试。
下述为本发明装置实施例,可以用于执行本发明所涉及的数据库测试方法。对于本发明装置实施例中未披露的细节,请参照本发明所涉及的数据库测试方法的方法实施例。
请参阅图8,在一示例性实施例中,一种数据库测试装置900包括但不限于:脚本获取模块910、测试参数注入模块930、查询数据获取模块950及测试结果生成模块970。
其中,脚本获取模块910,用于获取为待测试数据库创建的测试用例脚本。
测试参数注入模块930,用于获取测试人员针对所述待测试数据库输入的配置指令,根据所述配置指令向所述测试用例脚本注入测试参数。
查询数据获取模块950,用于通过注入测试参数的所述测试用例脚本对所述待测试数据库进行测试,得到所述待测试数据库在测试过程中返回的查询数据。
测试结果生成模块970,用于根据所述查询数据生成所述待测试数据库的测试结果。
需要说明的是,上述实施例所提供的数据库测试装置在进行数据库测试处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即数据库测试装置的内部结构将划分为不同的功能模块,以完成以上描述的全部或者部分功能。
另外,上述实施例所提供的数据库测试装置与数据库测试方法的实施例属于同一构思,其中各个模块执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。
请参阅图9,在一示例性实施例中,一种计算机设备1000,包括至少一处理器1001、至少一存储器1002、以及至少一通信总线1003。
其中,存储器1002上存储有计算机可读指令,处理器1001通过通信总线1003读取存储器1002中存储的计算机可读指令。
该计算机可读指令被处理器1001执行时实现上述各实施例中的数据库测试方法。
在一示例性实施例中,一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各实施例中的数据库测试方法。
上述内容,仅为本发明的较佳示例性实施例,并非用于限制本发明的实施方案,本领域普通技术人员根据本发明的主要构思和精神,可以十分方便地进行相应的变通或修改,故本发明的保护范围应以权利要求书所要求的保护范围为准。
Claims (10)
1.一种数据库测试方法,其特征在于,包括:
获取为待测试数据库创建的测试用例脚本;
获取测试人员针对所述待测试数据库输入的配置指令,根据所述配置指令向所述测试用例脚本注入测试参数;
通过注入测试参数的所述测试用例脚本对所述待测试数据库进行测试,得到所述待测试数据库在测试过程中返回的查询数据;
根据所述查询数据生成所述待测试数据库的测试结果。
2.如权利要求1所述的方法,其特征在于,所述获取测试人员针对所述待测试数据库输入的配置指令,根据所述配置指令向所述测试用例脚本注入测试参数,包括:
确定所述配置指令的存储路径,从所述存储路径指向的指令存储位置中读取所述配置指令;
对所述配置指令进行解析,得到所述测试参数;
将所述测试参数按照指定格式封装至所述测试用例脚本。
3.如权利要求1所述的方法,其特征在于,所述通过注入测试参数的所述测试用例脚本对所述待测试数据库进行测试,得到所述待测试数据库在测试过程中返回的查询数据,包括:
从所述测试用例脚本中注入的测试参数提取得到测试停止条件;
如果所述测试停止条件不满足,则从所述测试参数中获取指定数据表和指定字段;
按照所述指定字段对所述指定数据表进行查询,得到所述查询数据。
4.如权利要求3所述的方法,其特征在于,所述通过注入测试参数的所述测试用例脚本对所述待测试数据库进行测试,得到所述待测试数据库在测试过程中返回的查询数据,还包括:
如果所述测试停止条件满足,则跳转执行所述根据所述查询数据生成所述待测试数据库的测试结果步骤,所述测试结果指示所述待测试数据库未通过测试。
5.如权利要求1所述的方法,其特征在于,所述根据所述查询数据生成所述待测试数据库的测试结果,包括:
从所述测试参数中读取目标数据和查询满足条件;
进行所述目标数据与所述查询数据之间的比较,得到比较结果;
如果所述比较结果满足所述查询满足条件,则生成指示所述待测试数据库通过测试的测试结果;
如果所述比较结果不满足所述查询满足条件,则跳转执行所述通过注入测试参数的所述测试用例脚本对所述待测试数据库进行测试,得到所述待测试数据库在测试过程中返回的查询数据步骤。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
如果检测到所述待测试数据库中涉及的数据库语句能够用于存储过程调用,则将所述目标数据与所述查询数据之间的包含关系添加至所述查询满足条件,以基于完成包含关系添加的查询满足条件进行所述待测试数据库的测试。
7.如权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
在所述待测试数据库完成当前一次测试后,对所述测试用例脚本进行初始化;
存储初始化的测试用例脚本,以供所述待测试数据库的后一次测试。
8.如权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:与所述待测试数据库连接;
所述与所述待测试数据库连接,包括:
从测试配置文件中获取所述待测试数据库的连接配置信息;
根据所述连接配置信息建立计算机设备与所述待测试数据库之间的数据连接关系。
9.一种数据库测试装置,其特征在于,包括:
脚本获取模块,用于获取为待测试数据库创建的测试用例脚本;
测试参数注入模块,用于获取测试人员针对所述待测试数据库输入的配置指令,根据所述配置指令向所述测试用例脚本注入测试参数;
查询数据获取模块,用于通过注入测试参数的所述测试用例脚本对所述待测试数据库进行测试,得到所述待测试数据库在测试过程中返回的查询数据;
测试结果生成模块,用于根据所述查询数据生成所述待测试数据库的测试结果。
10.一种计算机设备,其特征在于,包括:
处理器;及
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如权利要求1至8中任一项所述的数据库测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910317826.3A CN110147319B (zh) | 2019-04-19 | 2019-04-19 | 数据库测试方法、装置及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910317826.3A CN110147319B (zh) | 2019-04-19 | 2019-04-19 | 数据库测试方法、装置及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110147319A true CN110147319A (zh) | 2019-08-20 |
CN110147319B CN110147319B (zh) | 2022-09-20 |
Family
ID=67588470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910317826.3A Active CN110147319B (zh) | 2019-04-19 | 2019-04-19 | 数据库测试方法、装置及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110147319B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111143196A (zh) * | 2019-12-05 | 2020-05-12 | 武汉迎风聚智科技有限公司 | 数据库的测试方法以及装置 |
CN112835778A (zh) * | 2021-02-25 | 2021-05-25 | 紫光云技术有限公司 | 一种rds数据库性能的通用测试方法、电子设备、服务器 |
CN113608981A (zh) * | 2021-07-27 | 2021-11-05 | 远景智能国际私人投资有限公司 | 时序数据库测试方法、装置、计算机设备及存储介质 |
CN114070768A (zh) * | 2021-11-29 | 2022-02-18 | 中国工商银行股份有限公司 | 测试方法、装置、计算机设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150339213A1 (en) * | 2014-05-21 | 2015-11-26 | Cgi Technologies And Solutions Inc. | Automated testing of an application system |
CN107832231A (zh) * | 2017-12-05 | 2018-03-23 | 郑州云海信息技术有限公司 | 一种系统测试方法、装置及介质 |
CN107844421A (zh) * | 2017-10-31 | 2018-03-27 | 平安科技(深圳)有限公司 | 接口测试方法、装置、计算机设备和存储介质 |
CN108009087A (zh) * | 2017-11-29 | 2018-05-08 | 广州品唯软件有限公司 | 数据库测试方法、装置及计算机可读存储介质 |
CN109271326A (zh) * | 2018-11-28 | 2019-01-25 | 优刻得科技股份有限公司 | 云数据库的测试方法及其装置、设备和存储介质 |
CN109446077A (zh) * | 2018-10-18 | 2019-03-08 | 阳光人寿保险股份有限公司 | 一种数据库测试方法及装置 |
-
2019
- 2019-04-19 CN CN201910317826.3A patent/CN110147319B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150339213A1 (en) * | 2014-05-21 | 2015-11-26 | Cgi Technologies And Solutions Inc. | Automated testing of an application system |
CN107844421A (zh) * | 2017-10-31 | 2018-03-27 | 平安科技(深圳)有限公司 | 接口测试方法、装置、计算机设备和存储介质 |
CN108009087A (zh) * | 2017-11-29 | 2018-05-08 | 广州品唯软件有限公司 | 数据库测试方法、装置及计算机可读存储介质 |
CN107832231A (zh) * | 2017-12-05 | 2018-03-23 | 郑州云海信息技术有限公司 | 一种系统测试方法、装置及介质 |
CN109446077A (zh) * | 2018-10-18 | 2019-03-08 | 阳光人寿保险股份有限公司 | 一种数据库测试方法及装置 |
CN109271326A (zh) * | 2018-11-28 | 2019-01-25 | 优刻得科技股份有限公司 | 云数据库的测试方法及其装置、设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
陈柯: "基于计算机软件开发的数据库测试技术研究", 《电子质量》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111143196A (zh) * | 2019-12-05 | 2020-05-12 | 武汉迎风聚智科技有限公司 | 数据库的测试方法以及装置 |
CN112835778A (zh) * | 2021-02-25 | 2021-05-25 | 紫光云技术有限公司 | 一种rds数据库性能的通用测试方法、电子设备、服务器 |
CN113608981A (zh) * | 2021-07-27 | 2021-11-05 | 远景智能国际私人投资有限公司 | 时序数据库测试方法、装置、计算机设备及存储介质 |
CN113608981B (zh) * | 2021-07-27 | 2024-01-05 | 远景智能国际私人投资有限公司 | 时序数据库测试方法、装置、计算机设备及存储介质 |
CN114070768A (zh) * | 2021-11-29 | 2022-02-18 | 中国工商银行股份有限公司 | 测试方法、装置、计算机设备和存储介质 |
CN114070768B (zh) * | 2021-11-29 | 2023-11-03 | 中国工商银行股份有限公司 | 渗透测试方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110147319B (zh) | 2022-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110147319A (zh) | 数据库测试方法、装置及计算机设备 | |
CN110147320A (zh) | 接口测试方法、装置及电子设备 | |
CN108255653A (zh) | 一种产品的测试方法及其终端 | |
US10732611B2 (en) | System and method for generating machining control data of numerical control machine tool | |
CN110944048B (zh) | 业务逻辑配置方法及装置 | |
EP2572294B1 (en) | System and method for sql performance assurance services | |
CN106156186A (zh) | 一种数据模型管理装置、服务器及数据处理方法 | |
CN103984626B (zh) | 一种生成测试用例脚本的方法及装置 | |
CN103649907A (zh) | 高度并发处理任务的记录和执行 | |
US20140026120A1 (en) | Unit testing an enterprise javabeans (ejb) bean class | |
WO2016076906A1 (en) | Testing insecure computing environments using random data sets generated from characterizations of real data sets | |
CN110275826A (zh) | 自动化测试方法、装置及计算机可读存储介质 | |
CN112966004B (zh) | 数据查询方法、装置、电子设备以及计算机可读介质 | |
CN108964993A (zh) | 基于动态代理的故障模拟方法、装置、设备及可读存储介质 | |
CN108959067A (zh) | 搜索引擎的测试方法、装置及计算机可读存储介质 | |
CN111309624B (zh) | 测试方法、装置、设备及存储介质 | |
CN111026670B (zh) | 测试用例的生成方法、测试用例的生成装置及存储介质 | |
CN114501501A (zh) | 移动通信网络靶场的配置管理方法、装置、设备及介质 | |
CN109191078A (zh) | 一种流程业务建模方法、装置及设备 | |
US9904744B2 (en) | Probabilistic simulation scenario design by using multiple conditional and nested probability distribution input functions | |
US9116708B2 (en) | Program creation support apparatus, program, and information system | |
CN106802928A (zh) | 电网历史数据管理方法及其系统 | |
CN104123303A (zh) | 一种提供数据的方法及装置 | |
CN110427287A (zh) | 主板功能测试通用系统及其方法 | |
CN108228448B (zh) | 一种代码跟踪方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 201, room 518000, building A, No. 1, front Bay Road, Qianhai Shenzhen Guangdong Shenzhen Hong Kong cooperation zone (Qianhai business secretary) Applicant after: PING AN PUHUI ENTERPRISE MANAGEMENT Co.,Ltd. Address before: 518000 Guangdong city of Shenzhen province Qianhai Shenzhen Hong Kong cooperation zone before Bay Road No. 1 building 201 room A Applicant before: PING AN PUHUI ENTERPRISE MANAGEMENT Co.,Ltd. |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |