CN111008127A - 多活测试方法、装置、电子设备及可读存储介质 - Google Patents

多活测试方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN111008127A
CN111008127A CN201911121264.1A CN201911121264A CN111008127A CN 111008127 A CN111008127 A CN 111008127A CN 201911121264 A CN201911121264 A CN 201911121264A CN 111008127 A CN111008127 A CN 111008127A
Authority
CN
China
Prior art keywords
activity
tested
test
live
data
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.)
Pending
Application number
CN201911121264.1A
Other languages
English (en)
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.)
Rajax Network Technology Co Ltd
Original Assignee
Rajax Network Technology 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 Rajax Network Technology Co Ltd filed Critical Rajax Network Technology Co Ltd
Priority to CN201911121264.1A priority Critical patent/CN111008127A/zh
Publication of CN111008127A publication Critical patent/CN111008127A/zh
Pending legal-status Critical Current

Links

Images

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/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

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)
  • Debugging And Monitoring (AREA)

Abstract

本公开实施例公开了一种多活测试方法、装置、电子设备及可读存储介质,所述方法包括:获取多活测试命令,其中,所述多活测试命令至少包括测试用例信息和待测试多活环境信息,所述待测试多活环境为一个或多个候选多活环境中的任意一个,获取多活测试配置文件,并根据所述多活测试命令确定所述多活测试配置文件中与所述测试用例和所述待测试多活环境对应的待测试多活数据,其中,多活测试配置文件中包括一个或多个候选多活环境分别对应的候选多活数据,根据所述测试用例和待测试多活数据进行测试,得到多活测试结果。该技术方案实现了在多个多活环境之间的环境切换,以及配置多个多活环境对应的多活数据,降低了多活环境的测试难度。

Description

多活测试方法、装置、电子设备及可读存储介质
技术领域
本公开涉及自动测试技术领域,具体涉及一种多活测试方法、装置、电子设备及可读存储介质。
背景技术
数据中心是信息交换、存储和处理的枢纽,是承载服务的关键基础设施。在单个数据中心的机房中,能部署的服务器数量通常是有限的,而扩展的服务却不断要求扩容,使得单个数据中心难以支撑所有服务。另外,机房级别的故障(例如,机房断电、断网等)时有发生,而导致严重的后果。
目前,可以采用多活技术来应对快速扩展的服务和机房级别的故障,且这些机房之间能够实现数据传输和同步。例如,通过在不同城市建立独立的数据中心以实现异地多活。其中,“活”是相对于冷备份而言的,冷备份是备份全量数据,平时不支撑服务需求,只有在主机房出现故障的时候才会切换到备用机房,而“多活”是指这些机房在日常的服务中也需要走流量,做服务支撑。
在提出本公开的过程中,发明人发现,现有多活测试方法通常无法对多个多活环境对应的多活数据进行配置,也不支持多个多活环境之间的环境切换,使得多活测试通常只能针对单个环境实现,而对多个多活环境的测试难度较大。
发明内容
为了解决相关技术中的问题,本公开实施例提供一种多活测试方法、装置、电子设备及可读存储介质。
第一方面,本公开实施例中提供了一种多活测试方法,包括:
获取多活测试命令,其中,所述多活测试命令至少包括测试用例信息和待测试多活环境信息,所述待测试多活环境为一个或多个候选多活环境中的任意一个;
获取多活测试配置文件,并根据所述多活测试命令确定所述多活测试配置文件中与所述测试用例和所述待测试多活环境对应的待测试多活数据,其中,多活测试配置文件中包括一个或多个候选多活环境分别对应的候选多活数据;
根据所述测试用例和待测试多活数据进行测试,得到多活测试结果。
结合第一方面,本公开在第一方面的第一种实现方式中,所述待测试多活环境信息为待测试多活环境标识信息;
所述获取多活测试配置文件,并根据所述多活测试命令确定所述多活测试配置文件中与所述测试用例和所述待测试多活环境对应的待测试多活数据,被实施为:
获取多活测试配置文件;
根据所述多活测试命令中的待测试多活环境标识信息,确定所述多活测试配置文件中与所述待测试多活环境标识信息对应的备选多活数据;
根据所述多活测试命令中的测试用例信息,确定所述备选多活数据中与所述测试用例信息对应的待测试多活数据。
结合第一方面,本公开在第一方面的第二种实现方式中,所述根据所述测试用例和待测试多活数据进行测试,得到多活测试结果,包括:
根据所述测试用例和待测试多活数据生成待测试脚本;
运行预设测试框架,确定与所述待测试多活数据相应的待测试集群,并与所述待测试集群连接;
在所述测试框架中,基于所述待测试集群执行所述待测试脚本,得到多活测试结果。
结合第一方面的第二种实现方式,本公开在第一方面的第三种实现方式中,所述运行预设测试框架,确定与所述待测试多活数据相应的待测试集群,并与所述待测试集群连接,被实施为:
运行预设测试框架;
根据所述待测试多活数据,确定与所述待测试多活数据相应的待测试集群;
在所述测试框架中,通过集群中间件连接所述待测试集群,其中,所述集群中间件连接于一个或多个集群,所述集群包括待测试集群和候选集群。
结合第一方面的第三种实现方式,本公开在第一方面的第四种实现方式中,所述在所述测试框架中,基于所述待测试集群执行所述待测试脚本,得到多活测试结果,被实施为:
在所述测试框架中,根据所述待测试多活数据生成与所述待测试脚本对应的调用函数;
基于所述调用函数执行所述待测试脚本,得到与所述待测试集群对应的多活测试结果。
结合第一方面的第二种实现方式、第三种实现方式或者第四种实现方式,本公开在第一方面的第五种实现方式中,所述测试框架为自动化测试框架Robot Framework,或者性能测试框架Locust。
结合第一方面,本公开在第一方面的第六种实现方式中,所述多活测试方法还包括:
向一个或多个多活环境发送所述多活测试结果。
第二方面,本公开实施例中提供了一种多活测试装置,包括:
命令获取模块,被配置为获取多活测试命令,其中,所述多活测试命令至少包括测试用例信息和待测试多活环境信息,所述待测试多活环境为一个或多个候选多活环境中的任意一个;
数据获取模块,被配置为获取多活测试配置文件,并根据所述多活测试命令确定所述多活测试配置文件中与所述测试用例和所述待测试多活环境对应的待测试多活数据,其中,多活测试配置文件中包括一个或多个候选多活环境分别对应的候选多活数据;
测试模块,被配置为根据所述测试用例和待测试多活数据进行测试,得到多活测试结果。
结合第二方面,本公开在第二方面的第一种实现方式中,所述待测试多活环境信息为待测试多活环境标识信息;
所述数据获取模块,被配置为:
获取多活测试配置文件;
根据所述多活测试命令中的待测试多活环境标识信息,确定所述多活测试配置文件中与所述待测试多活环境标识信息对应的备选多活数据;
根据所述多活测试命令中的测试用例信息,确定所述备选多活数据中与所述测试用例信息对应的待测试多活数据。
结合第二方面,本公开在第二方面的第二种实现方式中,所述测试模块被配置为:
根据所述测试用例和待测试多活数据生成待测试脚本;
运行预设测试框架,确定与所述待测试多活数据相应的待测试集群,并与所述待测试集群连接;
在所述测试框架中,基于所述待测试集群执行所述待测试脚本,得到多活测试结果。
结合第二方面的第二种实现方式,本公开在第二方面的第三种实现方式中,所述运行预设测试框架,确定与所述待测试多活数据相应的待测试集群,并与所述待测试集群连接的部分,被配置为:
运行预设测试框架;
根据所述待测试多活数据,确定与所述待测试多活数据相应的待测试集群;
在所述测试框架中,通过集群中间件连接所述待测试集群,其中,所述集群中间件连接于一个或多个集群,所述集群包括待测试集群和候选集群。
结合第二方面的第三种实现方式,本公开在第二方面的第四种实现方式中,所述在所述测试框架中,基于所述待测试集群执行所述待测试脚本,得到多活测试结果的部分,被配置为:
在所述测试框架中,根据所述待测试多活数据生成与所述待测试脚本对应的调用函数;
基于所述调用函数执行所述待测试脚本,得到与所述待测试集群对应的多活测试结果。
结合第二方面的第二种实现方式、第三种实现方式或者第四种实现方式,本公开在第二方面的第五种实现方式中,所述测试框架为自动化测试框架Robot Framework,或者性能测试框架Locust。
结合第二方面,本公开在第二方面的第六种实现方式中,所述多活测试装置还包括:
发送模块,被配置为向一个或多个多活环境发送所述多活测试结果。
第三方面,本公开实施例中提供了一种电子设备,其特征在于,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现如第一方面、第一方面的第一种实现方式至第六种实现方式任一项所述的方法。
第四方面,本公开实施例中提供了一种可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现如第一方面、第一方面的第一种实现方式至第六种实现方式任一项所述的方法。
本公开实施例提供的技术方案可以包括以下有益效果:
根据本公开实施例提供的技术方案,在获取至少包括测试用例信息和待测试多活环境信息的多活测试命令后,能够确定所述多活测试配置文件中与所述测试用例和所述待测试多活环境对应的待测试多活数据,再根据所述测试用例和待测试多活数据进行测试,得到多活测试结果。这样,可以通过不同的多活测试命令,得到不同的多活环境和/或测试用例对应的多活测试结果,实现了在多个多活环境之间的环境切换,以及隔离配置多个多活环境对应的多活数据,降低了多活环境的测试难度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
结合附图,通过以下非限制性实现方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中:
图1示出根据本公开实施例的多活测试方法的流程图;
图2示出根据本公开实施例确定待测试多活数据的流程图;
图3示出根据本公开实施例得到多活测试结果的流程图;
图4示出根据本公开实施例确定待测试集群的流程图;
图5示出根据本公开实施例对预测模型进行训练的流程图;
图6示出根据本公开实施例的多活测试方法的应用场景;
图7示出根据本公开的实施例的多活测试装置的结构框图;
图8示出根据本公开的实施例的电子设备的结构框图;
图9示出适于用来实现根据本公开实施例的多活测试方法的计算机系统的结构示意图。
具体实现方式
下文中,将参考附图详细描述本公开的示例性实现方式,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实现方式无关的部分。
在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
上文提及,在一多活环境中,现有多活测试方法通常无法对多个多活环境对应的多活数据进行配置,也不支持多个多活环境之间的环境切换,使得多活测试通常只能针对单个环境实现,而对多个多活环境的测试难度较大。
本公开实施例提供的技术方案先获取至少包括测试用例信息和待测试多活环境信息的多活测试命令,再获取多活测试配置文件,并根据所述多活测试命令确定所述多活测试配置文件中与所述测试用例和所述待测试多活环境对应的待测试多活数据,根据所述测试用例和待测试多活数据进行测试,得到多活测试结果。其中,所述待测试多活环境为一个或多个候选多活环境中的任意一个,所述多活测试配置文件中包括一个或多个候选多活环境分别对应的候选多活数据。
该技术方案可以通过不同的多活测试命令,得到不同的多活环境和/或测试用例对应的多活测试结果,从而实现了在多个多活环境之间的环境切换,以及隔离配置多个多活环境对应的多活数据,降低了多活环境的测试难度。
图1示出根据本公开实施例的多活测试方法的流程图。
如图1所示,所述多活测试方法包括以下步骤S101-S103。
在步骤S101中,获取多活测试命令,其中,所述多活测试命令至少包括测试用例信息和待测试多活环境信息,所述待测试多活环境为一个或多个候选多活环境中的任意一个。
在步骤S102中,获取多活测试配置文件,并根据所述多活测试命令确定所述多活测试配置文件中与所述测试用例和所述待测试多活环境对应的待测试多活数据,其中,多活测试配置文件中包括一个或多个候选多活环境分别对应的候选多活数据。
在步骤S103中,根据所述测试用例和待测试多活数据进行测试,得到多活测试结果。
所述多活是指根据划分标准将服务划分为多个服务单元,再建立与所述多个服务单元一一对应的多个多活环境,通过所述多活环境对相应服务单元的支撑,以实现对服务整体的支撑,而不同多活环境之间能够进行数据共享和同步。其中,所述划分标准可以为地理位置,所述多活环境是指为了能够独立地实现对相应服务单元的支撑所采用的硬件、软件、网络和数据库等配置的总称。
例如,假设所述服务为登陆服务,划分标准为发起登陆服务请求的地理位置,所述多活可以实现为根据发起登陆服务请求的地理位置,将所述登陆服务划分为在A1区域的登陆服务和在A2区域的登陆服务,再在A1区域、A2区域分别建立多活环境E1和E2,其中,所述多活环境E1能够独立提供在A1区域的登陆服务,所述多活环境E2能够独立提供在A2区域的登陆服务,且多活环境E1和E2之间能够数据共享和同步。
可以理解的,上述服务内容、划分标准和多活环境的数量都是示例性的,服务内容除了登陆服务还可以是注册服务、评价服务等其他任意服务,划分标准还可以是行政区域等标准,多活环境的数量还可以是一个或两个以上,本领域的技术人员可以根据实际需求选择服务内容、划分标准和多活环境的数量,本申请对此不作具体限定。
根据本公开的实施例,所述多活测试方法适用于为了实现对服务整体的支撑而建立的多个多活环境中的任意一个多活环境中,例如,所述多活测试方法既适用于多活环境E1,也适用于多活环境E2,即当候选多活环境包括多活环境E1和E2时,待测多活环境既可以是多活环境E1,也可以为多活环境E2。
根据本公开的实施例,所述多活测试命令可以是由多活测试请求方通过输入设备输入的命令,也可以是借助信息的传输发送传输的命令。其中,所述多活测试请求方可以是用户,也可以是多活测试系统等执行主体,所述输入设备可以为键盘、触摸屏、鼠标、光笔、手写输入板、语音输入装置等能够接收输入数据和信息的设备。
根据本公开的实施例,所述测试用例是通过java、c、Python等语言将测试行为转化成可管理的、具体量化的模式,且服务内容、多活环境配置等因素的不同对应的测试用例是不同的。例如,针对在A1区域的登陆服务和在A2区域的登陆服务的测试用例是不同的,而针对A1区域的登陆服务和A1区域的注册服务的测试用例也是不同的。
根据本公开的实施例,所述多活数据与多活环境一一对应。所述多活数据是指在对应的多活环境中,对测试用例进行测试所需要的数据,可以包括集群数据配置、数据库配置、测试数据和其他数据。其中,在多活环境对测试用例进行测试时,所述集群数据配置是指连接、配置和使用所述多活环境中的相应集群所需要的数据,例如,集群名称、网络类型、节点类型等;所述数据库配置是指测试所需连接、配置和使用所述多活环境中的相应数据库所需要的数据,例如,URL(Uniform Resource Locator,统一资源定位符)、请求方名称等;所述测试数据是指在所述多活环境中实现所述测试用例所依赖的数据,例如,测试输入、预期结果等,通常可以包括与服务相关的数据,例如,用户名、订单编号、注册信息、登陆信息等。
根据本公开的实施例,所述待测试多活环境信息为待测试多活环境标识信息。
根据本公开的实施例,所述多活环境信息为多活环境标识信息,可在建立所述多活环境时通过设置得到。由于不同多活环境的多活环境信息不同,多活测试请求方可以通过在多活测试命令中设置待测试多活环境对应的待测试多活环境信息,来确定待测试多活环境。例如,假设多活环境E1的多活环境信息为alt_E1,多活环境E2的多活环境信息为alt_E2,若所述多活测试命令中的待测试多活环境信息为alt_E1,可以确定待测试多活环境为所述多活环境E1;若所述多活测试命令中的待测试多活环境信息为alt_E2,可以确定待测试多活环境为所述多活环境E2。
根据本公开的实施例,根据至少包括测试用例信息和待测试多活环境信息的多活测试命令,可以确定多活测试配置文件中与所述测试用例和所述待测试多活环境对应的待测试多活数据,从而得到所述测试用例在所述待测试环境中的多活测试结果。这样,本申请的技术方案可以通过不同的多活测试命令,得到不同的多活环境和/或测试用例对应的多活测试结果,以实现了在多个多活环境之间的环境切换,以及隔离配置多个多活环境对应的多活数据,降低了多活环境的测试难度。
根据本公开的实施例,所述多活测试方法可以还包括向一个或多个多活环境发送所述多活测试结果。
根据本公开的实施例,所述一个或多个多活环境之间可以进行数据共享和同步,则在待测试多活环境得到的所述多活测试结果可以通过数据共享和同步被发送至一个或多个多活环境,例如,在多活环境E1中得到的多活测试结果可以被发送至多活环境E2,在多活环境E2中得到的多活测试结果也可以被发送至多活环境E1。这样,只要在一个多活环境中得到多活测试结果,所有多活环境都能获取该多活测试结果,有利于提高多活测试效率。
图2示出根据本公开实施例确定待测试多活数据的流程图。
如图2所示,步骤S102可以被实施为以下步骤S201-S203。
在步骤S201中,获取多活测试配置文件。
在步骤S202中,根据所述多活测试命令中的待测试多活环境标识信息,确定所述多活测试配置文件中与所述待测试多活环境标识信息对应的备选多活数据。
根据本公开的实施例,所述多活测试配置文件中包括一个或多个候选多活环境分别对应的候选多活数据,由于不同多活环境的多活环境标识信息不同,可以根据待测试多活环境标识信息确定一个或多个候选多活数据中的备选多活数据。例如,假设多活环境E1对应的多活数据为data_E1,多活环境E2对应的多活数据为data_E2,若所述多活测试命令中的待测试多活环境信息为alt_E1,可以确定备选多活数据为data_E1;若所述多活测试命令中的待测试多活环境信息为alt_E2,可以确定备选多活数据为data_E2。
在步骤S203中,根据所述多活测试命令中的测试用例信息,确定所述备选多活数据中与所述测试用例信息对应的待测试多活数据。
根据本公开的实施例,由于可以在多活环境中进行测试的测试用例可能不止一个,而不同的测试用例的测试数据通常是不同的,所述备选多活数据中可以包括一个或多个不同候选测试用例分别对应的候选待测试多活数据。在获取多活测试命令后,可以根据所述多活测试命令中的测试用例信息确定待测试的测试用例,并确定所述候选待测试多活数据中与所述测试用例信息对应的待测试多活数据。
例如,假设在多活环境E1中进行测试,备选多活数据为data_E1,且能够在所述多活环境E1中测试的候选测试用例为case1、case2和case3,则所述备选多活数据data_E1包括分别与候选测试用例对应的候选待测试多活数据data_E1_d1、data_E1_d2和data_E1_d3。若根据所述多活测试命令中的测试用例信息可以确定待测试的测试用例为case1,则确定所述待测试多活数据为data_E1_d1;若根据所述多活测试命令中的测试用例信息可以确定待测试的测试用例为case2,则确定所述待测试多活数据为data_E1_d2;若根据所述多活测试命令中的测试用例信息可以确定待测试的测试用例为case3,则确定所述待测试多活数据为data_E1_d3。
根据本公开的实施例,根据多活测试命令中的测试用例信息和待测试多活环境信,可以确定所述多活测试配置文件中的待测试多活数据,使得所述一个或多个候选多活环境对应的候选多活数据能够隔离配置和存储。在多活测试过程中,根据不同的多活测试命令可以确定相应的待测试多活环境和待测试多活数据,实现了多个多活环境之间的环境切换,降低了多活环境的测试难度。
图3示出根据本公开实施例得到多活测试结果的流程图。
如图3所示,所述步骤S103包括以下步骤S301-S303。
在步骤S301中,根据所述测试用例和待测试多活数据生成待测试脚本。
在步骤S302中,运行预设测试框架,确定与所述待测试多活数据相应的待测试集群,并与所述待测试集群连接。
在步骤S303中,在所述测试框架中,基于所述待测试集群执行所述待测试脚本,得到多活测试结果。
根据本公开的实施例,确定所述多活测试配置文件中与所述测试用例和所述待测试多活环境对应的待测试多活数据后,可以通过反射等方式为对所述测试用例提供待测试的多活数据,以生成包含待测试多活数据的待测试脚本,所述待测试脚本执行后可以得到多活测试结果。
根据本公开的实施例,所述反射一种计算机处理方式,使得所述测试用例具备访问、检测和修改待测试多活数据的能力,以提高测试用例的灵活性和扩展性。例如,Python语言中的setattr()函数为一种反射函数,用于将对象的属性赋值为数据,使得代码层能够通过获取对象的属性来获取被反射的数据。
例如,步骤S102确定的待测试多活数据为data_E1_d1,可以通过反射函数将对象d的属性r赋值为所述待测试多活数据data_E1_d1,使得对应的测试用例case1能够通过获取对象d的属性r来获取所述待测试多活数据data_E1_d1,生成能够执行的待测试脚本。另外,待测试多活数据为data_E1_d2或者data_E1_d3时,可以通过相似的过程和方法,生成待测试脚本,本申请对此不再赘述。这样,通过反射函数生成待测试脚本,避免对代码的直接赋值,可以提高测试用例的灵活性和拓展性。
根据本公开的实施例,所述测试框架为自动化测试框架Robot Framework,或者性能测试框架Locust。根据本公开的实施例,所述自动化测试框架Robot Framework是一款关键字驱动的测试自动化框架,支持通过设置关键字去驱动整个自动化测试。所述性能测试框架Locust是一款分布式负载测试工具,易于扩展。
根据本公开的实施例,所述集群是一组协同工作的服务实体(例如,服务器),用以提供比单一服务实体更具扩展性和可用性的服务平台。例如,A1区域的数据中心可以设置为集群C1、A2区域的数据中心可以设置为集群C2,在A1区域的数据中心,用于提供登陆服务单元的一个或多个服务器可以设置为集群C1_1,用于提供注册服务单元的一个或多个服务器可以设置为集群C1_2等。
图4示出根据本公开实施例确定待测试集群的流程图。
如图4所示,所述步骤S302包括以下步骤S401-S403。
在步骤S401中,运行预设测试框架。
在步骤S402中,根据所述待测试多活数据,确定与所述待测试多活数据相应的待测试集群。
根据本公开的实施例,由于待测试多活数据与所述测试用例和所述待测试多活环境对应,可以根据所述待测试多活数据确定对所述测试用例进行测试所需要连接的集群。例如,所述测试用例涉及在多活环境E1中的登陆服务,则可以根据所述待测试多活数据中的集群数据配置确定所述待测试集群为用于提供登陆服务单元的一个或多个服务器可以为集群C1_1,所述测试用例涉及在多活环境E1中的注册服务,则可以根据所述待测试多活数据中的集群数据配置确定所述待测试集群为用于提供注册服务单元的一个或多个服务器可以为集群C1_2。
在步骤S403中,在所述测试框架中,通过集群中间件连接所述待测试集群,其中,所述集群中间件连接于一个或多个集群,所述集群包括待测试集群和候选集群。
根据本公开的实施例,所述集群中间件为一种独立的系统级软件,可以将不同集群提供的接口标准化、协议统一化,并通过屏蔽底层通信之间的接口差异,实现多个集群之间的互操作。这样,通过与所述集群中间件的连接,可以实现与一个或多个集群的连接,而由于所述多个集群之间能够通过所述集群中间件实现互操作,使得所述多个测试方法能够应用于任意一个多活环境中,以实现跨环境测试。
例如,假设多活测试请求方在多活环境E1的集群C1上输入包括多活环境E2对应的待测试多活环境信息alt_E2的多活测试命令,所述集群C1可以通过所述集群中间件连接于多活环境E2中的集群C2,并基于对所述集群C2的操作完成在所述多活环境E2中的测试。
图5示出根据本公开实施例对预测模型进行训练的流程图。
如图5所示,所述步骤S303包括以下步骤S501-S502。
在步骤S501中,在所述测试框架中,根据所述待测试多活数据生成与所述待测试脚本对应的调用函数。
在步骤S502中,基于所述调用函数执行所述待测试脚本,得到与所述待测试集群对应的多活测试结果。
根据本公开的实施例,所述调用函数是指在所述测试脚本编译或运行过程中所需要调用的函数。例如,可以根据所述待测试多活数据确定所述调用函数对应的关键字,然后通过所述关键字生成所述调用函数,从而使得所述待测试脚本能够在编译和运行过程中调用所述调用函数,并基于与所述待测试集群的连接完成运行,得到与所述待测试测试脚本对应的多活测试结果。
图6示出根据本公开实施例的多活测试方法的应用场景。
如图6所示,将登陆服务、注册服务等服务根据地理位置划分为A1区域的服务和A2区域的服务,在A1区域、A2区域分别建立多活环境E1和E2,多活环境E1和E2之间能够数据共享和同步。
所述多活环境E1能够独立提供在A1区域的服务。例如,多活环境E1能够基于集群C1_1提供A1区域的登陆服务,基于集群C1_2提供A1区域的注册服务等。
所述多活环境E2能够独立提供在A2区域的服务,例如,多活环境E2能够基于集群C2_1提供A2区域的登陆服务,基于集群C2_2提供A2区域的注册服务等。
假设在多活环境E1(或E2)中能够对测试用例case1、case2和case3中的任意一个用例进行测试,其中,每个测试用例对应于一个或多个服务,需要调用对应的一个或多个集群。
在步骤S101中,获取多活测试命令,所述多活测试命令至少包括测试用例信息和待测试多活环境信息。
例如,所述测试用例信息为测试用例case1(或case2,或case3)的信息;所述待测多活环境为所述候选多活环境E1(或E2);所述待测试多活环境信息为所述待测多活环境E1(或E2)对应的多活环境信息alt_E1(或alt_E2)。
为了便于说明,接下来以多活测试命令至少包括测试用例case1信息和待测试多活环境信息alt_E1为例,对以下步骤进行解释说明,待测试多活环境信息为其他多活环境信息(例如,多活环境信息alt_E2),和/或测试用例信息为其他测试用例(例如,测试用例case2信息,测试用例case3信息)的情况可以根据类似的过程获取,本申请对此不再赘述。
在步骤S102中,获取多活测试配置文件,并根据所述多活测试命令确定所述多活测试配置文件中与所述测试用例和所述待测试多活环境对应的待测试多活数据,其中,多活测试配置文件中包括一个或多个候选多活环境分别对应的候选多活数据。
例如,先获取多活测试配置文件,所述多活测试配置文件中包括候选多活环境E1和E2分别对应的候选多活数据data_E1和data_E2,即步骤S201;
然后,根据所述多活测试命令中的待测试多活环境标识信息alt_E1,确定所述多活测试配置文件中与所述待测试多活环境标识信息alt_E1对应的备选多活数据data_E1,其中,所述备选多活数据data_E1包括测试用例case1、case2和case3对应的候选待测试多活数据data_E1_d1、data_E1_d2和data_E1_d3,即步骤S202;
再根据所述多活测试命令中的测试用例case1信息,确定所述备选多活数据data_E1中与所述测试用例信息case1信息对应的待测试多活数据data_E1_d1,即步骤S203。
在步骤S103中,根据所述测试用例和待测试多活数据进行测试,得到多活测试结果。
例如,先根据所述测试用例case1和待测试多活数据data_E1_d1生成待测试脚本,即步骤S301;
然后,运行预设测试框架(步骤S401);再根据所述待测试多活数据data_E1_d1,确定与所述待测试多活数据data_E1_d1相应的待测试集群,其中,待测试多活数据data_E1_d1相应的待测试集群可以为集群C1_1、C1_2和其他集群中的一个或多个,为了便于说明,接下来以待测试多活数据data_E1_d1相应的待测试集群为集群C1_1为例对以下过程进行说明(步骤S402);然后,在所述测试框架中,通过集群中间件连接所述待测试集群C1_1(步骤S403),即步骤S302;
在连接待测试集群C1_1后,在所述测试框架中,基于所述待测试集群C1_1执行所述待测试脚本,得到多活测试结果,即步骤S303。
具体地,在所述步骤S303中,可以先在所述测试框架中,根据所述待测试多活数据data_E1_d1生成与所述待测试脚本对应的调用函数(步骤S501),再基于所述调用函数执行所述待测试脚本,得到与所述待测试集群C1_1对应的多活测试结果(步骤S502)。
在获取多活环境E1中测试用例case1对应的多活测试结果后,可以将所述测试用例case1对应的多活测试结果发送至一个或多个多活环境(例如,多活环境E2),以提高测试效率和便捷性。
图7示出根据本公开的实施例的多活测试装置700的结构框图。其中,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。
如图7所示,所述多活测试装置700包括命令获取模块701、数据获取模块702和测试模块703。
所述命令获取模块701被配置为获取多活测试命令,其中,所述多活测试命令至少包括测试用例信息和待测试多活环境信息,所述待测试多活环境为一个或多个候选多活环境中的任意一个;
所述数据获取模块702被配置为获取多活测试配置文件,并根据所述多活测试命令确定所述多活测试配置文件中与所述测试用例和所述待测试多活环境对应的待测试多活数据,其中,多活测试配置文件中包括一个或多个候选多活环境分别对应的候选多活数据;
所述测试模块703被配置为根据所述测试用例和待测试多活数据进行测试,得到多活测试结果。
根据本公开的实施例,所述待测试多活环境信息为待测试多活环境标识信息;
所述获取多活测试配置文件,并根据所述多活测试命令确定所述多活测试配置文件中与所述测试用例和所述待测试多活环境对应的待测试多活数据,被实施为:
获取多活测试配置文件;
根据所述多活测试命令中的待测试多活环境标识信息,确定所述多活测试配置文件中与所述待测试多活环境标识信息对应的备选多活数据;
根据所述多活测试命令中的测试用例信息,确定所述备选多活数据中与所述测试用例信息对应的待测试多活数据。
根据本公开的实施例,所述根据所述测试用例和待测试多活数据进行测试,得到多活测试结果,包括:
根据所述测试用例和待测试多活数据生成待测试脚本;
运行预设测试框架,确定与所述待测试多活数据相应的待测试集群,并与所述待测试集群连接;
在所述测试框架中,基于所述待测试集群执行所述待测试脚本,得到多活测试结果。
根据本公开的实施例,所述运行预设测试框架,确定与所述待测试多活数据相应的待测试集群,并与所述待测试集群连接,被实施为:
运行预设测试框架;
根据所述待测试多活数据,确定与所述待测试多活数据相应的待测试集群;
在所述测试框架中,通过集群中间件连接所述待测试集群,其中,所述集群中间件连接于一个或多个集群,所述集群包括待测试集群和候选集群。
根据本公开的实施例,所述在所述测试框架中,基于所述待测试集群执行所述待测试脚本,得到多活测试结果,被实施为:
在所述测试框架中,根据所述待测试多活数据生成与所述待测试脚本对应的调用函数;
基于所述调用函数执行所述待测试脚本,得到与所述待测试集群对应的多活测试结果。
根据本公开的实施例,所述测试框架为自动化测试框架Robot Framework,或者性能测试框架Locust。
根据本公开的实施例,所述多活测试装置700还包括发送模块704。
所述发送模块704被配置为向一个或多个多活环境发送所述多活测试结果。
图8示出根据本公开的实施例的电子设备800的结构框图。
如图8所示,所述电子设备800包括存储器801和处理器802。所述存储器801用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器802执行以实现以下方法步骤:
获取多活测试命令,其中,所述多活测试命令至少包括测试用例信息和待测试多活环境信息,所述待测试多活环境为一个或多个候选多活环境中的任意一个;
获取多活测试配置文件,并根据所述多活测试命令确定所述多活测试配置文件中与所述测试用例和所述待测试多活环境对应的待测试多活数据,其中,多活测试配置文件中包括一个或多个候选多活环境分别对应的候选多活数据;
根据所述测试用例和待测试多活数据进行测试,得到多活测试结果。
根据本公开的实施例,所述待测试多活环境信息为待测试多活环境标识信息;
所述获取多活测试配置文件,并根据所述多活测试命令确定所述多活测试配置文件中与所述测试用例和所述待测试多活环境对应的待测试多活数据,被实施为:
获取多活测试配置文件;
根据所述多活测试命令中的待测试多活环境标识信息,确定所述多活测试配置文件中与所述待测试多活环境标识信息对应的备选多活数据;
根据所述多活测试命令中的测试用例信息,确定所述备选多活数据中与所述测试用例信息对应的待测试多活数据。
根据本公开的实施例,所述根据所述测试用例和待测试多活数据进行测试,得到多活测试结果,包括:
根据所述测试用例和待测试多活数据生成待测试脚本;
运行预设测试框架,确定与所述待测试多活数据相应的待测试集群,并与所述待测试集群连接;
在所述测试框架中,基于所述待测试集群执行所述待测试脚本,得到多活测试结果。
根据本公开的实施例,所述运行预设测试框架,确定与所述待测试多活数据相应的待测试集群,并与所述待测试集群连接,被实施为:
运行预设测试框架;
根据所述待测试多活数据,确定与所述待测试多活数据相应的待测试集群;
在所述测试框架中,通过集群中间件连接所述待测试集群,其中,所述集群中间件连接于一个或多个集群,所述集群包括待测试集群和候选集群。
根据本公开的实施例,所述在所述测试框架中,基于所述待测试集群执行所述待测试脚本,得到多活测试结果,被实施为:
在所述测试框架中,根据所述待测试多活数据生成与所述待测试脚本对应的调用函数;
基于所述调用函数执行所述待测试脚本,得到与所述待测试集群对应的多活测试结果。
根据本公开的实施例,所述测试框架为自动化测试框架Robot Framework,或者性能测试框架Locust。
根据本公开的实施例,所述一条或多条计算机指令还被所述处理器802执行以实现以下方法步骤:
向一个或多个多活环境发送所述多活测试结果。
图9示出适于用来实现根据本公开实施例的多活测试方法的计算机系统900的结构示意图。
如图9所示,计算机系统900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分909加载到随机访问存储器(RAM)903中的程序而执行上述实施例中的各种处理。在RAM903中,还存储有系统900操作所需的各种程序和数据。CPU901、ROM902以及RAM903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本公开的实施例,上文描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在其可读介质上的计算机程序,所述计算机程序包含用于执行上述数据管理和/或访问方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,路程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过可编程硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
作为另一方面,本公开还提供了一种可读存储介质,该可读存储介质可以是上述实施例中电子设备或计算机系统中所包含的可读存储介质;也可以是单独存在,未装配入设备中的可读存储介质。可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (10)

1.一种多活测试方法,其特征在于,包括:
获取多活测试命令,其中,所述多活测试命令至少包括测试用例信息和待测试多活环境信息,所述待测试多活环境为一个或多个候选多活环境中的任意一个;
获取多活测试配置文件,并根据所述多活测试命令确定所述多活测试配置文件中与所述测试用例和所述待测试多活环境对应的待测试多活数据,其中,多活测试配置文件中包括一个或多个候选多活环境分别对应的候选多活数据;
根据所述测试用例和待测试多活数据进行测试,得到多活测试结果。
2.根据权利要求1所述的方法,其特征在于,所述待测试多活环境信息为待测试多活环境标识信息;
所述获取多活测试配置文件,并根据所述多活测试命令确定所述多活测试配置文件中与所述测试用例和所述待测试多活环境对应的待测试多活数据,被实施为:
获取多活测试配置文件;
根据所述多活测试命令中的待测试多活环境标识信息,确定所述多活测试配置文件中与所述待测试多活环境标识信息对应的备选多活数据;
根据所述多活测试命令中的测试用例信息,确定所述备选多活数据中与所述测试用例信息对应的待测试多活数据。
3.根据权利要求1所述的方法,其特征在于,所述根据所述测试用例和待测试多活数据进行测试,得到多活测试结果,包括:
根据所述测试用例和待测试多活数据生成待测试脚本;
运行预设测试框架,确定与所述待测试多活数据相应的待测试集群,并与所述待测试集群连接;
在所述测试框架中,基于所述待测试集群执行所述待测试脚本,得到多活测试结果。
4.根据权利要求3所述的方法,其特征在于,所述运行预设测试框架,确定与所述待测试多活数据相应的待测试集群,并与所述待测试集群连接,被实施为:
运行预设测试框架;
根据所述待测试多活数据,确定与所述待测试多活数据相应的待测试集群;
在所述测试框架中,通过集群中间件连接所述待测试集群,其中,所述集群中间件连接于一个或多个集群,所述集群包括待测试集群和候选集群。
5.根据权利要求4所述的方法,其特征在于,所述在所述测试框架中,基于所述待测试集群执行所述待测试脚本,得到多活测试结果,被实施为:
在所述测试框架中,根据所述待测试多活数据生成与所述待测试脚本对应的调用函数;
基于所述调用函数执行所述待测试脚本,得到与所述待测试集群对应的多活测试结果。
6.根据权利要求3至5中任意一项所述的方法,其特征在于,所述测试框架为自动化测试框架Robot Framework,或者性能测试框架Locust。
7.根据权利要求1所述的方法,其特征在于,还包括:
向一个或多个多活环境发送所述多活测试结果。
8.一种多活测试装置,其特征在于,包括:
命令获取模块,被配置为获取多活测试命令,其中,所述多活测试命令至少包括测试用例信息和待测试多活环境信息,所述待测试多活环境为一个或多个候选多活环境中的任意一个;
数据获取模块,被配置为获取多活测试配置文件,并根据所述多活测试命令确定所述多活测试配置文件中与所述测试用例和所述待测试多活环境对应的待测试多活数据,其中,多活测试配置文件中包括一个或多个候选多活环境分别对应的候选多活数据;
测试模块,被配置为根据所述测试用例和待测试多活数据进行测试,得到多活测试结果。
9.一种电子设备,其特征在于,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现权利要求1-7任一项所述的方法步骤。
10.一种可读存储介质,其上存储有计算机指令,其特征在于,该计算机指令被处理器执行时实现权利要求1-7任一项所述的方法步骤。
CN201911121264.1A 2019-11-15 2019-11-15 多活测试方法、装置、电子设备及可读存储介质 Pending CN111008127A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911121264.1A CN111008127A (zh) 2019-11-15 2019-11-15 多活测试方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911121264.1A CN111008127A (zh) 2019-11-15 2019-11-15 多活测试方法、装置、电子设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN111008127A true CN111008127A (zh) 2020-04-14

