CN110764997B - 一种数据库接口符合性测试方法以及装置 - Google Patents
一种数据库接口符合性测试方法以及装置 Download PDFInfo
- Publication number
- CN110764997B CN110764997B CN201910840662.2A CN201910840662A CN110764997B CN 110764997 B CN110764997 B CN 110764997B CN 201910840662 A CN201910840662 A CN 201910840662A CN 110764997 B CN110764997 B CN 110764997B
- Authority
- CN
- China
- Prior art keywords
- interface
- test
- database
- target database
- task
- 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.)
- Active
Links
Images
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本申请提供了一种数据库接口符合性测试方法以及装置,用于简化数据库的接口测试,降低测试所需的硬件成本以及时间成本。方法包括:测试设备触发任务对象为目标数据库的接口测试任务,接口测试任务用于测试目标数据库的接口是否符合预设的接口要求;测试设备获取目标数据库的接口驱动包,接口驱动包包括目标数据库的接口程序;测试设备在接口测试任务指定的目标数据库的运行环境中,加载接口驱动包并运行接口程序;测试设备检测接口程序是否符合接口要求;测试设备基于接口程序是否符合接口要求的检测结果,输出目标数据库的接口测试结果。
Description
技术领域
本申请涉及测试领域,尤其涉及一种数据库接口符合性测试方法以及装置。
背景技术
数据库性能测试工具,用于对数据库进行性能测试,并通过一系列的指标参数量化数据库的性能。
在数据库性能测试中,通过运行数据库,还原数据库的正常工作状态,并收集数据库对于数据库性能测试的响应结果,形成数据库的性能测试结果。
然而,在现有的数据库性能测试工具中,无论测试数据库什么方面的性能,都需要运行整个数据库,而整个数据库的文件拷贝、安装、启动以及运行所涉及的工作量,明显对测试工具要求着不小的硬件成本以及时间成本。
发明内容
本申请提供了一种数据库接口符合性测试方法以及装置,用于简化数据库的接口测试,降低测试所需的硬件成本以及时间成本。
第一方面,本申请提供了数据库接口符合性测试方法,所述方法包括:
测试设备触发任务对象为目标数据库的接口测试任务,接口测试任务用于测试目标数据库的接口是否符合预设的接口要求;
测试设备获取目标数据库的接口驱动包,接口驱动包包括目标数据库的接口程序;
测试设备在接口测试任务指定的目标数据库的运行环境中,加载接口驱动包并运行接口程序;
测试设备检测接口程序是否符合接口要求;
测试设备基于接口程序是否符合接口要求的检测结果,输出目标数据库的接口测试结果。
可选的,测试设备获取目标数据库的接口驱动包包括:
测试设备接收用户上传或者导入的接口驱动包;或者,
测试设备从接口测试任务的任务信息中读取目标数据库的数据库标识;
测试设备通过获取请求从测试平台获取数据库标识对应的接口驱动包,测试平台用于存储不同用户上传的不同接口驱动包、不同接口驱动包以及不同数据库标识之间的对应关系。
可选的,运行环境为JDK编译环境,方法还包括:
测试设备根据接口测试任务的任务信息,配置目标数据库对应的连接信息以及JDK版本信息;
测试设备根据连接信息以及IDK版本信息,配置JDK编译环境。
可选的,接口驱动包为数据库连接(Java DataBase Connectivity,JDBC)驱动包,测试设备在接口测试任务指定的目标数据库的运行环境中,加载接口驱动包并运行接口程序包括:
测试设备在JDK编译环境中,加载JDBC驱动包;
测试设备根据预设路径查找JDBC驱动包的接口驱动文件;
测试设备遍历接口驱动文件,确定测试任务对应的接口函数;
测试设备在JDK编译环境中,通过反射机制,动态加载接口函数所在类,以实例化不同的接口对象。
可选的,测试设备检测接口程序是否符合接口要求包括:
测试设备检测接口函数的执行过程是否无异常;或者,
检测设备检测接口函数的输出结果是否不为空;或者,
检测设备检测接口函数的输出结果的数据类型是否正确;或者,
检测设备检测接口函数的输出结果的内容是否正确。
第二方面,本申请提供了数据库接口符合性测试装置,装置包括:
触发单元,用于触发任务对象为目标数据库的接口测试任务,接口测试任务用于测试目标数据库的接口是否符合预设的接口要求;
获取单元,用于获取目标数据库的接口驱动包,接口驱动包包括目标数据库的接口程序;
加载单元,用于在接口测试任务指定的目标数据库的运行环境中,加载接口驱动包并运行接口程序;
检测单元,用于检测接口程序是否符合接口要求;
输出单元,用于基于接口程序是否符合接口要求的检测结果,输出目标数据库的接口测试结果。
可选的,获取单元,具体用于:
接收用户上传或者导入的接口驱动包;或者,
从接口测试任务的任务信息中读取目标数据库的数据库标识;
通过获取请求从测试平台获取数据库标识对应的接口驱动包,测试平台用于存储不同用户上传的不同接口驱动包、不同接口驱动包以及不同数据库标识之间的对应关系。
可选的,运行环境为JDK编译环境,装置还包括配置单元,用于:
根据接口测试任务的任务信息,配置目标数据库对应的连接信息以及JDK版本信息;
根据连接信息以及IDK版本信息,配置JDK编译环境。
可选的,接口驱动包为JDBC驱动包,加载单元,具体用于:
在JDK编译环境中,加载JDBC驱动包;
根据预设路径查找JDBC驱动包的接口驱动文件;
遍历接口驱动文件,确定测试任务对应的接口函数;
在JDK编译环境中,通过反射机制,动态加载接口函数所在类,以实例化不同的接口对象。
可选的,检测单元,具体用于:
检测接口函数的执行过程是否无异常;或者,
检测接口函数的输出结果是否不为空;或者,
检测接口函数的输出结果的数据类型是否正确;或者,
检测接口函数的输出结果的内容是否正确。
第三方面,本申请提供了数据库接口符合性测试设备,包括处理器,处理器用于执行存储器中存储的计算机程序时实现如上述第一方面的任一步骤。
第四方面,本申请提供了可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述第一方面的任一步骤。
从以上技术方案可以看出,本申请具有以下优点:
与现有技术中需要运行整个目标数据库不同的是,本申请提供的数据库接口的测试方法,本申请中只需根据接口测试任务的触发,获取目标数据库的接口驱动包,单独运行该接口驱动包中的接口程序作接口测试,简化了数据库的接口测试,可有效降低运行整个目标数据库所需的硬件成本以及时间成本,尤其当需要测试目标数据库在不同运行环境下的接口性能时,可大大减少打包应用、重启目标数据库的处理,从而便捷地完成数据库的接口测试。
附图说明
图1为本申请提供的数据库接口符合性测试方法的一种流程示意图;
图2为本申请提供的数据库接口符合性测试方法的又一种流程示意图;
图3为本申请提供的数据库接口符合性测试方法的一种流程示意图;
图4为本申请提供的数据库接口符合性测试方法的一种流程示意图;
图5为本申请数据库接口符合性测试装置的一种结构示意图;
图6为本申请数据库接口符合性测试设备的又一种结构示意图。
具体实施方式
本申请提供了一种数据库接口符合性测试方法以及装置,用于简化数据库的接口测试,降低测试所需的硬件成本以及时间成本。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。在本申请中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。
本申请中所出现的模块的划分,是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个***中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请中均不作限定。并且,作为分离部件说明的模块或子模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分布到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本申请方案的目的。
首先,在介绍本申请之前,首先介绍本申请涉及的测试设备。
在本申请中,测试设备为服务器设备或者主机设备等具有数据处理能力的硬件设备,用于部署数据库接口的测试工具,该测试工具用于运行本申请所提供的数据库接口符合性测试方法,从而在数据库接口的测试中,无需运行整个数据库,直接获取数据库的接口驱动包,并基于该接口驱动包测试数据库的接口性能,从而简化数据库的接口测试,降低测试所需的硬件成本以及时间成本。
在本申请中所涉及的数据库,具体可以为Oracle数据库、MySQL数据库、达梦数据库、人大金仓数据库等类型的数据库,具体在此不做限定。
下面,则基于上述背景的介绍,开始介绍本申请的具体内容。
实施例一
参阅图1,图1示出了本申请数据库接口符合性测试方法的一种流程示意图,具体的,本申请数据库接口符合性测试方法,具体可包括如下步骤:
步骤S101,测试设备触发任务对象为目标数据库的接口测试任务;
其中,接口测试任务用于测试目标数据库的接口是否符合预设的接口要求。
在具有数据库的接口性能测试需求时,用户可通过用户设备(User Equipment,UE)向测试设备发送目标数据库的接口测试请求,触发任务对象为目标数据库的接口测试任务;
或者,用户也可在测试设备本地手动触发任务对象为目标数据库的接口测试任务。
其中,UE,具体可以为智能手表、智能手环、智能手机、平板电脑、笔记本电脑、台式电脑、电脑一体机、个人数字助理(Personal Digital Assistant,PDA)等终端设备,具有交互能力。
接口测试任务中可通过携带的数据库标识,标识任务对象的目标数据库,数据库标识具体可以包括数据库的所在地址、数据库版本号等信息。
步骤S102,测试设备获取目标数据库的接口驱动包;
其中,接口驱动包包括目标数据库的接口程序。
在本申请中,在触发任务对象为目标数据库的接口测试任务后,与现有技术中获取整个目标数据库的数据文件以正常运行目标数据库不同的是,测试设备只需获取目标数据库的接口驱动包作接口测试。
该接口驱动包中可包括目标数据库在特定运行环境下的接口程序,或者也可包括目标数据库在不同运行环境下的接口程序。
步骤S103,测试设备在接口测试任务指定的目标数据库的运行环境中,加载接口驱动包并运行接口程序;
可以理解,在得到目标数据库的接口程序包后,测试设备可为该接口程序包对应的接口程序配置运行环境,并在该运行环境中,单独运行接口驱动包中的接口程序,从而,在本次接口测试中将目标数据库的接口程序从目标数据库剥离出来。
步骤S104,测试设备检测接口程序是否符合接口要求;
在独立运行目标数据库的接口程序后,测试设备即可进行接口检测,即检测该接口程序是否符合预设的接口要求。
步骤S105,测试设备基于接口程序是否符合接口要求的检测结果,输出目标数据库的接口测试结果。
在执行步骤S104后,测试设备即可得到上述接口程序是否符合预设的接口要求的检测结果,基于该检测接口,测试设备可进行数据的汇总、分析、格式转换等处理,并按照TXT、报告或者图表等预设输出方式生成目标数据库的接口测试结果,并予以输出。
从上述可看出,与现有技术中需要运行整个目标数据库不同的是,本申请提供的数据库接口的测试方法,本申请中只需根据接口测试任务的触发,获取目标数据库的接口驱动包,单独运行该接口驱动包中的接口程序作接口测试,简化了数据库的接口测试,可有效降低运行整个目标数据库所需的硬件成本以及时间成本,尤其当需要测试目标数据库在不同运行环境下的接口性能时,可大大减少打包应用、重启目标数据库的处理,从而便捷地完成数据库的接口测试。
实施例二
在前述实施例一的说明中,已提及了步骤S102目标数据库的接口驱动包的获取处理,而在实际应用中,该接口驱动包,具体可由用户从UE本地上传或者导入至测试设备,相比于远程控制,可便捷地在现场进行目标数据库的接口测试。
或者,参阅图2,图2示出了本申请数据库接口符合性测试方法的又一种流程示意图,接口驱动包的获取处理,具体还可包括如下步骤实现:
步骤S201,测试设备从接口测试任务的任务信息中读取目标数据库的数据库标识;
接口测试任务携带有任务信息,在该任务信息中,具体可携带目标数据库的数据库标识,用于标识目标数据库。
因此,在获取目标数据库的接口驱动包时,可通过目标数据库的数据库标识去查找目标数据库的接口驱动包。
步骤S202,测试设备通过获取请求从测试平台获取数据库标识对应的接口驱动包。
其中,测试平台用于存储不同用户上传的不同接口驱动包、不同接口驱动包以及不同数据库标识之间的对应关系。
可以理解,在数据库接口测试甚至数据库测试的场景下,可设置一测试平台,以实现在线管理。该测试平台,还可用于存储不同的接口驱动包,用户可预先或者实时将不同数据库的接口驱动包上传至测试平台,而在测试设备触发接口测试任务时,即可从测试平台获取当前接口测试任务所需的接口驱动包,从而使得本申请数据库接口的测试方法在应用上,具有更高的灵活性,同时也可利用测试平台较高的带宽,更快地下载/获得接口驱动包。
实施例三
此外,作为Java编程语言的程序,其源代码需要将所有代码编译通过后,作为一个整体在一个JDK编译环境中运行,通常情况下,需要将所有依赖的class类(源程序)全部完成,且编译通过后,程序才能正常运行。
因此,在现有的数据库性能测试中,若是目标数据库基于Java编程语言实现的,运行整个目标数据库,则意味着需要将整个目标数据库的源代码全部编译通过后才可在JDK编译环境实现,这必然需要付出较高的计算工作量以及时间成本。
而在本申请中,单独获取目标数据库的接口驱动包,并在JDK编译环境中加载运行,则只需较少的编译打包应用的处理,这大大减少了计算工作量以及时间成本。
而当目标数据库的接口驱动包的运行环境为JDK编译环境时,参阅图3示出的本申请数据库接口符合性测试方法的又一种流程示意图,本申请数据库接口的测试方法,还可包括如下步骤实现,以配置JDK编译环境:
步骤S301,测试设备根据接口测试任务的任务信息,配置目标数据库对应的连接信息以及JDK版本信息;
首先,测试设备还可在接口测试任务的任务信息的基础上,配置目标数据库对应的连接信息以及JDK版本信息。
步骤S302,测试设备根据连接信息以及IDK版本信息,配置JDK编译环境。
在得到目标数据库对应的连接信息以及JDK版本信息后,测试设备即可进行JDK编译环境的搭建或者切换,完成JDK编译环境的配置。
实施例四
同时,当目标数据库基于Java编程语言实现时,此时接口驱动包具体可以为JDBC驱动包,参阅图4示出的本申请数据库接口符合性测试方法的又一种流程示意图,前述实施例一中接口驱动包的处理,具体可包括如下步骤实现:
步骤S401,测试设备在JDK编译环境中,加载JDBC驱动包;
首先,测试设备将目标数据库的JDBC驱动包在JDK编译环境中进行加载。
步骤S402,测试设备根据预设路径查找JDBC驱动包的接口驱动文件;
其次,JDBC驱动包中包括了多种文件,测试设备则根据预设路径进行查找,定位至JDBC驱动包的接口驱动文件。
步骤S403,测试设备遍历接口驱动文件,确定测试任务对应的接口函数;
接着,测试设备再遍历上述的接口驱动文件,从不同的接口函数中确定本次测试任务对应的接口函数。
步骤S404,测试设备在JDK编译环境中,通过反射机制,动态加载接口函数所在类,以实例化不同的接口对象。
得到接口函数后,测试设备即可通过反射机制,动态加载该接口函数所在类,实例化接口对象,使得测试设备可正常使用目标数据库的接口,在不修改代码、编译打包的环境下对多种的不同数据库接口进行自动化测试。
以Oracle 12c数据库的JDBC驱动包为例,测试设备从该JDBC驱动包中查找得到接口驱动文件ojdbc7.jar,再遍历ojdbc7.jar确定接口函数所在文件ANYDATA.class,再使用工具JarTools.class(其主要依据Java反射机制封装),将ANYDATA.class加载并实例化该函数所在类,以此将其变成测试设备的主程序直接关联的一部分去使用,并作接口测试。
实施例五
前述实施例一中接口程序是否符合接口要求的检测处理,具体可包括如下步骤实现:
测试设备检测接口函数的执行过程是否无异常;或者,
检测设备检测接口函数的输出结果是否不为空;或者,
检测设备检测接口函数的输出结果的数据类型是否正确;或者,
检测设备检测接口函数的输出结果的内容是否正确。
以上是对本申请数据库接口符合性测试方法的介绍,下面开始介绍本申请的数据库接口符合性测试装置。
参阅图5,图5示出了本申请数据库接口符合性测试装置的一种结构示意图,具体的,数据库接口符合性测试装置可包括如下结构:
触发单元501,用于触发任务对象为目标数据库的接口测试任务,接口测试任务用于测试目标数据库的接口是否符合预设的接口要求;
获取单元502,用于获取目标数据库的接口驱动包,接口驱动包包括目标数据库的接口程序;
加载单元503,用于在接口测试任务指定的目标数据库的运行环境中,加载接口驱动包并运行接口程序;
检测单元504,用于检测接口程序是否符合接口要求;
输出单元505,用于基于接口程序是否符合接口要求的检测结果,输出目标数据库的接口测试结果。
在一种可能的实施例中,获取单元502,具体用于:
接收用户上传或者导入的接口驱动包;或者,
从接口测试任务的任务信息中读取目标数据库的数据库标识;
通过获取请求从测试平台获取数据库标识对应的接口驱动包,测试平台用于存储不同用户上传的不同接口驱动包、不同接口驱动包以及不同数据库标识之间的对应关系。
在又一种可能的实施例中,运行环境为JDK编译环境,装置还包括配置单元506,用于:
根据接口测试任务的任务信息,配置目标数据库对应的连接信息以及JDK版本信息;
根据连接信息以及IDK版本信息,配置JDK编译环境。
在又一种可能的实施例中,接口驱动包为JDBC驱动包,加载单元503,具体用于:
在JDK编译环境中,加载JDBC驱动包;
根据预设路径查找JDBC驱动包的接口驱动文件;
遍历接口驱动文件,确定测试任务对应的接口函数;
在JDK编译环境中,通过反射机制,动态加载接口函数所在类,以实例化不同的接口对象。
在又一种可能的实施例中,检测单元504,具体用于:
检测接口函数的执行过程是否无异常;或者,
检测接口函数的输出结果是否不为空;或者,
检测接口函数的输出结果的数据类型是否正确;或者,
检测接口函数的输出结果的内容是否正确。
继续参阅图6,图6示出了本申请提供的数据库接口符合性测试设备的一种结构示意图,具体的,本申请提供的数据库接口符合性测试设备包括处理器601,处理器601用于执行存储器602中存储的计算机程序时实现如图1至图4对应任意实施例中数据库接口符合性测试方法的各步骤;或者,处理器601用于执行存储器602中存储的计算机程序时实现如图5对应实施例中各单元的功能。
示例性的,计算机程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器602中,并由处理器601执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在计算机装置中的执行过程。
数据库接口符合性测试设备可包括,但不仅限于处理器601、存储器602。本领域技术人员可以理解,示意仅仅是数据库接口符合性测试设备的示例,并不构成对数据库接口符合性测试设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如数据库接口符合性测试设备还可以包括输入输出设备、网络接入设备、总线等,处理器601、存储器602、输入输出设备以及网络接入设备等通过总线相连。
处理器601可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是数据库接口符合性测试设备的控制中心,利用各种接口和线路连接整个数据库接口符合性测试设备的各个部分。
存储器602可用于存储计算机程序和/或模块,处理器601通过运行或执行存储在存储器602内的计算机程序和/或模块,以及调用存储在存储器602内的数据,实现计算机装置的各种功能。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据数据库接口符合性测试设备的使用所创建的数据(比如音频数据、视频数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本申请还提供了可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如图1至图4对应任意实施例中的数据库接口符合性测试方法。
可以理解,集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各方法实施例的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的数据库接口符合性测试装置、设备及其相应单元的具体工作过程,可以参考图1至图4对应实施例中数据库接口符合性测试方法的说明,具体在此不再赘述。
综上,本申请提供的数据库接口符合性测试方法、装置、设备以及计算机存储介质,与现有技术中需要运行整个目标数据库不同的是,本申请提供的数据库接口的测试方法,本申请中只需根据接口测试任务的触发,获取目标数据库的接口驱动包,单独运行该接口驱动包中的接口程序作接口测试,简化了数据库的接口测试,可有效降低运行整个目标数据库所需的硬件成本以及时间成本,尤其当需要测试目标数据库在不同运行环境下的接口性能时,可大大减少打包应用、重启目标数据库的处理,从而便捷地完成数据库的接口测试。
在本申请所提供的几个实施例中,应该理解到,所揭露的数据库接口符合性测试装置、设备及其相应单元,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (8)
1.一种数据库接口符合性测试方法,其特征在于,所述方法包括:
测试设备触发任务对象为目标数据库的接口测试任务,所述接口测试任务用于测试所述目标数据库的接口是否符合预设的接口要求,目标数据库基于Java编程语言实现;
所述测试设备获取所述目标数据库的接口驱动包,所述接口驱动包包括所述目标数据库的接口程序;
所述测试设备在所述接口测试任务指定的所述目标数据库的运行环境中,加载所述接口驱动包并运行所述接口程序,包括:所述运行环境为JDK编译环境,所述接口驱动包为JDBC驱动包;所述测试设备在所述JDK编译环境中,加载所述JDBC驱动包;所述测试设备根据预设路径查找所述JDBC驱动包的接口驱动文件;所述测试设备遍历所述接口驱动文件,确定所述测试任务对应的接口函数;所述测试设备在所述JDK编译环境中,通过反射机制,动态加载所述接口函数所在类,以实例化不同的接口对象;
所述测试设备检测所述接口程序是否符合所述接口要求;
所述测试设备基于所述接口程序是否符合所述接口要求的检测结果,输出所述目标数据库的接口测试结果。
2.根据权利要求1所述的方法,其特征在于,所述测试设备获取所述目标数据库的接口驱动包包括:
所述测试设备接收用户上传或者导入的所述接口驱动包;或者,
所述测试设备从所述接口测试任务的任务信息中读取所述目标数据库的数据库标识;
所述测试设备通过获取请求从测试平台获取所述数据库标识对应的所述接口驱动包,所述测试平台用于存储不同用户上传的不同接口驱动包、不同接口驱动包以及不同数据库标识之间的对应关系。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述测试设备根据所述接口测试任务的任务信息,配置所述目标数据库对应的连接信息以及JDK版本信息;
所述测试设备根据所述连接信息以及所述J DK版本信息,配置所述JDK编译环境。
4.根据权利要求3所述的方法,其特征在于,所述测试设备检测所述接口程序是否符合所述接口要求包括:
所述测试设备检测所述接口函数的执行过程是否无异常;或者,
所述测试 设备检测所述接口函数的输出结果是否不为空;或者,
所述测试 设备检测所述接口函数的输出结果的数据类型是否正确;或者,
所述测试 设备检测所述接口函数的输出结果的内容是否正确。
5.一种数据库接口符合性测试装置,其特征在于,所述装置包括:
触发单元,用于触发任务对象为目标数据库的接口测试任务,所述接口测试任务用于测试所述目标数据库的接口是否符合预设的接口要求,目标数据库基于Java编程语言实现;
获取单元,用于获取所述目标数据库的接口驱动包,所述接口驱动包包括所述目标数据库的接口程序;
加载单元,用于在所述接口测试任务指定的所述目标数据库的运行环境中,加载所述接口驱动包并运行所述接口程序,包括:所述运行环境为JDK编译环境,所述接口驱动包为JDBC驱动包;所述测试设备在所述JDK编译环境中,加载所述JDBC驱动包;测试设备根据预设路径查找所述JDBC驱动包的接口驱动文件;所述测试设备遍历所述接口驱动文件,确定所述测试任务对应的接口函数;所述测试设备在所述JDK编译环境中,通过反射机制,动态加载所述接口函数所在类,以实例化不同的接口对象;
检测单元,用于检测所述接口程序是否符合所述接口要求;
输出单元,用于基于所述接口程序是否符合所述接口要求的检测结果,输出所述目标数据库的接口测试结果。
6.根据权利要求5所述的装置,其特征在于,获取单元,具体用于:
接收用户上传或者导入的所述接口驱动包;或者,
从所述接口测试任务的任务信息中读取所述目标数据库的数据库标识;
通过获取请求从测试平台获取所述数据库标识对应的所述接口驱动包,所述测试平台用于存储不同用户上传的不同接口驱动包、不同接口驱动包以及不同数据库标识之间的对应关系。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括配置单元,用于:
根据所述接口测试任务的任务信息,配置所述目标数据库对应的连接信息以及JDK版本信息;
根据所述连接信息以及所述J DK版本信息,配置所述JDK编译环境。
8.根据权利要求7所述的装置,其特征在于,所述检测单元,具体用于:
检测所述接口函数的执行过程是否无异常;或者,
检测所述接口函数的输出结果是否不为空;或者,
检测所述接口函数的输出结果的数据类型是否正确;或者,
检测所述接口函数的输出结果的内容是否正确。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910840662.2A CN110764997B (zh) | 2019-09-06 | 2019-09-06 | 一种数据库接口符合性测试方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910840662.2A CN110764997B (zh) | 2019-09-06 | 2019-09-06 | 一种数据库接口符合性测试方法以及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110764997A CN110764997A (zh) | 2020-02-07 |
CN110764997B true CN110764997B (zh) | 2021-07-23 |
Family
ID=69330187
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910840662.2A Active CN110764997B (zh) | 2019-09-06 | 2019-09-06 | 一种数据库接口符合性测试方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110764997B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5664173A (en) * | 1995-11-27 | 1997-09-02 | Microsoft Corporation | Method and apparatus for generating database queries from a meta-query pattern |
CN101833498A (zh) * | 2009-07-31 | 2010-09-15 | 北京伟晨豪嘉科技有限责任公司 | 一种基于测试脚本技术的嵌入式***自动化检测*** |
CN109614426A (zh) * | 2018-10-26 | 2019-04-12 | 深圳壹账通智能科技有限公司 | 多数据库间的切换方法、装置及电子设备 |
CN110109817A (zh) * | 2019-03-13 | 2019-08-09 | 深圳壹账通智能科技有限公司 | 接口自动化测试方法、装置、设备及存储介质 |
-
2019
- 2019-09-06 CN CN201910840662.2A patent/CN110764997B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5664173A (en) * | 1995-11-27 | 1997-09-02 | Microsoft Corporation | Method and apparatus for generating database queries from a meta-query pattern |
CN101833498A (zh) * | 2009-07-31 | 2010-09-15 | 北京伟晨豪嘉科技有限责任公司 | 一种基于测试脚本技术的嵌入式***自动化检测*** |
CN109614426A (zh) * | 2018-10-26 | 2019-04-12 | 深圳壹账通智能科技有限公司 | 多数据库间的切换方法、装置及电子设备 |
CN110109817A (zh) * | 2019-03-13 | 2019-08-09 | 深圳壹账通智能科技有限公司 | 接口自动化测试方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110764997A (zh) | 2020-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109471653B (zh) | 应用程序的更新方法、电子设备、服务器和存储介质 | |
CN108845930B (zh) | 界面操作测试方法和装置、存储介质及电子装置 | |
CN107632827B (zh) | 应用的安装包的生成方法及装置 | |
CN107133165B (zh) | 浏览器兼容性检测方法及装置 | |
US20190087208A1 (en) | Method and apparatus for loading elf file of linux system in windows system | |
CN110795353B (zh) | 快应用的调试方法、装置、设备及存储介质 | |
CN112099800A (zh) | 代码数据的处理方法、装置和服务器 | |
CN111124872A (zh) | 基于差异代码分析的分支检测方法、装置及存储介质 | |
CN110134583B (zh) | 软件测试及数据处理方法及装置 | |
CN114116505A (zh) | 代码测试方法及装置 | |
CN116303099B (zh) | 自动化测试环境跨平台快速部署方法、装置、介质及设备 | |
CN110764997B (zh) | 一种数据库接口符合性测试方法以及装置 | |
CN110457202B (zh) | 快速建立odbc连接的tpc-e测试方法以及驱动器设备 | |
CN112463596A (zh) | 测试用例数据的处理方法、装置、设备以及处理设备 | |
CN110889116A (zh) | 一种广告拦截方法、装置及电子设备 | |
CN112346952A (zh) | 用于测试用例的回归测试的方法、设备和电子设备 | |
CN108563578A (zh) | Sdk兼容性检测方法、装置、设备及可读存储介质 | |
CN110704301B (zh) | Tpc-e自动化测试方法以及tpc-e测试*** | |
CN114840400A (zh) | 异常组件的识别方法、装置、设备、存储介质及程序产品 | |
CN114978360A (zh) | 通信设备的自动化测试方法和装置、电子设备和存储介质 | |
CN110968507B (zh) | 覆盖率统计方法及装置 | |
CN110928779B (zh) | 文件处理方法、应用程序运行故障定位方法和设备 | |
CN110457187B (zh) | 基于备份测试数据可便捷运行的tpc-e测试方法及测试服务器 | |
CN110908701B (zh) | 固件版本切换方法、装置、存储介质及电子设备 | |
CN111078550A (zh) | 软件测试方法及装置、计算机装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |