CN117112451B - 测试方法、装置、电子设备及计算机可读存储介质 - Google Patents

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

Info

Publication number
CN117112451B
CN117112451B CN202311390261.4A CN202311390261A CN117112451B CN 117112451 B CN117112451 B CN 117112451B CN 202311390261 A CN202311390261 A CN 202311390261A CN 117112451 B CN117112451 B CN 117112451B
Authority
CN
China
Prior art keywords
test
scheduling node
downstream
scheduling
test request
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
Application number
CN202311390261.4A
Other languages
English (en)
Other versions
CN117112451A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202311390261.4A priority Critical patent/CN117112451B/zh
Publication of CN117112451A publication Critical patent/CN117112451A/zh
Application granted granted Critical
Publication of CN117112451B publication Critical patent/CN117112451B/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/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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

测试方法、装置、电子设备及计算机可读存储介质
技术领域
本申请涉及软件测试技术领域,具体而言,本申请涉及一种测试方法、装置、电子设备及计算机可读存储介质。
背景技术
随着各种各样功能的软件层出不穷竞争激烈,人们对软件开发的质量要求也日益增高。当软件系统越来越复杂,一个软件可以由团队进行配合开发,每个人可能只负责其中一个模块,由于开发人员对全局没有过多的了解,软件运行过程中就容易产生很多异常,故发现和处理该异常的软件测试过程至关重要。
软件测试是在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程,用以促进鉴定软件的正确性、完整性、安全性和质量。现有技术中,通常需要针对每一个测试请求构建独立的测试路由,并为其配置对应的测试环境,且各测试路由无法并行,存在测试效率较低的问题。
发明内容
本申请实施例提供了一种测试方法、装置、电子设备及计算机可读存储介质,可以解决测试效率较低的问题。所述技术方案如下:
根据本申请实施例的一个方面,提供了一种测试方法,该方法包括:
获取针对目标软件的测试请求;
基于测试请求携带的目标地址信息确定对应的第一调度节点;
根据测试请求进行至少一次测试操作,直至符合测试结束条件,运行第二调度节点的应用实例,得到测试请求对应的返回值;其中,第二调度节点为符合测试结束条件时所得到的新的第一调度节点;
基于返回值确定目标软件的测试结果;
其中,测试操作包括:
查询得到第一调度节点对应的下游调度节点的下游地址信息;运行第一调度节点的应用实例,得到测试请求对应的目标测试数据;将测试请求和目标测试数据通过下游地址信息转发至下游调度节点;将下游调度节点作为新的第一调度节点。
在一个可能的实现方式中,上述查询得到第一调度节点对应的下游调度节点的下游地址信息,包括:
确定第一调度节点对应的调度实例和应用实例;
获取测试请求所携带的测试环境标签;
基于测试环境标签和应用实例的应用标签,通过调度实例查询得到下游地址信息。
在一个可能的实现方式中,上述方法还包括:
若未获取到测试请求的测试环境标签时,获取与测试请求相匹配的环境标签作为匹配环境标签;
查询得到第一调度节点对应的下游调度节点的下游地址信息,包括:
确定第一调度节点对应的调度实例和应用实例;
基于匹配环境标签和应用实例的应用标签,通过调度实例查询得到下游地址信息。
在又一个可能的实现方式中,上述查询得到第一调度节点对应的下游调度节点的下游地址信息,包括:
若未获取到测试请求的测试环境标签,且无法获取与测试请求相匹配的环境标签时,将预设基线环境对应的下游调度节点的地址信息作为第一调度节点对应的下游调度节点的下游地址信息。
在又一个可能的实现方式中,当测试请求的测试环境标签无法传递至下游调度节点时,上述通过调度实例查询得到下游地址信息之后,包括:
将测试请求的标识和测试环境标签,以键值对的形式保存到预设存储空间;其中,预设存储空间用于在第一调度节点之间共享测试请求的测试环境标签。
在另一个可能的实现方式中,当第一调度节点为新的第一调度节点,上述查询得到第一调度节点对应的下游调度节点的下游地址信息,包括:
确定第一调度节点对应的调度实例和应用实例;
通过调度实例,提取测试请求的标识;
基于测试请求的标识从预设存储空间查询得到测试环境标签;
基于测试环境标签和应用实例的应用标签查询得到下游地址信息。
在另一个可能的实现方式中,上述方法还包括:
当基于测试请求的标识无法从预设存储空间查询得到测试环境标签时,将预设基线环境对应的下游调度节点的地址信息作为第一调度节点对应的下游调度节点的下游地址信息。
根据本申请实施例的另一个方面,提供了一种测试装置,该装置包括:
获取模块,用于获取针对目标软件的测试请求;
第一确定模块,用于基于测试请求携带的目标地址信息确定对应的第一调度节点;
测试模块,用于根据测试请求进行至少一次测试操作,直至符合测试结束条件,运行第二调度节点的应用实例,得到测试请求对应的返回值;其中,第二调度节点为符合测试结束条件时所得到的新的第一调度节点;
测试操作包括:
查询得到第一调度节点对应的下游调度节点的下游地址信息;运行第一调度节点的应用实例,得到测试请求对应的目标测试数据;将测试请求和目标测试数据通过下游地址信息转发至下游调度节点;将下游调度节点作为新的第一调度节点;
第二确定模块,用于基于返回值确定目标软件的测试结果。
在一个可能的实现方式中,上述测试模块在查询得到第一调度节点对应的下游调度节点的下游地址信息时,用于:
确定第一调度节点对应的调度实例和应用实例;
获取测试请求所携带的测试环境标签;
基于测试环境标签和应用实例的应用标签,通过调度实例查询得到下游地址信息。
在一个可能的实现方式中,上述测试模块,还用于:
若未获取到测试请求的测试环境标签时,获取与测试请求相匹配的环境标签作为匹配环境标签;
上述测试模块在查询得到第一调度节点对应的下游调度节点的下游地址信息时,用于:
确定第一调度节点对应的调度实例和应用实例;
基于匹配环境标签和应用实例的应用标签,通过调度实例查询得到下游地址信息。
在又一个可能的实现方式中,上述测试模块在查询得到第一调度节点对应的下游调度节点的下游地址信息时,用于:
若未获取到测试请求的测试环境标签,且无法获取与测试请求相匹配的环境标签时,将预设基线环境对应的下游调度节点的地址信息作为第一调度节点对应的下游调度节点的下游地址信息。
在又一个可能的实现方式中,当测试请求的测试环境标签无法传递至下游调度节点时,上述测试模块在通过调度实例查询得到下游地址信息之后,还用于:
将测试请求的标识和测试环境标签,以键值对的形式保存到预设存储空间;其中,预设存储空间用于在第一调度节点之间共享测试请求的测试环境标签。
在另一个可能的实现方式中,当第一调度节点为新的第一调度节点,上述测试模块在查询得到第一调度节点对应的下游调度节点的下游地址信息时,用于:
确定第一调度节点对应的调度实例和应用实例;
通过调度实例,提取测试请求的标识;
基于测试请求的标识从预设存储空间查询得到测试环境标签;
基于测试环境标签和应用实例的应用标签查询得到下游地址信息。
在另一个可能的实现方式中,上述测试模块,还用于:
当基于测试请求的标识无法从预设存储空间查询得到测试环境标签时,将预设基线环境对应的下游调度节点的地址信息作为第一调度节点对应的下游调度节点的下游地址信息。
根据本申请实施例的另一个方面,提供了一种电子设备,该电子设备包括:存储器、处理器及存储在存储器上的计算机程序,上述处理器执行计算机程序以实现本申请实施例第一方面所示方法的步骤。
根据本申请实施例的再一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本申请实施例第一方面所示方法的步骤。
根据本申请实施例的一个方面,提供了一种计算机程序产品,其包括计算机程序,该计算机程序被处理器执行时实现本申请实施例第一方面所示方法的步骤。
本申请实施例提供的技术方案带来的有益效果是:
本申请实施例基于测试请求所携带的目标地址信息确定对应的第一调度节点,并通过第一调度节点根据测试请求进行至少一次测试操作,直至符合测试结束条件,然后运行第二调度节点的应用实例,得到测试请求对应的返回值,以基于该返回值确定目标软件的测试结果。在测试操作过程中,可以通过查询第一调度节点对应的下游调度节点的下游地址信息确定测试请求对应的测试路由;在运行第一调度节点的应用实例,得到测试请求对应的目标测试数据之后,可以将测试请求和目标测试数据通过下游地址信息转发至下游调度节点,同时将下游调度节点作为新的第一调度节点。本申请实施例通过在当前第一调度节点实时查询下游地址信息,确定新的第一调度节点,可以实现第一调度节点的实时更新,以构建动态的测试路由;区别于现有技术中,针对每一测试请求构建独立的测试路径,本申请中的第一调度节点可以被多个测试请求复用,能够有效提升测试效率,保证了测试系统的灵活性和稳定性,提高了资源利用率并节省了测试成本。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种测试方法的应用场景示意图;
图2a为本申请实施例提供的一种测试方法的流程示意图;
图2b为本申请实施例提供的一种测试方法中测试请求复用基线环境服务资源的流程示意图;
图3为本申请实施例提供的一种测试方法中确定下游地址信息的流程示意图;
图4为本申请实施例提供的一种测试方法中另一确定下游地址信息的流程示意图;
图5为本申请实施例提供的一种测试方法中又一确定下游地址信息的流程示意图;
图6为本申请实施例提供的一种测试方法中又一确定下游地址信息的流程示意图;
图7为本申请实施例提供的一种测试方法中又一确定下游地址信息的流程示意图;
图8为本申请实施例提供的一个示例的测试方法的流程示意图;
图9为本申请实施例提供的一种测试装置的结构示意图;
图10为本申请实施例提供的一种测试电子设备的结构示意图。
具体实施方式
下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式 “一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“A和/或B”可以实现为“A”,或者实现为“B”,或者实现为“A和B”。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
可选地,本申请实施例提供的测试方法,可以基于云计算技术来实现,例如,本申请实施例中的第一调度节点或第二调度节点可以是基于云计算平台部署的虚拟容器。
云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。
作为云计算的基础能力提供商,会建立云计算资源池(简称云平台,一般称为IaaS(Infrastructure as a Service,基础设施即服务)平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。
按照逻辑功能划分,在IaaS(Infrastructure as a Service,基础设施即服务)层上可以部署PaaS(Platform as a Service,平台即服务)层,PaaS层之上再部署SaaS(Software as a Service,软件即服务)层,也可以直接将SaaS部署在IaaS上。PaaS为软件运行的平台,如数据库、web容器等。SaaS为各式各样的业务软件,如web门户网站、短信群发器等。一般来说,SaaS和PaaS相对于IaaS是上层。
随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动商务和开放协作等需求的推动,云计算迅速发展起来。不同于以往的并行分布式计算,云计算的产生从理念上将推动整个互联网模式、企业管理模式发生革命性的变革。
软件测试是描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出之间的审核或者比较过程。发明人发现,可以基于微服务和Istio(一个用于服务治理的开放平台)平台构建软件测试的资源调度集群节点,并通过预设函数发现服务实现各集群节点之间的流量定向,实现基于微服务的软件测试方案,但是该方案存在如下问题:平台配置与管理复杂,学习和实操成本过高;同时,Istio对底层环境有较高要求,限制了该方案所能提供的功能和应用场景;需要开发者手动创建与维护特性测试环境,测试效率低下。
本申请提供的测试方法、装置、电子设备及计算机可读存储介质,旨在解决现有技术的如上技术问题。
下面通过对几个示例性实施方式的描述,对本申请实施例的技术方案以及本申请的技术方案产生的技术效果进行说明。需要指出的是,下述实施方式之间可以相互参考、借鉴或结合,对于不同实施方式中相同的术语、相似的特征以及相似的实施步骤等,不再重复描述。
如图1所示,本申请的测试方法,可以应用于图1所示的场景中,具体的,服务器102从客户端101获取针对目标软件的测试请求,并基于测试请求携带的目标地址信息确定对应的第一调度节点;然后,根据测试请求进行至少一次如下的测试操作,直至符合测试结束条件:查询得到第一调度节点对应的下游调度节点的下游地址信息;运行第一调度节点的应用实例,得到测试请求对应的目标测试数据;将测试请求和目标测试数据通过下游地址信息转发至下游调度节点;将下游调度节点作为新的第一调度节点。接着,服务器将最后一次测试操作中所得到的新的第一调度节点作为第二调度节点,并运行第二调度节点的应用实例,得到测试请求对应的返回值;以基于返回值确定目标软件的测试结果。最后,服务器102将测试结果发送给客户端101。
图1所示的场景中,上述测试方法可以在服务器中进行,在其他的场景中,也可以在终端中进行。
本技术领域技术人员可以理解,这里所使用的“终端”可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等;“服务器”可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
本申请实施例中提供了一种测试方法,如图2a所示,可以应用于进行测试的服务器或终端,该方法包括:
S201,获取针对目标软件的测试请求。
其中,测试请求可以是测试客户端发送的。以目标软件为支付软件为例,测试请求可以包括余额查询功能测试和提现功能测试。
具体的,测试客户端可以基于用户的控制指令确定测试请求,并将测试请求发送到用于进行测试的服务器或终端。
其中,用户的控制指令可以基于如下至少一种操作触发:
将对应测试功能组件拖拽或移动至测试界面的预设范围内的操作;
针对测试功能组件的点击或触摸操作;
在预设的输入控件中针对测试功能指令信息的输入操作。
S202,基于测试请求携带的目标地址信息确定对应的第一调度节点。
其中,第一调度节点用于针对测试请求进行资源调度;第一调度节点可以是预先部署的容器化应用的集群节点,该容器化应用可以是基于云技术平台构建的。上述目标地址信息可以是第一调度节点的访问地址,例如IP(Internet Protocol,网际互连协议)地址。
具体的,用于进行测试的服务器或终端,可以预先构建各第一调度节点与地址信息的对应关系表,基于测试请求所携带的目标地址信息对上述对应关系表进行查询,得到该目标地址信息对应的第一调度节点。
在本申请实施例中,各第一调度节点可以包括调度实例和应用实例;其中,调度实例用于确定该第一调度节点的下游调度节点,应用实例用于基于测试请求进行对应的功能模块测试。
例如,当测试请求包括余额查询功能测试时,则其可以对应查询网关功能模块、钱包服务功能模块和风控验证功能模块三个第一调度节点。上述三个第一调度节点构成该测试请求对应的测试服务路由。
进一步地,每一第一调度节点对应一测试环境,该测试环境包括基线环境和特定测试环境。基线环境是预先搭建好的一个完整、稳定的基础环境,其包括正式运行的目标软件的所有应用的副本,基线环境部署有全链路完整的测试服务,各测试请求可以通过测试服务路由的方式复用基线环境服务资源。而测试环境为一种临时环境,测试环境不需要部署全链路完整的测试服务,而是仅部署用户指定的或有实时变更需求的服务。
在一些实施方式中,如图2b所示,测试请求1对应基线环境,测试请求2对应测试环境A,测试请求3对应测试环境B;基于本申请实施例所提供的测试方法,可以实现基线环境的服务资源复用,即测试请求2可以复用基线环境中的第一调度节点A和第一调度节点C,测试请求3可以复用基线环境中的第一调度节点B,以避免服务资源的浪费。
S203,根据测试请求进行至少一次测试操作,直至符合测试结束条件,运行第二调度节点的应用实例,得到测试请求对应的返回值。
其中,第二调度节点为符合测试结束条件时所得到的新的第一调度节点。上述测试结束条件可以包括基于新的第一调度节点无法查询得到对应的下游调度节点的下游地址信息,即该新的第一调度节点为该测试请求对应的最后一个调度节点、无下游调度节点。例如,当测试请求包括余额查询功能测试时,则其对应的测试服务路由可以依次包括:查询网关功能模块、钱包服务功能模块和风控验证功能模块三个功能模块,可以将每一功能模块作为一个第一调度节点,并将最后一个调度节点即风险验证功能模块作为第二调度节点。如图2b所示,测试请求1的测试服务路由包括:第一调度节点A至第一调度节点B至第一调度节点C,当基于第一调度节点C无法查询得到下游调度节点,则将第一调度节点C作为第二调度节点。
上述测试操作包括:
查询得到第一调度节点对应的下游调度节点的下游地址信息;运行第一调度节点的应用实例,得到测试请求对应的目标测试数据;将测试请求和目标测试数据通过下游地址信息转发至下游调度节点;将下游调度节点作为新的第一调度节点。
具体的,用于进行测试的服务器或终端,可以通过第一调度节点对应的调度实例,将测试请求所携带的测试环境标签与各第一调度节点对应的测试环境进行匹配,得到第一调度节点对应的下游调度节点的下游地址信息。
S204,基于返回值确定目标软件的测试结果。
在本申请实施例中,当测试请求为余额查询功能测试时,可以基于该请求所携带的目标地址信息确定第一调度节点为查询网关功能模块;然后查询得到第一调度节点对应的下游调度节点的下游地址信息,如下游地址信息可以为钱包服务功能模块的IP地址;接着运行第一调度节点的应用实例,得到测试请求对应的目标测试数据,进而将测试请求和目标测试数据通过下游地址信息转发至钱包服务功能模块,并将钱包服务功能模块作为新的第一调度节点。同时,基于新的第一调度节点,查询得到钱包服务功能模块对应的下游调度节点的下游地址信息,如下游地址信息可以为风控验证功能模块的IP地址;接着运行第一调度节点的应用实例,得到测试请求对应的目标测试数据,进而将测试请求和目标测试数据通过下游地址信息转发至风控验证功能模块,并将风控验证功能模块作为新的第一调度节点。当基于风控验证功能模块无法查询得到对应的下游调度节点的下游地址信息,则运行第二调度节点即风控验证功能模块的应用实例,得到测试请求对应的返回值,然后基于该返回值确定目标软件的测试结果。
具体的,以测试请求包括余额查询功能测试为例,当其对应的返回值为具体的余额数据,则测试结果可以为余额查询功能正常;当其对应的返回值为空,则测试结果可以为余额查询功能异常。
本申请实施例基于测试请求所携带的目标地址信息确定对应的第一调度节点,并通过第一调度节点根据测试请求进行至少一次测试操作,直至符合测试结束条件,然后运行第二调度节点的应用实例,得到测试请求对应的返回值,以基于该返回值确定目标软件的测试结果。在测试操作过程中,可以通过查询第一调度节点对应的下游调度节点的下游地址信息确定测试请求对应的测试路由;在运行第一调度节点的应用实例,得到测试请求对应的目标测试数据之后,可以将测试请求和目标测试数据通过下游地址信息转发至下游调度节点,同时将下游调度节点作为新的第一调度节点。本申请实施例通过在当前第一调度节点实时查询下游地址信息,确定新的第一调度节点,可以实现第一调度节点的实时更新,以构建动态的测试路由;区别于现有技术中,针对每一测试请求构建独立的测试路径,本申请中的第一调度节点可以被多个测试请求复用,能够有效提升测试效率,保证了测试系统的灵活性和稳定性,提高了资源利用率并节省了测试成本。
本申请实施例中提供了一种可能的实现方式,如图3所示,上述查询得到第一调度节点对应的下游调度节点的下游地址信息,包括:
S301,确定第一调度节点对应的调度实例和应用实例。
在本申请实施例中,各第一调度节点可以是基于如下方式构建的:
确定待部署的应用实例,并为该应用实例匹配对应的环境标签;
将待部署的调度实例、应用实例部署至同一集群,生成对应的第一调度节点。
S302,获取测试请求所携带的测试环境标签。
其中,上述测试环境标签是基于用户指令确定的。
在本申请实施例中,用户可以在测试请求中指定测试环境标签,例如,当测试请求为HTTP请求,可以将测试环境标签设置在HTTP协议头中。如果测试请求的通讯协议为私有协议,可使用环境治理专用发包工具,在工具设置中指定特定的测试环境标签。
S303,基于测试环境标签和应用实例的应用标签,通过调度实例查询得到下游地址信息。
具体的,可以将每一第一调度节点对应的应用实例的应用标签、环境标签和对应的访问地址信息存储到预设的服务信息存储数据表中。该服务信息存储数据表用于查询下游调度节点的下游地址信息。
进一步地,用于进行测试的服务器或终端,可以通过应用实例的应用标签确定得到该测试请求对应的下游应用实例,然后基于测试请求所携带的测试环境标签,通过调度实例与下游应用实例对应的环境标签进行匹配,查询上述服务信息存储数据表,得到下游地址信息。
在一些实施方式中,可以基于测试请求所携带的测试环境标签,找到在该测试环境中,对应测试请求的应用实例对应的下游应用实例,并将下游应用实例对应的第一调度节点的IP地址作为下游地址信息;如果基于测试请求所携带的测试环境标签,在上述服务信息存储数据表无法找到在对应测试环境中,该测试请求的应用实例对应的下游应用实例,则确定基线环境中的,该测试请求的应用实例对应的下游应用实例,并将基线环境中的下游应用实例对应的第一调度节点的IP地址作为下游地址信息。
本申请实施例通过测试请求所携带的测试环境标签,与第一调度节点对应的应用实例的应用标签进行匹配,并通过第一调度节点对应的调度实例实现资源调度,查询得到该第一调度节点的下游调度节点的下游地址信息;同时,如果基于测试请求所携带的测试环境标签无法查询得到下游应用实例中与该测试环境相匹配的应用标签,则将基线环境中的下游应用实例对应的第一调度节点作为下游调度节点,实现了测试请求的测试路由调度。由于基线环境是相对稳定的环境,可被不同的测试请求复用,有效提升了资源利用率,提高了测试效率。
本申请实施例中提供了一种可能的实现方式,上述方法还包括:
若未获取到测试请求的测试环境标签时,获取与测试请求相匹配的环境标签作为匹配环境标签。
在本申请实施例中,可以基于用户的配置信息生成染色规则。例如,染色规则可以包括“request_body(a)=string(123):env_tag=tag-feature”,即当测试请求的请求体中的参数a的值等于字符串"123"时,该请求符合染色规则,将被指定为该测试请求匹配"tag-feature"即匹配环境标签。
具体的,当未获取到测试请求的测试环境标签,即该测试请求中未包括测试环境标签时,用于进行测试的服务器或终端,可以基于预设的染色规则获取与测试请求相匹配的环境标签作为匹配环境标签。
如图4所示,上述查询得到第一调度节点对应的下游调度节点的下游地址信息,包括:
S401,确定第一调度节点对应的调度实例和应用实例;
S402,基于匹配环境标签和应用实例的应用标签,通过调度实例查询得到下游地址信息。
具体的,用于进行测试的服务器或终端,可以通过应用实例的应用标签确定得到该测试请求对应的下游应用实例,然后基于匹配环境标签,通过调度实例与下游应用实例对应的环境标签进行匹配,查询预设的服务信息存储数据表,得到下游地址信息。
在一些实施方式中,可以基于匹配环境标签,找到在该测试环境中,对应测试请求的应用实例对应的下游应用实例,并将下游应用实例对应的第一调度节点的IP地址作为下游地址信息;如果基于匹配环境标签,在上述服务信息存储数据表无法找到在对应测试环境中,该测试请求的应用实例对应的下游应用实例,则确定基线环境中的,该测试请求的应用实例对应的下游应用实例,并将基线环境中的下游应用实例对应的第一调度节点的IP地址作为下游地址信息。
本申请实施例在测试请求不包括测试环境标签时,通过预设的染色规则获取与测试请求相匹配的环境标签作为匹配环境标签,然后将匹配环境标签与第一调度节点对应的应用实例的应用标签进行匹配,并基于第一调度节点对应的调度实例实现资源调度,查询得到该第一调度节点的下游调度节点的下游地址信息,实现了测试环境的自动匹配和配置,进一步提升了测试效率。
本申请实施例中提供了一种可能的实现方式,如图5所示,上述查询得到第一调度节点对应的下游调度节点的下游地址信息,包括:
若未获取到测试请求的测试环境标签,且无法获取与测试请求相匹配的环境标签时,将预设基线环境对应的下游调度节点的地址信息作为第一调度节点对应的下游调度节点的下游地址信息。
在一些实施方式中,如果基于测试请求所携带的测试环境标签,在预设的服务信息存储数据表无法找到在对应测试环境中,该测试请求的应用实例对应的下游应用实例;同时,也无法通过预设的染色规则为测试请求匹配到匹配环境标签,则确定基线环境中的,该测试请求的应用实例对应的下游应用实例,并将基线环境中的下游应用实例对应的第一调度节点的IP地址作为下游地址信息;以将测试请求转发至基线环境对应的下游调度节点,以保证测试业务的正常运行。
本申请实施例在测试请求所携带的测试环境标签不存在或不可用时,通过将基线环境对应的下游调度节点作为该第一调度节点对应的下游调度节点,以获取下游地址信息,实现在测试请求所请求的测试环境不可用时将测试请求回退到基线环境中进行测试,保证了测试业务的正常运行。同时,可以使得基线环境中的应用实例可以被不同的测试请求复用,提高了系统资源利用率。
本申请实施例中提供了一种可能的实现方式,当测试请求的测试环境标签无法传递至下游调度节点时,上述通过调度实例查询得到下游地址信息之后,包括:
将测试请求的标识和测试环境标签,以键值对的形式保存到预设存储空间。
其中,预设存储空间用于在第一调度节点之间共享测试请求的测试环境标签。
在本申请实施例中,用于进行测试的服务器或终端,可以构建一个缓存数据结构,如哈希表,用于存储测试请求ID(Identity document,身份证标识号)与测试环境标签之间的映射关系。其中,键(key)可以为测试请求ID,值(Value)可以为测试环境标签。
具体的,用于进行测试的服务器或终端,在基于各第一调度节点获取并处理一测试请求时,可以提取测试请求ID和对应的测试环境标签,并将他们作为键值对存入缓存数据结构中,并对每一键值对配置一过期时间。
其中,上述过期时间用于表征键值对数据的有效期。例如该过期时间可以设置为30s,以避免缓存过大。
本申请实施例在测试请求的测试环境标签无法传递至下游调度节点时,通过将测试请求的标识和测试环境标签之间的对应关系,以键值对的数据结构形式保存在预设存储空间中,能够保证测试环境标签在上下游第一调度节点之间的正确传递;同时,可以对每一键值对数据设置过期时间,可以有效避免缓存数据过大,节省存储控件并保证数据的实时性,进一步提升了用户体验。
本申请实施例中提供了一种可能的实现方式,如图6所示,当第一调度节点为新的第一调度节点,上述查询得到第一调度节点对应的下游调度节点的下游地址信息,包括:
S501,确定第一调度节点对应的调度实例和应用实例。
S502,通过调度实例,提取测试请求的标识。
其中,测试请求的标识可以是测试请求的ID编码。
S503,基于测试请求的标识从预设存储空间查询得到测试环境标签。
其中,上述预设存储控件存储有测试请求的标识与测试环境标签的对应关系。
S504,基于测试环境标签和应用实例的应用标签查询得到下游地址信息。
具体的,用于进行测试的服务器或终端,可以通过应用实例的应用标签确定得到该测试请求对应的下游应用实例,然后基于查询得到的测试环境标签,通过调度实例与下游应用实例对应的环境标签进行匹配,查询上述服务信息存储数据表,得到下游地址信息。
本申请实施例在调度节点无法透传测试环境标签的场景中,通过调度实例,提取测试请求的标识,并基于测试请求的标识从预设存储空间查询得到测试环境标签,以实现基于实时查询得到的测试环境标签的测试请求传递,保证测试路由的准确性和高效性。
本申请实施例中提供了一种可能的实现方式,如图7所示,上述方法还包括:
当基于测试请求的标识无法从预设存储空间查询得到测试环境标签时,将预设基线环境对应的下游调度节点的地址信息作为第一调度节点对应的下游调度节点的下游地址信息。
在本申请实施例中,在测试请求的测试环境标签无法传递至下游调度节点时,可以提取测试请求的标识,并基于测试请求的标识从预设存储空间查询;如果查询失败,则说明该测试请求未携带测试环境标签,此时,可以确定基线环境中的、该测试请求的应用实例对应的下游应用实例,并将基线环境中的下游应用实例对应的第一调度节点的IP地址作为下游地址信息。
本申请实施例通过测试请求的标识从预设存储空间进行查询,当查询失败,即无法获取测试环境标签时,可以将基线环境中的下游应用实例对应的第一调度节点作为下游调度节点,实现了测试请求的测试路由调度,进一步保障了测试路由的完整性,有效提升了测试效率。
为了更好的理解上述测试方法,下面结合图8详细阐述一个本申请的测试方法的示例,该方法包括如下步骤:
S601,测试客户端801可以基于用户的控制指令确定测试请求,并将测试请求发送到测试服务器802。
S602,测试服务器802基于测试请求携带的目标地址信息确定对应的第一调度节点。
其中,第一调度节点用于针对测试请求进行资源调度;各第一调度节点可以包括调度实例和应用实例;调度实例用于确定该第一调度节点的下游调度节点,应用实例用于基于测试请求进行对应的功能模块测试。
进一步地,每一第一调度节点对应一测试环境,该测试环境包括基线环境和特定测试环境。可以预先将每一第一调度节点对应的应用实例的应用标签、环境标签和对应的访问地址信息存储到预设的服务信息存储数据表中,以实现服务实例的注册。该服务信息存储数据表用于查询下游调度节点的下游地址信息。
具体的,各第一调度节点可以是基于如下方式构建的:
确定待部署的应用实例,并为该应用实例匹配对应的环境标签;
将待部署的调度实例、应用实例部署至同一集群,生成对应的第一调度节点。
S603,测试服务器802查询得到第一调度节点对应的下游调度节点的下游地址信息。
具体的,上述下游地址信息是基于如下方式查询得到的:
S6031,确定第一调度节点对应的调度实例和应用实例。
S6032,当测试服务器802获取测试请求所携带的测试环境标签后,可以通过应用实例的应用标签确定得到该测试请求对应的下游应用实例,然后基于测试请求所携带的测试环境标签,通过调度实例与下游应用实例对应的环境标签进行匹配,查询上述服务信息存储数据表,得到下游地址信息。
S6033,当测试服务器802未获取到测试请求的测试环境标签时,可以基于预设的染色规则获取与测试请求相匹配的环境标签作为匹配环境标签。然后基于匹配环境标签,通过调度实例与下游应用实例对应的环境标签进行匹配,查询预设的服务信息存储数据表,得到下游地址信息。
其中,染色规则可以是基于用户的配置信息生成的。
在一些实施方式中,如果基于匹配环境标签,在上述服务信息存储数据表无法找到在对应测试环境中,该测试请求的应用实例对应的下游应用实例,则确定基线环境中的,该测试请求的应用实例对应的下游应用实例,并将基线环境中的下游应用实例对应的第一调度节点的IP地址作为下游地址信息。
S6034,当测试请求的测试环境标签无法传递至下游调度节点时,基于测试请求的标识从预设存储空间查询得到测试环境标签;然后通过应用实例的应用标签确定得到该测试请求对应的下游应用实例,然后基于查询得到的测试环境标签,通过调度实例与下游应用实例对应的环境标签进行匹配,查询上述服务信息存储数据表,得到下游地址信息。
其中,上述预设存储控件存储有测试请求的标识与测试环境标签的对应关系。具体的,可以构建一个缓存数据结构,如哈希表,用于存储测试请求ID与测试环境标签之间的映射关系。其中,键可以为测试请求ID,值可以为测试环境标签。
当调度实例停止运行时,测试服务器可以自动获取当前测试环境标签的关键信息,然后根据该关键信息将对应的测试环境记录从服务信息存储数据表中删除。例如在某调度实例停止运行时,可以从服务信息存储数据表中删除对应的包括该调度实例的应用标签和测试环境标签,以实现服务实例的反注册。
S604,测试服务器802运行第一调度节点的应用实例,得到测试请求对应的目标测试数据。
S605,测试服务器802将测试请求和目标测试数据通过下游地址信息转发至下游调度节点,将下游调度节点作为新的第一调度节点。
S606,测试服务器802重复上述步骤S603-S605,直至基于新的第一调度节点无法查询得到对应的下游调度节点的下游地址信息,并将最后一次测试操作中所得到的新的第一调度节点作为第二调度节点。
S607,测试服务器802运行第二调度节点的应用实例,得到测试请求对应的返回值。
S608,测试服务器802基于返回值确定目标软件的测试结果,并将测试结果返回给测试客户端801。
本申请实施例基于测试请求所携带的目标地址信息确定对应的第一调度节点,并通过第一调度节点根据测试请求进行至少一次测试操作,直至符合测试结束条件,然后运行第二调度节点的应用实例,得到测试请求对应的返回值,以基于该返回值确定目标软件的测试结果。在测试操作过程中,可以通过查询第一调度节点对应的下游调度节点的下游地址信息确定测试请求对应的测试路由;在运行第一调度节点的应用实例,得到测试请求对应的目标测试数据之后,可以将测试请求和目标测试数据通过下游地址信息转发至下游调度节点,同时将下游调度节点作为新的第一调度节点。本申请实施例通过在当前第一调度节点实时查询下游地址信息,确定新的第一调度节点,可以实现第一调度节点的实时更新,以构建动态的测试路由;区别于现有技术中,针对每一测试请求构建独立的测试路径,本申请中的第一调度节点可以被多个测试请求复用,能够有效提升测试效率,保证了测试系统的灵活性和稳定性,提高了资源利用率并节省了测试成本。
本申请实施例提供了一种测试装置,如图9所示,该测试装置90可以包括:获取模块901、第一确定模块902、测试模块903和第二确定模块904;
其中,获取模块901,用于获取针对目标软件的测试请求;
第一确定模块902,用于基于测试请求携带的目标地址信息确定对应的第一调度节点;
测试模块903,用于根据测试请求进行至少一次测试操作,直至符合测试结束条件,运行第二调度节点的应用实例,得到测试请求对应的返回值;其中,第二调度节点为符合测试结束条件时所得到的新的第一调度节点;
测试操作包括:
查询得到第一调度节点对应的下游调度节点的下游地址信息;运行第一调度节点的应用实例,得到测试请求对应的目标测试数据;将测试请求和目标测试数据通过下游地址信息转发至下游调度节点;将下游调度节点作为新的第一调度节点;
第二确定模块904,用于基于返回值确定目标软件的测试结果。
本申请实施例中提供了一种可能的实现方式,上述测试模块903在查询得到第一调度节点对应的下游调度节点的下游地址信息时,用于:
确定第一调度节点对应的调度实例和应用实例;
获取测试请求所携带的测试环境标签;
基于测试环境标签和应用实例的应用标签,通过调度实例查询得到下游地址信息。
本申请实施例中提供了一种可能的实现方式,上述测试模块903,还用于:
若未获取到测试请求的测试环境标签时,获取与测试请求相匹配的环境标签作为匹配环境标签;
上述测试模块在查询得到第一调度节点对应的下游调度节点的下游地址信息时,用于:
确定第一调度节点对应的调度实例和应用实例;
基于匹配环境标签和应用实例的应用标签,通过调度实例查询得到下游地址信息。
本申请实施例中提供了一种可能的实现方式,上述测试模块903在查询得到第一调度节点对应的下游调度节点的下游地址信息时,用于:
若未获取到测试请求的测试环境标签,且无法获取与测试请求相匹配的环境标签时,将预设基线环境对应的下游调度节点的地址信息作为第一调度节点对应的下游调度节点的下游地址信息。
本申请实施例中提供了一种可能的实现方式,当测试请求的测试环境标签无法传递至下游调度节点时,上述测试模块903在通过调度实例查询得到下游地址信息之后,还用于:
将测试请求的标识和测试环境标签,以键值对的形式保存到预设存储空间;其中,预设存储空间用于在第一调度节点之间共享测试请求的测试环境标签。
本申请实施例中提供了一种可能的实现方式,当第一调度节点为新的第一调度节点,上述测试模块903在查询得到第一调度节点对应的下游调度节点的下游地址信息时,用于:
确定第一调度节点对应的调度实例和应用实例;
通过调度实例,提取测试请求的标识;
基于测试请求的标识从预设存储空间查询得到测试环境标签;
基于测试环境标签和应用实例的应用标签查询得到下游地址信息。
本申请实施例中提供了一种可能的实现方式,上述测试模块903,还用于:
当基于测试请求的标识无法从预设存储空间查询得到测试环境标签时,将预设基线环境对应的下游调度节点的地址信息作为第一调度节点对应的下游调度节点的下游地址信息。
本申请实施例的装置可执行本申请实施例所提供的方法,其实现原理相类似,本申请各实施例的装置中的各模块所执行的动作是与本申请各实施例的方法中的步骤相对应的,对于装置的各模块的详细功能描述具体可以参见前文中所示的对应方法中的描述,此处不再赘述。
本申请实施例基于测试请求所携带的目标地址信息确定对应的第一调度节点,并通过第一调度节点根据测试请求进行至少一次测试操作,直至符合测试结束条件,然后运行第二调度节点的应用实例,得到测试请求对应的返回值,以基于该返回值确定目标软件的测试结果。在测试操作过程中,可以通过查询第一调度节点对应的下游调度节点的下游地址信息确定测试请求对应的测试路由;在运行第一调度节点的应用实例,得到测试请求对应的目标测试数据之后,可以将测试请求和目标测试数据通过下游地址信息转发至下游调度节点,同时将下游调度节点作为新的第一调度节点。本申请实施例通过在当前第一调度节点实时查询下游地址信息,确定新的第一调度节点,可以实现第一调度节点的实时更新,以构建动态的测试路由;区别于现有技术中,针对每一测试请求构建独立的测试路径,本申请中的第一调度节点可以被多个测试请求复用,能够有效提升测试效率,保证了测试系统的灵活性和稳定性,提高了资源利用率并节省了测试成本。
本申请实施例中提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,该处理器执行上述计算机程序以实现测试方法的步骤,与相关技术相比可实现:本申请实施例基于测试请求所携带的目标地址信息确定对应的第一调度节点,并通过第一调度节点根据测试请求进行至少一次测试操作,直至符合测试结束条件,然后运行第二调度节点的应用实例,得到测试请求对应的返回值,以基于该返回值确定目标软件的测试结果。在测试操作过程中,可以通过查询第一调度节点对应的下游调度节点的下游地址信息确定测试请求对应的测试路由;在运行第一调度节点的应用实例,得到测试请求对应的目标测试数据之后,可以将测试请求和目标测试数据通过下游地址信息转发至下游调度节点,同时将下游调度节点作为新的第一调度节点。本申请实施例通过在当前第一调度节点实时查询下游地址信息,确定新的第一调度节点,可以实现第一调度节点的实时更新,以构建动态的测试路由;区别于现有技术中,针对每一测试请求构建独立的测试路径,本申请中的第一调度节点可以被多个测试请求复用,能够有效提升测试效率,保证了测试系统的灵活性和稳定性,提高了资源利用率并节省了测试成本。
在一个可选实施例中提供了一种电子设备,如图10所示,图10所示的电子设备100包括:处理器1001和存储器1003。其中,处理器1001和存储器1003相连,如通过总线1002相连。可选地,电子设备100还可以包括收发器1004,收发器1004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器1004不限于一个,该电子设备100的结构并不构成对本申请实施例的限定。
处理器1001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器1001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线1002可包括一通路,在上述组件之间传送信息。总线1002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线1002可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器1003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质、其他磁存储设备、或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。
存储器1003用于存储执行本申请实施例的计算机程序,并由处理器1001来控制执行。处理器1001用于执行存储器1003中存储的计算机程序,以实现前述方法实施例所示的步骤。
其中,电子设备包括但不限于:诸如移动电话、笔记本电脑、PAD等等移动终端以及诸如数字TV、台式计算机等等固定终端。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行时实现如下情况:
获取针对目标软件的测试请求;
基于测试请求携带的目标地址信息确定对应的第一调度节点;
根据测试请求进行至少一次测试操作,直至符合测试结束条件,运行第二调度节点的应用实例,得到测试请求对应的返回值;其中,第二调度节点为符合测试结束条件时所得到的新的第一调度节点;
基于返回值确定目标软件的测试结果;
其中,测试操作包括:
查询得到第一调度节点对应的下游调度节点的下游地址信息;运行第一调度节点的应用实例,得到测试请求对应的目标测试数据;将测试请求和目标测试数据通过下游地址信息转发至下游调度节点;将下游调度节点作为新的第一调度节点。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“1”、“2”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除图示或文字描述以外的顺序实施。
应该理解的是,虽然本申请实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本申请实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本申请实施例对此不限制。
以上所述仅是本申请部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请的方案技术构思的前提下,采用基于本申请技术思想的其他类似实施手段,同样属于本申请实施例的保护范畴。

Claims (9)

1.一种测试方法,特征在于,包括:
获取针对目标软件的测试请求;
基于测试请求携带的目标地址信息确定对应的第一调度节点;
根据测试请求进行至少一次测试操作,直至符合测试结束条件,运行第二调度节点的应用实例,得到所述测试请求对应的返回值;其中,所述第二调度节点为符合测试结束条件时所得到的新的第一调度节点;
基于所述返回值确定目标软件的测试结果;
其中,所述测试操作包括:
查询得到所述第一调度节点对应的下游调度节点的下游地址信息;运行所述第一调度节点的应用实例,得到所述测试请求对应的目标测试数据;将所述测试请求和目标测试数据通过所述下游地址信息转发至所述下游调度节点;将所述下游调度节点作为新的第一调度节点;
其中,所述第一调度节点是基于如下方式构建的:
确定待部署的应用实例和调度实例,并为所述应用实例匹配对应的环境标签;将所述调度实例、应用实例部署至同一集群,生成对应的第一调度节点;
其中,所述查询得到所述第一调度节点对应的下游调度节点的下游地址信息,包括:
确定所述第一调度节点对应的调度实例和应用实例;获取所述测试请求所携带的测试环境标签;若获取到所述测试请求所携带的测试环境标签,基于所述测试环境标签和所述应用实例的应用标签,通过所述调度实例查询得到所述下游地址信息;
若未获取到所述测试请求的测试环境标签,获取与所述测试请求相匹配的环境标签作为匹配环境标签;
若无法获取与所述测试请求相匹配的环境标签时,将预设基线环境对应的下游调度节点的地址信息作为所述第一调度节点对应的下游调度节点的下游地址信息。
2.根据权利要求1所述的方法,其特征在于,所述查询得到所述第一调度节点对应的下游调度节点的下游地址信息,还包括:
若未获取到所述测试请求的测试环境标签时,且获取到与所述测试请求相匹配的环境标签作为匹配环境标签时;确定所述第一调度节点对应的调度实例和应用实例;
基于所述匹配环境标签和所述应用实例的应用标签,通过所述调度实例查询得到所述下游地址信息。
3.根据权利要求1所述的方法,其特征在于,当所述测试请求的测试环境标签无法传递至下游调度节点时,所述通过所述调度实例查询得到所述下游地址信息之后,包括:
将所述测试请求的标识和所述测试环境标签,以键值对的形式保存到预设存储空间;其中,所述预设存储空间用于在第一调度节点之间共享测试请求的测试环境标签。
4.根据权利要求3所述的方法,其特征在于,当所述第一调度节点为新的第一调度节点,所述查询得到所述第一调度节点对应的下游调度节点的下游地址信息,包括:
确定所述第一调度节点对应的调度实例和应用实例;
通过所述调度实例,提取所述测试请求的标识;
基于所述测试请求的标识从预设存储空间查询得到所述测试环境标签;
基于所述测试环境标签和应用实例的应用标签查询得到所述下游地址信息。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当基于所述测试请求的标识无法从预设存储空间查询得到所述测试环境标签时,将预设基线环境对应的下游调度节点的地址信息作为所述第一调度节点对应的下游调度节点的下游地址信息。
6.一种测试装置,其特征在于,包括:
获取模块,用于获取针对目标软件的测试请求;
第一确定模块,用于基于测试请求携带的目标地址信息确定对应的第一调度节点;
测试模块,用于根据测试请求进行至少一次测试操作,直至符合测试结束条件,运行第二调度节点的应用实例,得到所述测试请求对应的返回值;其中,所述第二调度节点为符合测试结束条件时所得到的新的第一调度节点;
所述测试操作包括:
查询得到所述第一调度节点对应的下游调度节点的下游地址信息;运行所述第一调度节点的应用实例,得到所述测试请求对应的目标测试数据;将所述测试请求和目标测试数据通过所述下游地址信息转发至所述下游调度节点;将所述下游调度节点作为新的第一调度节点;
其中,所述第一调度节点是基于如下方式构建的:
确定待部署的应用实例和调度实例,并为所述应用实例匹配对应的环境标签;将所述调度实例、应用实例部署至同一集群,生成对应的第一调度节点;
其中,所述查询得到所述第一调度节点对应的下游调度节点的下游地址信息,包括:
确定所述第一调度节点对应的调度实例和应用实例;获取所述测试请求所携带的测试环境标签;若获取到所述测试请求所携带的测试环境标签,基于所述测试环境标签和所述应用实例的应用标签,通过所述调度实例查询得到所述下游地址信息;若未获取到所述测试请求的测试环境标签,获取与所述测试请求相匹配的环境标签作为匹配环境标签;若无法获取与所述测试请求相匹配的环境标签时,将预设基线环境对应的下游调度节点的地址信息作为所述第一调度节点对应的下游调度节点的下游地址信息;
第二确定模块,用于基于所述返回值确定目标软件的测试结果。
7.一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1至5任一项所述方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5任一项所述方法的步骤。
9.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5任一项所述方法的步骤。
CN202311390261.4A 2023-10-25 2023-10-25 测试方法、装置、电子设备及计算机可读存储介质 Active CN117112451B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311390261.4A CN117112451B (zh) 2023-10-25 2023-10-25 测试方法、装置、电子设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311390261.4A CN117112451B (zh) 2023-10-25 2023-10-25 测试方法、装置、电子设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN117112451A CN117112451A (zh) 2023-11-24
CN117112451B true CN117112451B (zh) 2024-02-09

Family

ID=88798830

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311390261.4A Active CN117112451B (zh) 2023-10-25 2023-10-25 测试方法、装置、电子设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN117112451B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111666211A (zh) * 2020-05-26 2020-09-15 平安壹钱包电子商务有限公司 服务动态测试方法、装置、计算机设备及存储介质
CN113849361A (zh) * 2021-09-28 2021-12-28 北京百度网讯科技有限公司 测试服务节点的方法、装置、设备以及存储介质
CN114003500A (zh) * 2021-11-02 2022-02-01 中国银行股份有限公司 软件测试方法及装置
CN114285779A (zh) * 2021-12-21 2022-04-05 度小满科技(北京)有限公司 测试请求的处理方法、装置和系统
CN115391215A (zh) * 2022-08-31 2022-11-25 江苏安超云软件有限公司 微服务架构下全链路调试的方法及应用
CN116939035A (zh) * 2022-03-29 2023-10-24 腾讯科技(深圳)有限公司 数据处理方法、装置、电子设备以及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11263099B2 (en) * 2019-02-27 2022-03-01 T-Mobile Usa, Inc. Testing device for testing internet-of-things device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111666211A (zh) * 2020-05-26 2020-09-15 平安壹钱包电子商务有限公司 服务动态测试方法、装置、计算机设备及存储介质
CN113849361A (zh) * 2021-09-28 2021-12-28 北京百度网讯科技有限公司 测试服务节点的方法、装置、设备以及存储介质
CN114003500A (zh) * 2021-11-02 2022-02-01 中国银行股份有限公司 软件测试方法及装置
CN114285779A (zh) * 2021-12-21 2022-04-05 度小满科技(北京)有限公司 测试请求的处理方法、装置和系统
CN116939035A (zh) * 2022-03-29 2023-10-24 腾讯科技(深圳)有限公司 数据处理方法、装置、电子设备以及存储介质
CN115391215A (zh) * 2022-08-31 2022-11-25 江苏安超云软件有限公司 微服务架构下全链路调试的方法及应用

Also Published As

Publication number Publication date
CN117112451A (zh) 2023-11-24

Similar Documents

Publication Publication Date Title
Paul et al. Internet of Things: A primer
US11645582B2 (en) Parameter sharing in federated learning
US20130036236A1 (en) Method and system for creating peer-to-peer geographical routing and multi-attribute similarity routing
Khodadadi et al. Simurgh: A framework for effective discovery, programming, and integration of services exposed in IoT
CN111736775A (zh) 多源存储方法、装置、计算机系统及存储介质
EP3477561A1 (en) System for goods delivery
KR20160148650A (ko) 트랜잭셔널 미들웨어 머신 환경에서 도메인에 걸친 메시징을 위해 바이패스-도메인 모델 및 프록시 모델을 지원하고 서비스 정보를 갱신하는 시스템 및 방법
CN110413845B (zh) 基于物联网操作系统的资源存储方法及装置
CN109104368B (zh) 一种请求连接方法、装置、服务器及计算机可读存储介质
CN108683668A (zh) 内容分发网络中的资源校验方法、装置、存储介质及设备
KR102435498B1 (ko) 계층형 엔진 프레임워크에 기반한 크로스 도메인 워크플로우 제어 시스템 및 방법
Mijić et al. Unified iot platform architecture platforms as major iot building blocks
CN110910143A (zh) 身份标识生成方法、装置、相关节点及介质
CN103701935A (zh) 一种云计算服务平台的构建方法及系统
CN113095825B (zh) 基于区块链的资产管理方法、装置及电子设备
CN117112451B (zh) 测试方法、装置、电子设备及计算机可读存储介质
CN109981697A (zh) 一种文件转存方法、系统、服务器及存储介质
US11595471B1 (en) Method and system for electing a master in a cloud based distributed system using a serverless framework
US11816512B2 (en) Event driven data processing system and method
CN113726638B (zh) 一种多云多芯容器管理的方法、装置及设备、存储介质
CN117435215A (zh) 研发环境部署方法、系统、计算机设备和存储介质
Xu et al. Internet of Things: Hotspot-based Discovery Service Architecture with Security Mechanism.
CN110324425B (zh) 混合云交易路由处理方法及装置
CN113836428A (zh) 业务推送方法、装置、计算机设备和存储介质
Yang et al. DCAB: An Effective Data Collection and Analysis Service for Blockchain

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