Family

ID=70113739

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911121264.1A Pending CN111008127A (zh) 2019-11-15 2019-11-15 多活测试方法、装置、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN111008127A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111993424A (zh) * 2020-08-19 2020-11-27 中国兵器科学研究院 一种异构移动机器人的互操作中间件测试系统及方法
CN115080436A (zh) * 2022-06-28 2022-09-20 中电金信软件有限公司 测试指标确定方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103577907A (zh) * 2012-07-24 2014-02-12 阿里巴巴集团控股有限公司 一种持续集成测试方法和系统
CN107273286A (zh) * 2017-06-02 2017-10-20 携程计算机技术(上海)有限公司 针对任务应用的场景自动化测试平台及方法
CN108459953A (zh) * 2017-02-22 2018-08-28 北京京东尚科信息技术有限公司 测试方法和装置
CN108932194A (zh) * 2018-06-21 2018-12-04 北京京东金融科技控股有限公司 自动化测试方法、装置、系统、介质及电子设备
CN110389900A (zh) * 2019-07-10 2019-10-29 深圳市腾讯计算机系统有限公司 一种分布式数据库集群测试方法、装置及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103577907A (zh) * 2012-07-24 2014-02-12 阿里巴巴集团控股有限公司 一种持续集成测试方法和系统
CN108459953A (zh) * 2017-02-22 2018-08-28 北京京东尚科信息技术有限公司 测试方法和装置
CN107273286A (zh) * 2017-06-02 2017-10-20 携程计算机技术(上海)有限公司 针对任务应用的场景自动化测试平台及方法
CN108932194A (zh) * 2018-06-21 2018-12-04 北京京东金融科技控股有限公司 自动化测试方法、装置、系统、介质及电子设备
CN110389900A (zh) * 2019-07-10 2019-10-29 深圳市腾讯计算机系统有限公司 一种分布式数据库集群测试方法、装置及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111993424A (zh) * 2020-08-19 2020-11-27 中国兵器科学研究院 一种异构移动机器人的互操作中间件测试系统及方法
CN111993424B (zh) * 2020-08-19 2022-03-29 中国兵器科学研究院 一种异构移动机器人的互操作中间件测试系统及方法
CN115080436A (zh) * 2022-06-28 2022-09-20 中电金信软件有限公司 测试指标确定方法、装置、电子设备及存储介质
CN115080436B (zh) * 2022-06-28 2023-09-22 中电金信软件有限公司 测试指标确定方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN106489251B (zh) 应用拓扑关系发现的方法、装置和系统
US9002932B2 (en) Cloud computing access gateway and method for providing a user terminal access to a cloud provider
CN111917587B (zh) 利用服务系统进行网络服务管理的方法及服务系统
CN112994945A (zh) 一种信创云平台的自动化部署方法与装置
CN111008127A (zh) 多活测试方法、装置、电子设备及可读存储介质
US20050278712A1 (en) Selecting a processor to run an executable of a distributed software application upon startup of the distributed software application
CN109684093A (zh) 数据处理方法及系统
CN102664756B (zh) 设备访问方法、装置及系统
CN111078238A (zh) 容器环境下应用配置集中处理方法及装置
CN114513552B (zh) 数据处理方法、装置、设备及存储介质
CN115080436A (zh) 测试指标确定方法、装置、电子设备及存储介质
CN111949484B (zh) 信息处理方法、装置、电子设备和介质
CN113946328A (zh) 业务处理方法及系统、存储介质和电子设备
US11734057B2 (en) Method and apparatus for processing a service of an abnormal server
CN109120433B (zh) 用于容器化部署主机的方法和装置
CN115167874B (zh) 自动驾驶软件镜像部署方法、装置、电子设备和可读介质
CN116599855A (zh) 数据传输方法、系统、电子设备及存储介质
CN112328184B (zh) 一种集群扩容方法、装置、设备及存储介质
CN112702441B (zh) 基于容器的访问数据处理方法、装置、系统及存储介质
CN112084247B (zh) 一种应用程序服务扩展的方法和装置
CN113434382A (zh) 数据库性能监控方法、装置、电子设备及计算机可读介质
CN109327529B (zh) 分布式扫描方法及系统
CN109597749B (zh) 回归测试方法、装置、电子设备及计算机可读存储介质
CN111177124A (zh) 基于pg数据库与citus组件的数据处理方法及系统
CN113485860B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200414