CN110389900A - 一种分布式数据库集群测试方法、装置及存储介质 - Google Patents

一种分布式数据库集群测试方法、装置及存储介质 Download PDF

Info

Publication number
CN110389900A
CN110389900A CN201910620739.5A CN201910620739A CN110389900A CN 110389900 A CN110389900 A CN 110389900A CN 201910620739 A CN201910620739 A CN 201910620739A CN 110389900 A CN110389900 A CN 110389900A
Authority
CN
China
Prior art keywords
test
case
tested
cluster
environmental
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
Application number
CN201910620739.5A
Other languages
English (en)
Other versions
CN110389900B (zh
Inventor
胡永
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Tencent Computer Systems Co Ltd
Original Assignee
Shenzhen Tencent Computer Systems Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Tencent Computer Systems Co Ltd filed Critical Shenzhen Tencent Computer Systems Co Ltd
Priority to CN201910620739.5A priority Critical patent/CN110389900B/zh
Publication of CN110389900A publication Critical patent/CN110389900A/zh
Application granted granted Critical
Publication of CN110389900B publication Critical patent/CN110389900B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种分布式数据库集群测试方法、装置及存储介质,所述方法包括:测试管理终端向测试管理服务器发送包括测试终端的标识信息、被测集群的环境配置信息的测试请求;测试管理服务器根据环境配置信息确定被测集群的环境类型和环境配置文件,从测试用例库确定与该环境类型对应的测试用例,生成用例列表文件,向测试终端发送测试指令;测试终端根据环境配置文件配置的环境变量参数,基于测试用例列表、环境变量参数生成测试脚本命令,基于预置接口向被测集群发送包括测试脚本命令的测试请求;被测集群执行测试脚本命令。利用本申请提供的技术方案可快速部署用例和环境配置文件,降低耦合性,迁移性强。

Description

一种分布式数据库集群测试方法、装置及存储介质
技术领域
本申请涉及互联网通信技术领域,尤其涉及一种分布式数据库集群测试方法、装置及存储介质。
背景技术
随着互联网的发展,大型分布式系统越来越多,越来越复杂,如何有效的对分布式系统中各子系统的数据库特性进行测试,保证大型分布式系统持续稳定的运行成为了一个重要课题。
现有技术中,分布式数据库集群的测试主要是通过前台客户端界面提供用户操作接口,实现测试用例的步骤的添加,并存储在数据库中,同时用户可以根据实际需要自定义步骤之间的调用参数,步骤之间的关联操作;后台服务器读取数据库的自动化测试任务,调用测试用例中传入的步骤名称,使用相应的入口程序,入口程序执行完成后把步骤相应结果存储在数据库中,然后,可以对每个步骤的结果进行校验,以保证分布式系统持续稳定的运行。但对于分布式数据库集群的测试来说,由于分布式系统各个子系统的数据库接口各不相同。上述现有技术中,测试用例是基于C++的编译程序,与环境存在较多耦合,迁移性比较差,针对不同的子系统需要开发不同测试系统,部署成本高,无法实现对不同子系统的快速部署测试所需的测试用例和环境配置文件。因此,需要提供有效的方案,以实现对分布式系统的统一测试。
发明内容
本申请提供了一种分布式数据库集群测试方法、装置及存储介质,可以应对各种环境类型的被测集群的测试需求,降低不同环境间的耦合性,迁移性强,且可以快速部署分布式数据库集群的测试所需的测试用例和环境配置文件,实现对分布式数据库集群的统一测试。
一方面,本申请提供了一种分布式数据库集群测试方法,所述方法包括:
接收测试管理终端发送测试请求,所述测试请求包括测试终端的标识信息、被测集群的环境配置信息;
根据所述环境配置信息确定所述被测集群的环境类型和环境配置文件;
从测试用例库确定与所述环境类型对应的测试用例,生成所述被测集群的用例列表文件;
向所述标识信息对应的测试终端发送测试指令,所述测试指令包括所述环境配置文件和所述用例列表文件,以使所述测试终端根据所述环境配置文件配置本地的环境变量参数;以及基于测试用例列表、所述环境变量参数生成测试脚本命令;以及基于所述被测集群的预置接口向所述被测集群发送包括所述测试脚本命令的测试请求。
另一方面提供了一种分布式数据库集群测试装置,所述装置包括:
测试请求模块,用于接收测试管理终端发送测试请求,所述测试请求包括测试终端的标识信息、被测集群的环境配置信息;
信息确定模块,用于根据所述环境配置信息确定所述被测集群的环境类型和环境配置文件;
用例列表文件生成模块,用于从测试用例库确定与所述环境类型对应的测试用例,生成所述被测集群的用例列表文件;
测试指令发送模块,用于向所述标识信息对应的测试终端发送测试指令,所述测试指令包括所述环境配置文件和所述用例列表文件,以使所述测试终端根据所述环境配置文件配置本地的环境变量参数;以及基于测试用例列表、所述环境变量参数生成测试脚本命令;以及基于所述被测集群的预置接口向所述被测集群发送包括所述测试脚本命令的测试请求。
另一方面提供了一种分布式数据库集群测试管理服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述的分布式数据库集群测试方法。
另一方面提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述的分布式数据库集群测试方法。
另一方面,本申请提供了一种分布式数据库集群测试方法,所述方法包括:
接收测试管理服务器发送的测试指令,所述测试指令包括测试管理服务器从测试用例库确定的与被测集群的环境类型对应的测试用例所生成的用例列表文件和测试管理服务器根据所述被测集群的环境配置信息确定的环境配置文件;
根据所述环境配置文件配置本地的环境变量参数;
基于测试用例列表、所述环境变量参数生成测试脚本命令;
基于所述被测集群的预置接口向所述被测集群发送包括所述测试脚本命令的测试请求,以使所述被测集群执行所述测试脚本命令。
另一方面提供了一种分布式数据库集群测试装置,所述装置包括:
测试指令接收模块,用于接收测试管理服务器发送的测试指令,所述测试指令包括测试管理服务器从测试用例库确定的与被测集群的环境类型对应的测试用例所生成的用例列表文件和测试管理服务器根据所述被测集群的环境配置信息确定的环境配置文件;
环境变量参数配置模块,用于根据所述环境配置文件配置本地的环境变量参数;
测试脚本命令生成模块,用于基于测试用例列表、所述环境变量参数生成测试脚本命令;
测试脚本命令发送模块,用于基于所述被测集群的预置接口向所述被测集群发送包括所述测试脚本命令的测试请求,以使所述被测集群执行所述测试脚本命令。
另一方面提供了一种分布式数据库集群测试终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述的分布式数据库集群测试方法。
另一方面提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述的分布式数据库集群测试方法。
本申请提供的分布式数据库集群测试方法、装置及存储介质,具有如下技术效果:
本申请在需要对任意环境的分布式数据库集群进行测试时,可以直接基于被测集群的环境配置信息生成环境配置文件,并直接从包括多种环境类型对应的测试用例的测试用例库中确定与该被测集群的环境类型相匹配的用例列表文件;然后,由测试终端基于标准数据库接口和/或自定义数据库接口对被测集群的测试,可以应对各种类型的被测集群的测试需求,降低不同环境间的耦合性,迁移性强。利用本说明书实施例提供的技术方案可以快速部署分布式数据库集群不同子系统的测试所需的测试用例和环境配置文件,实现对分布式数据库集群的统一测试,且对于分布式架构,可以多任务并发执行,提升运行效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本申请实施例提供的一种分布式数据库集群测试系统的结构示意图;
图2是本申请实施例提供的一种区块链网络对应的分布式数据库集群集群的结构示意图;
图3是本申请实施例提供的一种分布式数据库集群测试方法的流程示意图;
图4是本申请实施例提供的另一种分布式数据库集群测试方法的流程示意图;
图5是本申请实施例提供的一种分布式数据库集群测试方法的应用示意图;
图6是本申请实施例提供的另一种分布式数据库集群测试方法的流程示意图;
图7是本申请实施例提供的一种分布式数据库集群测试装置的结构示意图;
图8是本申请实施例提供的另一种分布式数据库集群测试方法的流程示意图;
图9是本申请实施例提供的另一种分布式数据库集群测试装置的结构示意图;
图10是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参阅图1,图1是本申请实施例提供的一种分布式数据库集群测试系统的结构示意图,如图1所示,该应用环境至少包括测试管理服务器01、测试终端02、被测试的分布式数据库集群03和测试管理终端04。
本说明书实施例中,测试管理服务器01(Test Management Server,TMS)可以用于进行测试用例、测试环境以及测试任务的管理。具体的,可以预先生成适配多种环境场景的测试用例;以及根据测试测试管理终端04发送的测试任务,确定与该测试任务的环境配置信息对应用例列表文件和环境配置文件,并发送给测试终端02。具体的,测试管理服务器01可以包括一个独立运行的服务器,或者分布式服务器,或者由多个服务器组成的服务器集群。测试管理服务器01可以包括有网络通信单元、处理器和存储器等等。
本说明书实施例中,测试终端(Test Client,TC)02可以用于基于测试管理服务器发送的用例列表文件和环境配置文件确定测试脚本命令,对被测试的分布式数据库集群03进行测试,以及基于分布式数据库集群03返回的执行结果,进行测试结果的判断,并返回给测试管理服务器01。
本说明书实施例中,测试终端02可以包括智能手机、台式电脑、平板电脑、笔记本电脑、数字助理、智能可穿戴设备等类型的实体设备,也可以包括运行于实体设备中的软体,例如测试程序等。本申请实施例中测试终端02上运行的操作系统可以包括但不限于安卓系统、IOS系统、linux、windows、Mac等。
本说明书实施例中,被测试的分布式数据库集群03可以包括标准数据库接口和/或自定义数据库接口。标准数据库接口可以包括mysql(Structured Query Language)接口、zk(zookeeper)接口、HTTP JSON接口。自定义数据库接口可以包括代理模块(Agent)和/或测试适配器(Test Adapter,TA)。
在实际应用中,测试用例的脚本与被测系统(分布式数据库集群)不在同一个机器上,需要远程执行命令,比如:重启进程、设置网络延迟等。相应的,可以通过标准数据库接口和/或自定义数据库接口接收测试终端02的测试脚本命令,处理完后,可以基于标准数据库接口和/或自定义数据库接口返回给测试终端02该测试脚本命令的执行结果。
本说明书实施例中,测试管理终端(Test Management Client,TMC)04可以提供用户的操作界面,用户可以基于该操作界面进行多维度的测试任务发布。
测试管理终端04可以包括智能手机、台式电脑、平板电脑、笔记本电脑、数字助理、智能可穿戴设备等类型的实体设备,也可以包括运行于实体设备中的软体,例如测试程序等。本申请实施例中测试管理终端上运行的操作系统可以包括但不限于安卓系统、IOS系统、linux、windows等。
此外,需要说明的是,图1中的被测的分布式数据库集群仅仅是一种示例,本说明书实施例中被测的分布式数据库集群03还可以包括区块链网络对应的分布式数据库集群集群。具体的如图2所示,可以包括分布式节点201、202、203、204、205和206。各个分布式节点之间可以通过通信链路进行连接,比如可以通过有线通信链路或无线通信链路进行连接等。
以下介绍本申请一种分布式数据库集群测试方法的实施例,图3是本申请实施例提供的一种分布式数据库集群测试方法的流程示意图,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图3所示,所述方法可以包括:
S301:测试管理终端向测试管理服务器发送测试请求。
本说明书实施例中,用户可以下测试管理终端提供的界面触发测试请求。具体的,测试请求可以包括测试终端的标识信息和被测集群的环境配置信息。具体的,被测集群可以包括任意一个或多个环境场景(即环境类型)的分布式数据库集群。
具体的实施例中,测试终端的标识信息可以包括但不限于测试终端IP(InternetProtocol Address,互联网协议地址)、IDC(Internet Data Center,互联网数据中心)机房位置等指示测试终端网络位置的信息。被测集群的环境配置信息可以包括被测集群的组网的环境信息、网络位置、运行的软件信息等信息。
具体的,组网的环境信息可以包括被测集群的中OSS(Object Storage Service,对象存储)和DB(Database,DB)的数量和各自的标识信息。具体的,网络位置可以包括IP、端口等指示被测集群的网络位置的信息。具体的,运行的软件信息可以包括被测集群上运行的软件名称和版本号,以及该版本的软件对应的特性信息。
S303:测试管理服务器根据所述环境配置信息确定所述被测集群的环境类型和环境配置文件。
本说明书实施例中,测试管理服务器在接收到测试任务后,可以根据环境配置信息确定被测集群的环境类型,并生成环境配置文件。具体的,环境类型可以包括组网类型和被测集群上运行软件的版本信息。本说明书实施例中,组网类型可以包括但不限于FUNC(function,功能组网)、CFG(configuration,配置组网)、和RES(resource,资源组网)。
具体的,功能组网为功能类的组网,由于分布式数据库集群在创建和删除实例(数据库)的操作过程中,会在操作系统上生成一个锁文件,防止多个实例同时创建或者删除,占用太多IO,造成IO阻塞,导致实例主备切换,创建失败等异常。因此,同一组机器上只能同时运行创建或者删除实例的操作,相应的,脚本涉及到创建实例和删除实例操作,都可以设置为功能组网,功能组网可以测试特性有:水平扩容、垂直扩容、重做备机、回档、主备切换等特性。
具体的,配置组网为配置类组网,对于不依赖频繁创建和删除实例的操作,可以设置为此组网,此组网在运行脚本之前,通过安装脚本预先在机器上创建好集中式数据库和分布式数据库,把创建好的网关的IP和端口配置在配置文件中,用例在执行的时候,直接调用网关的IP和端口执行命令即可,无需创建实例,提升脚本的运行效率,此组网可以运行的测试特性有:在线修改表结构、修改权限、多源同步等。
具体的,资源组网为资源类组网,主要用于验证创建实例的用例,这类用例在执行完后,需要去ZK上检查资源消耗的CPU、内存、磁盘空间是否减少到预期的量,因此这类组网的用例只能在独占的集群上运行。
本说明书实施例中,被测集群上运行软件的版本信息可以包括软件名和版本号。例如软件名为CLOUD,版本号14C00,相应的,被测集群上运行软件的版本信息为CLOUD_14C00。
在一个具体的实施例中,假设组网类型为FUNC,被测集群上运行软件的版本信息为CLOUD_14C00,相应的,环境类型为CLOUD_14C00_FUNC。
S305:测试管理服务器从测试用例库确定与所述环境类型对应的测试用例,生成所述被测集群的用例列表文件。
本说明书实施例中,测试用例库可以包括基于解释型语言生成的多种环境类型对应的测试用例。具体的,在实际应用中,测试管理服务器可以结合各种环境类型所需测试的特性,生成大量测试用例,本说明书实施例中,可以基于解释型语言生成测试用例,以便后续测试用例运行简单,无需编译,可以快速的进行程序编写和调试。
具体的,测试用例库中的测试用例按照测试特性存储在同一目录下。本说明书实施例中,测试特性为分布式数据库集群执行某一指令的执行情况,具体的,测试特性可以包括但不限于:实例购买、水平扩容、垂直扩容、在线修改表结构、重做备机、备份数据库、回档、修改权限、多源同步、主备切换等相关指令的执行情况。
具体的,实例购买可以包括指定满足业务需求所需要实例的CPU核数、内存大小、数据盘大小、日志盘大小等,这里的实例即数据库。
具体的,水平扩容可以为新增的实例需要在新增的机器上部署。
具体的,垂直扩容可以为在线增加资源,增加资源后原来的数据会直接拷贝过来,即新增的实例是在原来的机器上的。
具体的,在线修改表结构可以为通过OSS接口直接发送修改表结构的SQL,比如给原有表增加索引,给原有表增加字段,给原有表增加主键等。
具体的,重做备机可以为某一备用数据库的故障时,重新安装备用数据库,并完成与主数据库的数据同步。
具体的,备份数据库可以指数据库定时或者人为触发,把数据库的数据备份到远端的服务器或本地磁盘等操作。
具体的,回档可以指因数据库整机故障或者需要定位问题,需要恢复部分数据时,新建一个数据库,把原来备份的数据导入到新建的数据库,用于数据恢复或者问题定位等。
具体的,修改权限可以为指定用户对数据库的操作权限。
具体的,多源同步可以指将第三方数据库的数据同步到本地数据库。
具体的,主备切换可以为当主数据库故障时,将对主数据库的操作切换到备用数据库。
本说明书实施例中,每一测试特性可以对应一个或多个测试用例,且每一测试用例还对应着相应的环境类型。这样可以支持多种维度的测试任务。具体的,可以至少包括如下任一维度进行测试任务的指定:
指定用例条件、指定测试周期、指定测试时间、指定测试次数。
具体的,指定用例条件至少包括下述之一:
1)指定用例标识,以进行单个场景的测试;
2)根据客户预先确定的测试需求,指定预置好的测试用例集合(即用例列表文件),实现一键多用例下的数据库验收;
3)指定多种环境类型的测试用例,实现多场景一键验收;
4)指定测试特性,即测试管理服务器会预先根据需要测试的特性生成多个目录下的测试用例,同一个目录下的测试用例测试同一个特性,选其中一个目录下的测试用例,以实现对某一特性进行测试验收。
5)指定多环境场景的测试用例和指定预置好的测试用例集合的随机混合模式;
6)指定组网运行,即测试用例选取时,支持判断测试用例本身的组网配置是否与当前环境的脚本配置相同(即指定组网类型的测试用例的环境类型是否与被测集群的环境类型一致),实现单个环境运行多个不同组网的脚本。
具体的,指定测试周期,即可以指定某一特性的测试用例,以周期性运行;
具体的,指定测试时间,即支持脚本在预先设定的时间运行,由于客户的测试环境连了NTP服务器,无法进行修改时间操作,但是特性验收的时候不适宜一直等待执行脚本,因此,提供一种固定时间的执行方式。
具体的,指定测试次数,即支持脚本指定运行多少次、无限循环等,应对特殊测试特性和异常测试场景;另外,若测试用例的脚本运行失败,可以写入相应信息或者获取日志,以便及时发现问题。
在一些实施例中,从测试用例库确定与所述环境类型对应的测试用例,生成所述被测集群的用例列表文件可以包括:
1)从测试用例库确定与所述组网类型对应的测试用例;
2)从所述与所述组网类型对应的测试用例中选取与所述版本信息对应的测试用例,生成所述被测集群的用例列表文件。
具体的,用例列表文件可以包括与所述环境类型对应的测试用例,可以包括一个或多个测试用例。
在另一些实施例中,当测试请求还包括指定用例条件时,从测试用例库确定与所述环境类型对应的测试用例,生成所述被测集群的用例列表文件可以包括:
1)从所述测试用例库从测试用例库确定所述指定用例条件的测试用例;
2)当所述指定用例条件的测试用例的环境类型与所述被测集群的环境类型相匹配时,基于所述指定用例条件的测试用例中与所述被测集群的环境类型相匹配的测试用例,生成所述被测集群的用例列表文件。
本说明书实施例中,解释型语言可以包括但不限于javascript(一种直译式脚本语言)、python(是一种面向对象的动态类型语言)、ruby(一种简单快捷的面向对象(面向对象程序设计的脚本语言)、lua(是一个小巧的脚本语言)等脚本性的语言。
在一个优选的实施例中,考虑到python有支持其他类型语言的库函数调用方式,可以很好的衔接其他语言,比如他可以直接调用C++\C编译的库函数,同时大量的开源组件、AI算法里的库、标准的科学计算都有专门的python库。本说明书实施例中,可以选取python生成测试用例。
S307:测试管理服务器向所述标识信息对应的测试终端发送测试指令。
本说明书实施例中,所述测试指令包括所述环境配置文件和所述用例列表文件。在一些实施例中,测试指令至少还包括下述之一:指定测试周期、指定测试时间、指定测试次数;这样,后续可以按照指定周期,指定时间、或指定次数来执行对被测集群的测试。
S309:测试终端根据所述环境配置文件配置本地的环境变量参数。
本说明书实施例中,测试终端收到包括环境配置文件和用例列表文件的测试指令之后,可以环境配置文件配置本地的环境变量参数,以便后续脚本调用。
S311:测试终端基于测试用例列表、所述环境变量参数生成测试脚本命令。
S313:测试终端基于所述被测集群的预置接口向所述被测集群发送包括所述测试脚本命令的测试请求。
在一个具体的实施例中,测试终端可以通过OSS,向分布式数据库集群发送测试请求,比如创建、删除、扩容、切换DB等,具体的,OSS可以启动http服务,http服务对应着分布式数据库集群的IP和端口,测试终端可以连接这个http服务的IP和端口,建立与分布式数据库集群的连接,并结合测试脚本命令的所需测试的特征,选取相应的预置接口传输测试脚本命令。
本说明书实施例中,预置接口包括标准数据库接口和/或自定义数据库接口,具体的,对于无法通过标准数据库接口传输的测试脚本命令,可以通过扩展的自定义数据库接口实现。本说明书实施例中,自定义数据库接口可以支持DFX(Design for X,面向产品生命周期各/某环节的设计)测试、系统资源、状态收集等脚本命令,支持一些容灾、系统异常等特性的构造。
在实际应用中,一些分布式数据库集群本身设置有Agent,相应的,对于无法通过标准数据库接口传输的测试脚本命令,可以通过Agent来接收测试终端的测试脚本命令,处理完后,可以基于Agent返回给测试终端该测试脚本命令的执行结果。
在一些场景中,被测试的分布式数据库集群没有Agent,相应的,对于无法通过标准数据库接口传输的测试脚本命令,可以使用TA来接收测试终端的测试脚本命令,处理完后,可以基于TA返回给测试终端该测试脚本命令的执行结果。本说明书实施例中,TA可以支持多线程操作,即可以并行执行测试任务中的多个测试脚本命令。
本说明书实施例中,TA和Agent的用途一样,其中,Agent是产品(被测试系统)提供的能力,TA是本说明书实施例中为了解决没有Agent的被测试系统的测试脚本命令和执行结果传输所提供的服务,具体的,Agent和TA可以部署在被测试的分布式数据库集群的一个固定端口。
在一个具体的实施例中,当所述测试指令还包括指定测试周期时,所述基于所述被测集群的预置接口向所述被测集群发送包括所述测试脚本命令的测试请求包括:
按照所述指定测试周期,基于所述被测集群的预置接口向所述被测集群发送包括所述测试脚本命令的测试请求;
在另一个具体的实施例中,当所述测试指令还包括指定测试时间时,所述基于所述被测集群的预置接口向所述被测集群发送包括所述测试脚本命令的测试请求包括:
在所述指定测试时间,基于所述被测集群的预置接口向所述被测集群发送包括所述测试脚本命令的测试请求;
在另一个具体的实施例中,当所述测试指令还包括指定测试次数时,所述基于所述被测集群的预置接口向所述被测集群发送包括所述测试脚本命令的测试请求包括:
基于所述被测集群的预置接口向所述被测集群发送所述指定测试次数的包括所述测试脚本命令的测试请求。
S315:被测集群执行所述测试脚本命令。
本说明书实施例中,当被测集群通过预置接口接收到测试脚本命令后,可以通过预置接口给测试终端返回一个任务ID,后续查看执行结果,可以通过任务ID来查看。
由以上本说明书实施例提供的技术方案可见,本说明书实施例中在需要对任意环境的分布式数据库集群进行测试时,可以直接基于被测集群的环境配置信息生成环境配置文件,并直接从包括多种环境类型对应的测试用例的测试用例库中确定与该被测集群的环境类型相匹配的用例列表文件,且测试用例基于解释性语言生成,可以大大降低用例的写作调试困难和成本;然后,由测试终端基于标准数据库接口和/或自定义数据库接口对被测集群的测试,可以应对各种类型的被测集群的测试需求,降低不同环境间的耦合性,迁移性强。利用本说明书实施例提供的技术方案可以大大降低用例的写作调试困难,快速部署分布式数据库集群不同子系统的测试所需的测试用例和环境配置文件,实现对分布式数据库集群的统一测试,且对于分布式架构,可以多任务并发执行,提升运行效率。
在另一些实施例中,如图4所示,所述方法还可以包括:
S317:被测集群基于所述预置接口将所述测试脚本命令的执行结果发送给所述测试终端。
具体的,测试脚本命令的执行结果可以为测试脚本命令的运行的详细结果信息。
S319:测试终端基于所述执行结果确定所述测试脚本命令的运行结果。
具体的,运行结果可以为测试脚本命令是否运行成功的信息。
本说明书实施例中,可以将执行结果与测试脚本命令的预期执行结果进行比较,若一致,可以确定运行成功;反之,运行失败。
S321:测试终端将所述执行结果和所述运行结果发送给所述测试管理服务器。
具体的,若测试脚本命令执行过程中出现异常,可以尝试恢复异常,若尝试恢复成功,可以执行下一命令;反之,若尝试恢复失败,可以直接把之前的执行结果返回,异常自动退出。
在一个具体的实施例中,结合图5,图5是本申请实施例提供的测试终端基于被测集群的预置接口实现通信的示意图。具体的,TC与OSS间的通讯可以基于HTTP JSON实现,TC与ZK间的通讯可以先基于ZK API实现,TC与DB间的通讯可以基于MySQL API实现,另外,由于有多个数据库分片(如图中的SET1和SET2,且每个数据库分片可以包括一个主数据库和多个备用数据库),可以通过代理proxy来选取多个数据库分片中的一个数据库分片。此外,在被测集群中设备TA和agent接口来保证可以应对更多的测试特性的测试需求,其中,TA相当于部署在机器上的一个固定端口的Socket服务。
以下以测试管理服务器为执行主体,介绍本申请一种分布式数据库集群测试方法的实施例。具体的,如图6所示,可以包括:
S601:接收测试管理终端发送测试请求,所述测试请求包括测试终端的标识信息、被测集群的环境配置信息。
S603:根据所述环境配置信息确定所述被测集群的环境类型和环境配置文件。
S605:从测试用例库确定与所述环境类型对应的测试用例,生成所述被测集群的用例列表文件。
具体的,所述测试用例库包括基于解释型语言生成的多种环境类型对应的测试用例。
S607:向所述标识信息对应的测试终端发送测试指令,所述测试指令包括所述环境配置文件和所述用例列表文件,以使所述测试终端根据所述环境配置文件配置本地的环境变量参数;以及基于测试用例列表、所述环境变量参数生成测试脚本命令;以及基于所述被测集群的预置接口向所述被测集群发送包括所述测试脚本命令的测试请求。
具体的,所述预置接口包括标准数据库接口和/或自定义数据库接口。
具体的,所述环境类型包括组网类型和被测集群上运行软件的版本信息;
相应的,所述从测试用例库确定与所述环境类型对应的测试用例,生成所述被测集群的用例列表文件包括:
从测试用例库确定与所述组网类型对应的测试用例;
从所述与所述组网类型对应的测试用例中选取与所述版本信息对应的测试用例,生成所述被测集群的用例列表文件。
具体的,所述测试请求至少还包括下述之一:指定用例条件、指定测试周期、指定测试时间、指定测试次数。
具体的,当所述测试请求还包括指定用例条件时,所述从测试用例库确定与所述环境类型对应的测试用例,生成所述被测集群的用例列表文件包括:
从所述测试用例库从测试用例库确定所述指定用例条件的测试用例;
当所述指定用例条件的测试用例的环境类型与所述被测集群的环境类型相匹配时,基于所述指定用例条件的测试用例中与所述被测集群的环境类型相匹配的测试用例,生成所述被测集群的用例列表文件。
具体的,所述方法还包括:
确定多种环境类型的分布式数据库集群的测试特性;
基于解释型语言生成所述测试特性的测试用例;
将所述测试用例按照测试特性存储到测试用例库;
保存所述测试特性对应的环境类型。
本申请实施例还提供了一种分布式数据库集群测试装置,如图7所示,所述装置包括:
测试请求模块710,可以用于接收测试管理终端发送测试请求,所述测试请求包括测试终端的标识信息、被测集群的环境配置信息;
信息确定模块720,可以用于根据所述环境配置信息确定所述被测集群的环境类型和环境配置文件;
用例列表文件生成模块730,可以用于从测试用例库确定与所述环境类型对应的测试用例,生成所述被测集群的用例列表文件;
测试指令发送模块740,可以用于向所述标识信息对应的测试终端发送测试指令,所述测试指令包括所述环境配置文件和所述用例列表文件,以使所述测试终端根据所述环境配置文件配置本地的环境变量参数;以及基于测试用例列表、所述环境变量参数生成测试脚本命令;以及基于所述被测集群的预置接口向所述被测集群发送包括所述测试脚本命令的测试请求。
在一些实施例中,所述测试用例库包括基于解释型语言生成的多种环境类型对应的测试用例;所述装置还包括:
测试特性确定模块,用于确定多种环境类型的分布式数据库集群的测试特性;
测试用例生成模块,用于基于解释型语言生成所述测试特性的测试用例;
测试用例存储模块,用于将所述测试用例按照测试特性存储到测试用例库;
环境类型保存模块,用于保存所述测试特性对应的环境类型。
在一些实施例中,所述预置接口包括标准数据库接口和/或自定义数据库接口。
在一些实施例中,所述环境类型包括组网类型和被测集群上运行软件的版本信息;
相应的,所述用例列表文件生成模块包括:
第一测试用例确定单元,用于从测试用例库确定与所述组网类型对应的测试用例;
第一用例列表文件生成单元,用于从所述与所述组网类型对应的测试用例中选取与所述版本信息对应的测试用例,生成所述被测集群的用例列表文件。
在一些实施例中,所述测试请求至少还包括下述之一:指定用例条件、指定测试周期、指定测试时间、指定测试次数。
在一些实施例中,当所述测试请求还包括指定用例条件时,所述用例列表文件生成模块包括:
第二测试用例确定单元,用于从所述测试用例库从测试用例库确定所述指定用例条件的测试用例;
第二用例列表文件生成单元,用于当所述指定用例条件的测试用例的环境类型与所述被测集群的环境类型相匹配时,基于所述指定用例条件的测试用例中与所述被测集群的环境类型相匹配的测试用例,生成所述被测集群的用例列表文件。
在一些实施例中,所述被测集群包括区块链网络对应的分布式数据库集群。
所述的装置实施例中的装置与方法实施例基于同样地申请构思。
本申请实施例提供了一种分布式数据库集群测试管理服务器,该分布式数据库集群测试服务器包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现如上述方法实施例所提供的分布式数据库集群测试方法。
以下以测试终端为执行主体,介绍本申请一种分布式数据库集群测试方法的实施例。具体的,如图8所示,可以包括:
S801:接收测试管理服务器发送的测试指令,所述测试指令包括测试管理服务器从测试用例库确定的与被测集群的环境类型对应的测试用例所生成的用例列表文件和测试管理服务器根据所述被测集群的环境配置信息确定的环境配置文件。
具体的,所述测试用例库包括基于解释型语言生成的多种环境类型对应的测试用例;
S803:根据所述环境配置文件配置本地的环境变量参数;
S805:基于测试用例列表、所述环境变量参数生成测试脚本命令;
S807:基于所述被测集群的预置接口向所述被测集群发送包括所述测试脚本命令的测试请求,以使所述被测集群执行所述测试脚本命令。
具体的,所述预置接口包括标准数据库接口和/或自定义数据库接口。具体的,所述测试指令至少还包括下述之一:指定测试周期、指定测试时间、指定测试次数。
具体的,当所述测试指令还包括指定测试周期时,所述基于所述被测集群的预置接口向所述被测集群发送包括所述测试脚本命令的测试请求包括:
按照所述指定测试周期,基于所述被测集群的预置接口向所述被测集群发送包括所述测试脚本命令的测试请求;
当所述测试指令还包括指定测试时间时,所述基于所述被测集群的预置接口向所述被测集群发送包括所述测试脚本命令的测试请求包括:
在所述指定测试时间,基于所述被测集群的预置接口向所述被测集群发送包括所述测试脚本命令的测试请求;
当所述测试指令还包括指定测试次数时,所述基于所述被测集群的预置接口向所述被测集群发送包括所述测试脚本命令的测试请求包括:
基于所述被测集群的预置接口向所述被测集群发送所述指定测试次数的包括所述测试脚本命令的测试请求。
具体的,所述方法还包括:
接收所述被测集群基于所述预置接口发送的所述测试脚本命令的执行结果;
基于所述执行结果确定所述测试脚本命令的运行结果;
将所述执行结果和所述运行结果发送给所述测试管理服务器。
本申请实施例还提供了一种分布式数据库集群测试装置,如图9所示,所述装置包括:
测试指令接收模块910,用于接收测试管理服务器发送的测试指令,所述测试指令包括测试管理服务器从测试用例库确定的与被测集群的环境类型对应的测试用例所生成的用例列表文件和测试管理服务器根据所述被测集群的环境配置信息确定的环境配置文件;
环境变量参数配置模块920,用于根据所述环境配置文件配置本地的环境变量参数;
测试脚本命令生成模块930,用于基于测试用例列表、所述环境变量参数生成测试脚本命令;
测试脚本命令发送模块940,用于基于所述被测集群的预置接口向所述被测集群发送包括所述测试脚本命令的测试请求,以使所述被测集群执行所述测试脚本命令。
在一些实施例中,所述测试用例库包括基于解释型语言生成的多种环境类型对应的测试用例。
在一些实施例中,所述预置接口包括标准数据库接口和/或自定义数据库接口。
在一些实施例中,所述测试指令至少还包括下述之一:指定测试周期、指定测试时间、指定测试次数。
在一些实施例中,当所述测试指令还包括指定测试周期时,所述测试脚本命令发送模块具体用于按照所述指定测试周期,基于所述被测集群的预置接口向所述被测集群发送包括所述测试脚本命令的测试请求;
在一些实施例中,当所述测试指令还包括指定测试时间时,所述测试脚本命令发送模块具体用于在所述指定测试时间,基于所述被测集群的预置接口向所述被测集群发送包括所述测试脚本命令的测试请求;
在一些实施例中,当所述测试指令还包括指定测试次数时,所述测试脚本命令发送模块具体用于基于所述被测集群的预置接口向所述被测集群发送所述指定测试次数的包括所述测试脚本命令的测试请求。
在一些实施例中,所述装置还包括:
执行结果接收模块,用于接收所述被测集群基于所述预置接口发送的所述测试脚本命令的执行结果;
运行结果确定模块,用于基于所述执行结果确定所述测试脚本命令的运行结果;
结果发送模块,用于将所述执行结果和所述运行结果发送给所述测试管理服务器。
在一些实施例中,所述被测集群包括区块链网络对应的分布式数据库集群。
所述的装置实施例中的装置与方法实施例基于同样地申请构思。
本申请实施例提供了一种分布式数据库集群测试终端,该分布式数据库集群测试终端包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现如上述方法实施例所提供的分布式数据库集群测试方法。
本说明书实施例中,存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据所述设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
本申请实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置中执行。以运行在服务器上为例,图10是本申请实施例提供的一种分布式数据库集群测试方法的服务器的硬件结构框图。如图10所示,该服务器1000可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central ProcessingUnits,CPU)1010(处理器1010可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器1030,一个或一个以上存储应用程序1023或数据1022的存储介质1020(例如一个或一个以上海量存储设备)。其中,存储器1030和存储介质1020可以是短暂存储或持久存储。存储在存储介质1020的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1010可以设置为与存储介质1020通信,在服务器1000上执行存储介质1020中的一系列指令操作。服务器1000还可以包括一个或一个以上电源1060,一个或一个以上有线或无线网络接口1050,一个或一个以上输入输出接口1040,和/或,一个或一个以上操作系统1021,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
输入输出接口1040可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器1000的通信供应商提供的无线网络。在一个实例中,输入输出接口1040包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口1040可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
本领域普通技术人员可以理解,图10所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器1000还可包括比图10中所示更多或者更少的组件,或者具有与图10所示不同的配置。
本申请的实施例还提供了一种存储介质,所述存储介质可设置于服务器之中以保存用于实现方法实施例中一种分布式数据库集群测试方法相关的至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现上述方法实施例提供的分布式数据库集群测试方法。
可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
由上述本申请提供的分布式数据库集群测试方法、装置、服务器、终端或存储介质的实施例可见,本申请中在需要对任意环境的分布式数据库集群进行测试时,可以直接基于被测集群的环境配置信息生成环境配置文件,并直接从包括多种环境类型对应的测试用例的测试用例库中确定与该被测集群的环境类型相匹配的用例列表文件,且测试用例基于解释性语言生成,可以大大降低用例的写作调试困难和成本;然后,由测试终端基于标准数据库接口和/或自定义数据库接口对被测集群的测试,可以应对各种类型的被测集群的测试需求,降低不同环境间的耦合性,迁移性强。利用本说明书实施例提供的技术方案可以大大降低用例的写作调试困难,快速部署分布式数据库集群不同子系统的测试所需的测试用例和环境配置文件,实现对分布式数据库集群的统一测试,且对于分布式架构,可以多任务并发执行,提升运行效率。
需要说明的是:上述本申请实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和服务器实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (15)

1.一种分布式数据库集群测试方法,其特征在于,所述方法包括:
接收测试管理终端发送测试请求,所述测试请求包括测试终端的标识信息、被测集群的环境配置信息;
根据所述环境配置信息确定所述被测集群的环境类型和环境配置文件;
从测试用例库确定与所述环境类型对应的测试用例,生成所述被测集群的用例列表文件;
向所述标识信息对应的测试终端发送测试指令,所述测试指令包括所述环境配置文件和所述用例列表文件,以使所述测试终端根据所述环境配置文件配置本地的环境变量参数;以及基于测试用例列表、所述环境变量参数生成测试脚本命令;以及基于所述被测集群的预置接口向所述被测集群发送包括所述测试脚本命令的测试请求。
2.根据权利要求1所述的方法,其特征在于,所述测试用例库包括基于解释型语言生成的多种环境类型对应的测试用例;所述方法还包括:
确定多种环境类型的分布式数据库集群的测试特性;
基于解释型语言生成所述测试特性的测试用例;
将所述测试用例按照测试特性存储到测试用例库;
保存所述测试特性对应的环境类型。
3.根据权利要求1所述的方法,其特征在于,所述预置接口包括标准数据库接口和/或自定义数据库接口。
4.根据权利要求1所述的方法,其特征在于,所述环境类型包括组网类型和被测集群上运行软件的版本信息;
相应的,所述从测试用例库确定与所述环境类型对应的测试用例,生成所述被测集群的用例列表文件包括:
从测试用例库确定与所述组网类型对应的测试用例;
从所述与所述组网类型对应的测试用例中选取与所述版本信息对应的测试用例,生成所述被测集群的用例列表文件。
5.根据权利要求1所述的方法,其特征在于,所述测试请求至少还包括下述之一:指定用例条件、指定测试周期、指定测试时间、指定测试次数;
当所述测试请求还包括指定用例条件时,所述从测试用例库确定与所述环境类型对应的测试用例,生成所述被测集群的用例列表文件包括:
从所述测试用例库从测试用例库确定所述指定用例条件的测试用例;
当所述指定用例条件的测试用例的环境类型与所述被测集群的环境类型相匹配时,基于所述指定用例条件的测试用例中与所述被测集群的环境类型相匹配的测试用例,生成所述被测集群的用例列表文件。
6.根据权利要求1所述的方法,其特征在于,所述被测集群包括区块链网络对应的分布式数据库集群。
7.一种分布式数据库集群测试方法,其特征在于,所述方法包括:
接收测试管理服务器发送的测试指令,所述测试指令包括测试管理服务器从测试用例库确定的与被测集群的环境类型对应的测试用例所生成的用例列表文件和测试管理服务器根据所述被测集群的环境配置信息确定的环境配置文件;
根据所述环境配置文件配置本地的环境变量参数;
基于测试用例列表、所述环境变量参数生成测试脚本命令;
基于所述被测集群的预置接口向所述被测集群发送包括所述测试脚本命令的测试请求,以使所述被测集群执行所述测试脚本命令。
8.根据权利要求7所述的方法,其特征在于,所述测试用例库包括基于解释型语言生成的多种环境类型对应的测试用例。
9.根据权利要求7所述的方法,其特征在于,所述预置接口包括标准数据库接口和/或自定义数据库接口。
10.根据权利要求7所述的方法,其特征在于,所述测试指令至少还包括下述之一:指定测试周期、指定测试时间、指定测试次数;
当所述测试指令还包括指定测试周期时,所述基于所述被测集群的预置接口向所述被测集群发送包括所述测试脚本命令的测试请求包括:
按照所述指定测试周期,基于所述被测集群的预置接口向所述被测集群发送包括所述测试脚本命令的测试请求;
当所述测试指令还包括指定测试时间时,所述基于所述被测集群的预置接口向所述被测集群发送包括所述测试脚本命令的测试请求包括:
在所述指定测试时间,基于所述被测集群的预置接口向所述被测集群发送包括所述测试脚本命令的测试请求;
当所述测试指令还包括指定测试次数时,所述基于所述被测集群的预置接口向所述被测集群发送包括所述测试脚本命令的测试请求包括:
基于所述被测集群的预置接口向所述被测集群发送所述指定测试次数的包括所述测试脚本命令的测试请求。
11.根据权利要求7所述的方法,其特征在于,所述方法还包括:
接收所述被测集群基于所述预置接口发送的所述测试脚本命令的执行结果;
基于所述执行结果确定所述测试脚本命令的运行结果;
将所述执行结果和所述运行结果发送给所述测试管理服务器。
12.根据权利要求7所述的方法,其特征在于,所述被测集群包括区块链网络对应的分布式数据库集群。
13.一种分布式数据库集群测试装置,其特征在于,所述装置包括:
测试请求模块,用于接收测试管理终端发送测试请求,所述测试请求包括测试终端的标识信息、被测集群的环境配置信息;
信息确定模块,用于根据所述环境配置信息确定所述被测集群的环境类型和环境配置文件;
用例列表文件生成模块,用于从测试用例库确定与所述环境类型对应的测试用例,生成所述被测集群的用例列表文件;
测试指令发送模块,用于向所述标识信息对应的测试终端发送测试指令,所述测试指令包括所述环境配置文件和所述用例列表文件,以使所述测试终端根据所述环境配置文件配置本地的环境变量参数;以及基于测试用例列表、所述环境变量参数生成测试脚本命令;以及基于所述被测集群的预置接口向所述被测集群发送包括所述测试脚本命令的测试请求。
14.一种分布式数据库集群测试装置,其特征在于,所述装置包括:
测试指令接收模块,用于接收测试管理服务器发送的测试指令,所述测试指令包括测试管理服务器从测试用例库确定的与被测集群的环境类型对应的测试用例所生成的用例列表文件和测试管理服务器根据所述被测集群的环境配置信息确定的环境配置文件;
环境变量参数配置模块,用于根据所述环境配置文件配置本地的环境变量参数;
测试脚本命令生成模块,用于基于测试用例列表、所述环境变量参数生成测试脚本命令;
测试脚本命令发送模块,用于基于所述被测集群的预置接口向所述被测集群发送包括所述测试脚本命令的测试请求,以使所述被测集群执行所述测试脚本命令。
15.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至6,或7至11任一所述的会话切换方法。
CN201910620739.5A 2019-07-10 2019-07-10 一种分布式数据库集群测试方法、装置及存储介质 Active CN110389900B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910620739.5A CN110389900B (zh) 2019-07-10 2019-07-10 一种分布式数据库集群测试方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910620739.5A CN110389900B (zh) 2019-07-10 2019-07-10 一种分布式数据库集群测试方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN110389900A true CN110389900A (zh) 2019-10-29
CN110389900B CN110389900B (zh) 2022-09-23

Family

ID=68286425

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910620739.5A Active CN110389900B (zh) 2019-07-10 2019-07-10 一种分布式数据库集群测试方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN110389900B (zh)

Cited By (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110868340A (zh) * 2019-11-27 2020-03-06 紫光华山科技有限公司 测试方法、装置、可重构测试仪及控制器
CN111008127A (zh) * 2019-11-15 2020-04-14 拉扎斯网络科技(上海)有限公司 多活测试方法、装置、电子设备及可读存储介质
CN111078516A (zh) * 2019-11-26 2020-04-28 支付宝(杭州)信息技术有限公司 分布式性能测试方法、装置、电子设备
CN111124911A (zh) * 2019-12-20 2020-05-08 苏州浪潮智能科技有限公司 一种自动化测试方法、装置、设备及可读存储介质
CN111143196A (zh) * 2019-12-05 2020-05-12 武汉迎风聚智科技有限公司 数据库的测试方法以及装置
CN111143193A (zh) * 2019-11-30 2020-05-12 苏州浪潮智能科技有限公司 基于RobotFramework的大数据服务测试方法、系统、终端及存储介质
CN111181801A (zh) * 2019-12-04 2020-05-19 腾讯云计算(北京)有限责任公司 节点集群测试方法、装置、电子设备及存储介质
CN111209188A (zh) * 2019-12-26 2020-05-29 曙光信息产业股份有限公司 一种分布式存储系统的测试方法和装置
CN111258827A (zh) * 2020-01-14 2020-06-09 吉利汽车研究院(宁波)有限公司 接口模型的确定方法、装置、电子设备及存储介质
CN111290951A (zh) * 2020-01-22 2020-06-16 京东数字科技控股有限公司 测试方法、终端、服务器、系统及存储介质
CN111404782A (zh) * 2020-03-17 2020-07-10 深圳市潮流网络技术有限公司 终端测试方法及装置、计算设备、存储介质
CN111427778A (zh) * 2020-03-18 2020-07-17 中国平安人寿保险股份有限公司 一种测试方法、装置、终端设备及存储介质
CN111506657A (zh) * 2020-04-17 2020-08-07 腾讯科技(深圳)有限公司 一种区块链节点设备部署的方法
CN111611166A (zh) * 2020-05-22 2020-09-01 厦门理工学院 基于移动互联网的软件测试方法与系统
CN111767226A (zh) * 2020-06-30 2020-10-13 上海云轴信息科技有限公司 一种云计算平台资源的测试方法、系统及设备
CN111817916A (zh) * 2020-07-02 2020-10-23 浙江同花顺智能科技有限公司 基于移动终端集群的测试方法、装置、设备和存储介质
CN112115058A (zh) * 2020-09-25 2020-12-22 建信金融科技有限责任公司 测试方法及装置、测试用例生成方法及装置、测试系统
CN112202859A (zh) * 2020-09-22 2021-01-08 北京人大金仓信息技术股份有限公司 数据传输方法和数据库系统
CN112286806A (zh) * 2020-10-28 2021-01-29 成都佰维存储科技有限公司 自动化测试方法、装置、存储介质及电子设备
CN112363932A (zh) * 2020-11-11 2021-02-12 网易(杭州)网络有限公司 待测试业务对象的测试方法及装置、电子装置
CN112416745A (zh) * 2020-01-21 2021-02-26 上海哔哩哔哩科技有限公司 一种测试控制系统、方法及设备
CN112416744A (zh) * 2020-01-21 2021-02-26 上海哔哩哔哩科技有限公司 一种测试控制系统、方法及设备
CN112433899A (zh) * 2020-11-27 2021-03-02 中国建设银行股份有限公司 一种云服务器批量检测方法、装置、设备及存储介质
CN112464596A (zh) * 2020-11-27 2021-03-09 海光信息技术股份有限公司 回归测试方法、系统、设备及可读存储介质
CN112486833A (zh) * 2020-12-07 2021-03-12 中国科学院软件研究所 一种面向软件定义卫星的可按需动态重构的软件测试系统和方法
CN112667505A (zh) * 2020-12-25 2021-04-16 杭州群核信息技术有限公司 一种终端测试方法、装置、存储介质及电子装置
CN113127312A (zh) * 2019-12-30 2021-07-16 北京金山云网络技术有限公司 用于数据库性能测试的方法、装置、电子设备及存储介质
CN113204485A (zh) * 2021-05-08 2021-08-03 山东英信计算机技术有限公司 一种内存数据库压力测试方法、系统、终端及存储介质
CN113282439A (zh) * 2021-05-08 2021-08-20 成都佰维存储科技有限公司 eMMC测试方法、装置、可读存储介质及电子设备
CN113434410A (zh) * 2021-06-25 2021-09-24 青岛海尔科技有限公司 数据测试方法及装置、存储介质、电子装置
CN113468536A (zh) * 2021-05-27 2021-10-01 北京达佳互联信息技术有限公司 检测方法、装置、系统、电子设备及存储介质
CN113505073A (zh) * 2021-07-15 2021-10-15 北京金山云网络技术有限公司 一种数据库的性能测试方法、装置、设备及介质
CN113791941A (zh) * 2021-09-15 2021-12-14 华云数据控股集团有限公司 自动化测试OpenStack集群稳定性的方法及应用
CN113821386A (zh) * 2020-06-19 2021-12-21 顺丰科技有限公司 性能测试方法、装置、网络设备及计算机可读存储介质
CN113886265A (zh) * 2021-10-21 2022-01-04 北京广利核系统工程有限公司 一种分布式测试系统
CN113961455A (zh) * 2021-10-15 2022-01-21 杭州安恒信息技术股份有限公司 一种数据库压测方法、系统及计算机存储介质
CN114630343A (zh) * 2020-12-10 2022-06-14 大唐移动通信设备有限公司 一种面向多类型终端的5g接入网测试系统和测试方法
CN114629832A (zh) * 2022-03-17 2022-06-14 广州超云科技有限公司 一种远程自动化测试方法、系统、电子设备及存储介质
CN114860587A (zh) * 2020-07-23 2022-08-05 华为技术有限公司 一种分布式测试方法、电子设备、测试系统及存储介质
CN114880049A (zh) * 2022-03-09 2022-08-09 深圳萨摩耶数字科技有限公司 一种数据处理方法、装置、电子设备及存储介质
CN114924919A (zh) * 2022-04-15 2022-08-19 北京志凌海纳科技有限公司 一种节点管理测试方法、系统及存储介质
CN115297129A (zh) * 2022-08-02 2022-11-04 中国银行股份有限公司 数据通信网络建立方法及装置
CN115473930A (zh) * 2022-09-13 2022-12-13 陕西交建云数据科技有限公司 一种跨运行环境的文件预置方法
CN115617686A (zh) * 2022-10-31 2023-01-17 北京志凌海纳科技有限公司 超融合集群测试方法、装置、计算机设备及存储介质
CN115941538A (zh) * 2023-02-21 2023-04-07 华控清交信息科技(北京)有限公司 一种针对多方安全计算的测试系统、测试方法及装置
WO2023065749A1 (zh) * 2021-10-20 2023-04-27 北京锐安科技有限公司 分布式数据库的内嵌方法、装置、设备及存储介质
CN116233135A (zh) * 2023-05-06 2023-06-06 华控清交信息科技(北京)有限公司 一种数据传输方法、系统、装置和可读存储介质
WO2023231781A1 (zh) * 2022-06-02 2023-12-07 华为云计算技术有限公司 分布式协同ai任务评估方法、管理装置、控制装置和系统
CN118193404A (zh) * 2024-05-17 2024-06-14 天津南大通用数据技术股份有限公司 一种分布式数据库集群的测试方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107590044A (zh) * 2017-09-15 2018-01-16 郑州云海信息技术有限公司 一种分布式存储集群的测试方法、装置及设备
CN109302305A (zh) * 2018-08-08 2019-02-01 杭州安恒信息技术股份有限公司 一种基于工业控制系统的集群性能测试方法
CN109933519A (zh) * 2019-01-22 2019-06-25 泰康保险集团股份有限公司 自动化测试方法、装置、系统、介质和电子设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107590044A (zh) * 2017-09-15 2018-01-16 郑州云海信息技术有限公司 一种分布式存储集群的测试方法、装置及设备
CN109302305A (zh) * 2018-08-08 2019-02-01 杭州安恒信息技术股份有限公司 一种基于工业控制系统的集群性能测试方法
CN109933519A (zh) * 2019-01-22 2019-06-25 泰康保险集团股份有限公司 自动化测试方法、装置、系统、介质和电子设备

Cited By (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111008127A (zh) * 2019-11-15 2020-04-14 拉扎斯网络科技(上海)有限公司 多活测试方法、装置、电子设备及可读存储介质
CN111078516A (zh) * 2019-11-26 2020-04-28 支付宝(杭州)信息技术有限公司 分布式性能测试方法、装置、电子设备
CN110868340A (zh) * 2019-11-27 2020-03-06 紫光华山科技有限公司 测试方法、装置、可重构测试仪及控制器
CN111143193A (zh) * 2019-11-30 2020-05-12 苏州浪潮智能科技有限公司 基于RobotFramework的大数据服务测试方法、系统、终端及存储介质
CN111143193B (zh) * 2019-11-30 2022-10-18 苏州浪潮智能科技有限公司 基于RobotFramework的大数据服务测试方法、系统、终端及存储介质
CN111181801A (zh) * 2019-12-04 2020-05-19 腾讯云计算(北京)有限责任公司 节点集群测试方法、装置、电子设备及存储介质
CN111143196A (zh) * 2019-12-05 2020-05-12 武汉迎风聚智科技有限公司 数据库的测试方法以及装置
CN111124911A (zh) * 2019-12-20 2020-05-08 苏州浪潮智能科技有限公司 一种自动化测试方法、装置、设备及可读存储介质
CN111209188A (zh) * 2019-12-26 2020-05-29 曙光信息产业股份有限公司 一种分布式存储系统的测试方法和装置
CN113127312B (zh) * 2019-12-30 2024-04-05 北京金山云网络技术有限公司 用于数据库性能测试的方法、装置、电子设备及存储介质
CN113127312A (zh) * 2019-12-30 2021-07-16 北京金山云网络技术有限公司 用于数据库性能测试的方法、装置、电子设备及存储介质
CN111258827B (zh) * 2020-01-14 2024-01-12 宁波吉利汽车研究开发有限公司 接口模型的确定方法、装置、电子设备及存储介质
CN111258827A (zh) * 2020-01-14 2020-06-09 吉利汽车研究院(宁波)有限公司 接口模型的确定方法、装置、电子设备及存储介质
CN112416745A (zh) * 2020-01-21 2021-02-26 上海哔哩哔哩科技有限公司 一种测试控制系统、方法及设备
CN112416744A (zh) * 2020-01-21 2021-02-26 上海哔哩哔哩科技有限公司 一种测试控制系统、方法及设备
CN111290951B (zh) * 2020-01-22 2023-09-26 京东科技控股股份有限公司 测试方法、终端、服务器、系统及存储介质
CN111290951A (zh) * 2020-01-22 2020-06-16 京东数字科技控股有限公司 测试方法、终端、服务器、系统及存储介质
CN111404782A (zh) * 2020-03-17 2020-07-10 深圳市潮流网络技术有限公司 终端测试方法及装置、计算设备、存储介质
CN111404782B (zh) * 2020-03-17 2023-08-18 深圳市潮流网络技术有限公司 终端测试方法及装置、计算设备、存储介质
CN111427778A (zh) * 2020-03-18 2020-07-17 中国平安人寿保险股份有限公司 一种测试方法、装置、终端设备及存储介质
CN111506657A (zh) * 2020-04-17 2020-08-07 腾讯科技(深圳)有限公司 一种区块链节点设备部署的方法
CN111506657B (zh) * 2020-04-17 2024-04-26 腾讯科技(深圳)有限公司 一种区块链节点设备部署的方法
CN111611166A (zh) * 2020-05-22 2020-09-01 厦门理工学院 基于移动互联网的软件测试方法与系统
CN111611166B (zh) * 2020-05-22 2023-04-07 厦门理工学院 基于移动互联网的软件测试方法与系统
CN113821386A (zh) * 2020-06-19 2021-12-21 顺丰科技有限公司 性能测试方法、装置、网络设备及计算机可读存储介质
CN111767226B (zh) * 2020-06-30 2023-10-27 上海云轴信息科技有限公司 一种云计算平台资源的测试方法、系统及设备
CN111767226A (zh) * 2020-06-30 2020-10-13 上海云轴信息科技有限公司 一种云计算平台资源的测试方法、系统及设备
CN111817916A (zh) * 2020-07-02 2020-10-23 浙江同花顺智能科技有限公司 基于移动终端集群的测试方法、装置、设备和存储介质
CN111817916B (zh) * 2020-07-02 2022-06-03 浙江同花顺智能科技有限公司 基于移动终端集群的测试方法、装置、设备和存储介质
CN114860587B (zh) * 2020-07-23 2023-06-06 华为技术有限公司 一种分布式测试方法、电子设备、测试系统及存储介质
CN114860587A (zh) * 2020-07-23 2022-08-05 华为技术有限公司 一种分布式测试方法、电子设备、测试系统及存储介质
CN112202859A (zh) * 2020-09-22 2021-01-08 北京人大金仓信息技术股份有限公司 数据传输方法和数据库系统
CN112202859B (zh) * 2020-09-22 2024-02-23 北京人大金仓信息技术股份有限公司 数据传输方法和数据库系统
CN112115058B (zh) * 2020-09-25 2024-03-29 建信金融科技有限责任公司 测试方法及装置、测试用例生成方法及装置、测试系统
CN112115058A (zh) * 2020-09-25 2020-12-22 建信金融科技有限责任公司 测试方法及装置、测试用例生成方法及装置、测试系统
CN112286806B (zh) * 2020-10-28 2023-10-03 成都佰维存储科技有限公司 自动化测试方法、装置、存储介质及电子设备
CN112286806A (zh) * 2020-10-28 2021-01-29 成都佰维存储科技有限公司 自动化测试方法、装置、存储介质及电子设备
CN112363932B (zh) * 2020-11-11 2024-03-22 网易(杭州)网络有限公司 待测试业务对象的测试方法及装置、电子装置
CN112363932A (zh) * 2020-11-11 2021-02-12 网易(杭州)网络有限公司 待测试业务对象的测试方法及装置、电子装置
CN112433899A (zh) * 2020-11-27 2021-03-02 中国建设银行股份有限公司 一种云服务器批量检测方法、装置、设备及存储介质
CN112464596A (zh) * 2020-11-27 2021-03-09 海光信息技术股份有限公司 回归测试方法、系统、设备及可读存储介质
CN112486833A (zh) * 2020-12-07 2021-03-12 中国科学院软件研究所 一种面向软件定义卫星的可按需动态重构的软件测试系统和方法
CN112486833B (zh) * 2020-12-07 2022-12-23 中国科学院软件研究所 一种面向软件定义卫星的可按需动态重构的软件测试系统和方法
CN114630343A (zh) * 2020-12-10 2022-06-14 大唐移动通信设备有限公司 一种面向多类型终端的5g接入网测试系统和测试方法
CN114630343B (zh) * 2020-12-10 2024-05-17 大唐移动通信设备有限公司 一种面向多类型终端的5g接入网测试系统和测试方法
CN112667505A (zh) * 2020-12-25 2021-04-16 杭州群核信息技术有限公司 一种终端测试方法、装置、存储介质及电子装置
CN113282439B (zh) * 2021-05-08 2023-05-23 成都佰维存储科技有限公司 eMMC测试方法、装置、可读存储介质及电子设备
CN113204485A (zh) * 2021-05-08 2021-08-03 山东英信计算机技术有限公司 一种内存数据库压力测试方法、系统、终端及存储介质
CN113282439A (zh) * 2021-05-08 2021-08-20 成都佰维存储科技有限公司 eMMC测试方法、装置、可读存储介质及电子设备
CN113468536B (zh) * 2021-05-27 2024-07-12 北京达佳互联信息技术有限公司 检测方法、装置、系统、电子设备及存储介质
CN113468536A (zh) * 2021-05-27 2021-10-01 北京达佳互联信息技术有限公司 检测方法、装置、系统、电子设备及存储介质
CN113434410A (zh) * 2021-06-25 2021-09-24 青岛海尔科技有限公司 数据测试方法及装置、存储介质、电子装置
CN113505073A (zh) * 2021-07-15 2021-10-15 北京金山云网络技术有限公司 一种数据库的性能测试方法、装置、设备及介质
CN113505073B (zh) * 2021-07-15 2024-07-26 北京金山云网络技术有限公司 一种数据库的性能测试方法、装置、设备及介质
CN113791941A (zh) * 2021-09-15 2021-12-14 华云数据控股集团有限公司 自动化测试OpenStack集群稳定性的方法及应用
CN113961455A (zh) * 2021-10-15 2022-01-21 杭州安恒信息技术股份有限公司 一种数据库压测方法、系统及计算机存储介质
WO2023065749A1 (zh) * 2021-10-20 2023-04-27 北京锐安科技有限公司 分布式数据库的内嵌方法、装置、设备及存储介质
CN113886265A (zh) * 2021-10-21 2022-01-04 北京广利核系统工程有限公司 一种分布式测试系统
CN114880049A (zh) * 2022-03-09 2022-08-09 深圳萨摩耶数字科技有限公司 一种数据处理方法、装置、电子设备及存储介质
CN114629832A (zh) * 2022-03-17 2022-06-14 广州超云科技有限公司 一种远程自动化测试方法、系统、电子设备及存储介质
CN114924919A (zh) * 2022-04-15 2022-08-19 北京志凌海纳科技有限公司 一种节点管理测试方法、系统及存储介质
WO2023231781A1 (zh) * 2022-06-02 2023-12-07 华为云计算技术有限公司 分布式协同ai任务评估方法、管理装置、控制装置和系统
CN115297129B (zh) * 2022-08-02 2024-04-16 中国银行股份有限公司 数据通信网络建立方法及装置
CN115297129A (zh) * 2022-08-02 2022-11-04 中国银行股份有限公司 数据通信网络建立方法及装置
CN115473930B (zh) * 2022-09-13 2024-02-20 陕西交建云数据科技有限公司 一种跨运行环境的文件预置方法
CN115473930A (zh) * 2022-09-13 2022-12-13 陕西交建云数据科技有限公司 一种跨运行环境的文件预置方法
CN115617686A (zh) * 2022-10-31 2023-01-17 北京志凌海纳科技有限公司 超融合集群测试方法、装置、计算机设备及存储介质
CN115941538A (zh) * 2023-02-21 2023-04-07 华控清交信息科技(北京)有限公司 一种针对多方安全计算的测试系统、测试方法及装置
CN116233135A (zh) * 2023-05-06 2023-06-06 华控清交信息科技(北京)有限公司 一种数据传输方法、系统、装置和可读存储介质
CN118193404A (zh) * 2024-05-17 2024-06-14 天津南大通用数据技术股份有限公司 一种分布式数据库集群的测试方法

Also Published As

Publication number Publication date
CN110389900B (zh) 2022-09-23

Similar Documents

Publication Publication Date Title
CN110389900A (zh) 一种分布式数据库集群测试方法、装置及存储介质
JP7421511B2 (ja) アプリケーションをデプロイするための方法及び装置、電子機器、読み取り可能な記憶媒体並びにコンピュータプログラム
US9965377B1 (en) Deploy pipeline for development packages
WO2024077885A1 (zh) 容器集群的管理方法、装置、设备及非易失性可读存储介质
US8219991B2 (en) Consolidated launching of multiple tasks
CN110138876A (zh) 任务部署方法、装置、设备及平台
CN108563440A (zh) 列表控制器代码自动添加方法、装置及可读存储介质
CN111651352B (zh) 一种仓库代码的合并方法及装置
CN110928625A (zh) 应用程序的运行控制方法、装置、电子设备及存储介质
CN112395196A (zh) 数据作业开发测试方法、装置、设备、系统及存储介质
Lin et al. Tracing function dependencies across clouds
CN106155905B (zh) 应用环境切换方法以及装置
US10404700B1 (en) Concurrent design process
CN114500549B (zh) 在公共云中为用户部署k8s托管集群的方法、设备和介质
CN112988600A (zh) 业务场景测试方法、装置、电子设备及存储介质
CN110019059B (zh) 一种定时同步的方法和装置
CN102970375A (zh) 集群配置方法和装置
CN110752964A (zh) 一种网络设备的测试方法及装置
Farcic The DevOps 2.1 Toolkit: Docker Swarm
CN116193481A (zh) 一种5g核心网处理方法、装置、设备及介质
CN114968225A (zh) 微服务统一构建方法、环境生成方法及相关设备
CN110096440B (zh) 一种日志处理方法及装置
Strazdina A hybrid automated framework for testing cloud-native and virtual core network applications
Patel et al. Pivotal Greenplum© for Kubernetes: demonstration of managing greenplum database on Kubernetes
Pugdeethosapol et al. Dynamic configuration of the computing nodes of the ALICE O 2 system

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