CN113220576A - 测试环境的管理方法、装置、设备以及存储介质 - Google Patents

测试环境的管理方法、装置、设备以及存储介质 Download PDF

Info

Publication number
CN113220576A
CN113220576A CN202110530448.4A CN202110530448A CN113220576A CN 113220576 A CN113220576 A CN 113220576A CN 202110530448 A CN202110530448 A CN 202110530448A CN 113220576 A CN113220576 A CN 113220576A
Authority
CN
China
Prior art keywords
test
reference information
test object
changed
deployment
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
CN202110530448.4A
Other languages
English (en)
Other versions
CN113220576B (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202110530448.4A priority Critical patent/CN113220576B/zh
Publication of CN113220576A publication Critical patent/CN113220576A/zh
Application granted granted Critical
Publication of CN113220576B publication Critical patent/CN113220576B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/3664Environments for testing or debugging software

Abstract

本公开提供了测试环境的管理方法、装置、设备以及存储介质,涉及测试环境管理领域。具体实现方案为:基于为测试对象预先配置的引用信息,确定测试对象与其他测试对象之间的依赖关系;引用信息用于表征测试对象所引用的第一默认变量,其中,第一默认变量为测试对象所依赖的其他测试对象的默认变量;基于各测试对象的依赖关系,确定测试环境中的测试对象的部署顺序。根据本公开的技术,简化了测试对象的配置成本,缩短了测试环境的部署耗时,降低了人力部署成本。

Description

测试环境的管理方法、装置、设备以及存储介质
技术领域
本公开涉及计算机技术领域,尤其涉及测试环境管理领域。
背景技术
互联网产品在正式发布之前,通常需要进行系统集成测试、性能测试、预发布测试等诸多维度的测试,为了避免干扰以及保证测试结果的准确性,需要部署和运维多套测试环境进行测试。相关技术中,由于互联网产品的版本变更频率高,导致测试环境的部署和维护成本较高,并且需要测试人员对不同的测试对象单独进行配置,存在部署周期长、人力成本高的缺陷。
发明内容
本公开提供了测试环境的管理方法、装置、设备以及存储介质。
根据本公开的一方面,提供了一种测试环境的管理方法,包括:
基于为测试对象预先配置的引用信息,确定测试对象与其他测试对象之间的依赖关系;引用信息用于表征测试对象所引用的第一默认变量,其中,第一默认变量为测试对象所依赖的其他测试对象的默认变量;
基于各测试对象的依赖关系,确定测试环境中的测试对象的部署顺序。
根据本公开的另一方面,提供了一种测试环境的管理方法,包括
为各测试对象配置默认变量;
基于各测试对象的默认变量,为各测试对象配置引用信息;引用信息用于表征测试对象所引用的第一默认变量,其中,第一默认变量为测试对象所依赖的其他测试对象的默认变量。
根据本公开的另一方面,提供了一种测试环境的管理装置,包括:
依赖关系确定模块,用于基于为测试对象预先配置的引用信息,确定测试对象与其他测试对象之间的依赖关系;引用信息用于表征测试对象所引用的第一默认变量,其中,第一默认变量为测试对象所依赖的其他测试对象的默认变量;
部署顺序确定模块,用于基于各测试对象的依赖关系,确定测试环境中的测试对象的部署顺序。
根据本公开的另一方面,提供了一种测试环境的管理装置,包括
默认变量配置模块,用于为各测试对象配置默认变量;
引用信息配置模块,用于基于各测试对象的默认变量,为各测试对象配置引用信息;引用信息用于表征测试对象所引用的第一默认变量,其中,第一默认变量为测试对象所依赖的其他测试对象的默认变量。
根据本公开的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与该至少一个处理器通信连接的存储器;其中,
该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行本公开任一实施例中的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行本公开任一实施例中的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本公开任一实施例中的方法。
根据本公开的技术,通过获取测试环境中测试对象的引用信息,基于引用信息确定出测试对象的依赖关系,并根据依赖关系确定出测试环境中的测试对象的部署顺序,简化了测试对象的配置成本,缩短了测试环境的部署耗时,降低了人力部署成本。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1示出根据本公开一方面实施例的测试环境的管理方法的流程图;
图2示出根据本公开一方面实施例的测试环境的管理方法中的变更引用信息的具体流程图;
图3示出根据本公开一方面实施例的测试环境的管理方法中的变更依赖关系的具体流程图;
图4示出根据本公开一方面实施例的测试环境的管理方法中的变更部署顺序的具体流程图;
图5示出根据本公开一方面实施例的测试环境的管理方法中的执行部署处理的具体流程图;
图6示出根据本公开另一方面实施例的测试环境的管理方法的流程图;
图7示出根据本公开另一方面实施例的测试环境的管理装置的示意图;
图8示出根据本公开另一方面实施例的测试环境的管理装置的示意图;
图9示出根据本公开实施例的测试环境的管理方法的场景示意图;
图10示出根据本公开实施例的测试环境的管理方法的场景示意图;
图11示出根据本公开实施例的测试环境的管理方法的场景示意图;
图12是用来实现本公开实施例的测试环境的管理方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1示出根据本公开实施例的测试环境的管理方法,如图1所示,该方法包括以下步骤:
S101;基于为测试对象预先配置的引用信息,确定测试对象与其他测试对象之间的依赖关系;引用信息用于表征测试对象所引用的第一默认变量,其中,第一默认变量为测试对象所依赖的其他测试对象的默认变量;
S102:基于各测试对象的依赖关系,确定测试环境中的测试对象的部署顺序。
示例性地,本公开实施例的测试环境的管理方法可以用于对互联网产品的测试环境进行管理。其中,测试对象可以为互联网产品中的Web前端程序、中间件程序、数据库程序或Web后端程序等。
示例性地,在步骤S101中,可以通过测试系统的配置模块为各测试对象预先配置默认变量和引用信息。具体地,测试对象的默认变量可以为,测试对象待部署的服务器的地址信息及端口信息、接入键标识信息、安全接入键信息以及密码信息等。测试对象的引用信息所表征的第一默认变量,可以为测试对象所依赖的其他测试对象的默认变量中处于公开状态的信息。
配置模块在为测试对象配置引用信息的过程中,针对测试环境中存在依赖关系的测试对象,将测试对象所依赖的其他测试对象的默认变量确定为该测试对象的第一默认变量,并基于第一默认变量为该测试对象配置引用信息。
需要说明的是,测试对象依赖其他测试对象,指的是测试对象需要完成某一测试操作,需要使用其他测试对象的默认变量才能实现,换而言之,测试对象所依赖的其他测试对象的默认变量构成该测试对象完成某一测试操作的充分条件。
示例性地,在步骤S102中,测试对象的依赖关系用于表征测试对象依赖于其他测试对象。针对每一个测试对象,根据该测试对象的依赖关系,按照测试对象所依赖的其他测试对象部署于该测试对象之前的顺序,确定出测试环境中相互依赖的所有测试对象的部署顺序。
例如,三个测试对象分别为Web服务、数据存储服务和数据解析服务,其中,Web服务的依赖关系为Web服务依赖于数据解析服务,数据解析服务的依赖关系为数据解析服务依赖于数据存储服务。基于此,确定出最终的部署顺序为:先部署数据存储服务,再部署数据解析服务,最后部署Web服务。
下面结合互联网产品的测试环境的管理场景为例描述根据本公开实施例的测试环境的管理方法。
如图9所示,测试环境中包括三个测试对象分别为APP1、APP2和APP3。APP1的默认变量包括定义变量和其他配置,APP2的默认变量包括定义变量、配置文件挂载内容和其他配置,APP3的默认变量包括定义变量和其他配置。其中,APP1的引用信息配置为APP2的定义变量中的服务器地址信息和端口信息,APP2的引用信息配置为APP3的定义变量中的密码信息。
根据APP1的引用信息可以确定出,APP1的依赖关系为APP1依赖于APP2;根据APP2的引用信息可以确定出,APP2的依赖关系为APP2依赖于APP3。由此,基于APP1和APP2的依赖关系确定出三个测试对象的部署顺序为:先部署APP3,再部署APP2,最后部署APP1。
根据本公开实施例的测试环境的管理方法,通过获取测试环境中测试对象的引用信息,基于引用信息确定出测试对象的依赖关系,并根据依赖关系确定出测试环境中的测试对象的部署顺序,由此,可以实现对测试对象的批量部署,并且通过预先配置的引用信息即可将依赖的测试对象进行关联,从而简化了测试对象的配置成本,缩短了部署耗时,降低了人力部署成本,方便测试团队高效的部署和运维具有批量测试对象的测试环境。
在一种实施方式中,引用信息包含测试对象所依赖的其他测试对象的部署位置。
需要说明的是,测试对象的部署位置即为测试对象待部署的服务器的地址信息和端口信息。
示例性地,测试对象的引用信息所表征的第一默认对象,可以为测试对象所依赖的其他测试对象的默认变量中的服务器的地址信息和端口信息。
例如,在图9所示的示例中,测试对象分别为APP1和APP2,且APP1依赖于APP2,APP1的环境变量即为APP1的引用信息,且环境变量具体为APP2的服务器端地址信息和端口信息:“app2_HOST:$(APP2.host)”和“app2_PORT:$(APP2.port)”。
通过将引用信息配置为包含测试对象所依赖的其他测试对象的部署位置,可以直接获取到测试对象所依赖的其他测试对象的服务器地址信息和端口信息,从而测试对象可以直接访问其所依赖的相应服务,达到快速部署的目的。
如图2所示,在一种实施方式中,该方法还包括:
S201:基于默认变量变更请求,将默认变量变更请求对应的测试对象确定为第一变更对象;
S202:对第一变更对象的默认变量进行变更处理,得到变更后的变量;
S203:基于第一变更对象的依赖关系,将依赖于第一变更对象的测试对象确定为第二变更对象;
S204:基于变更后的变量,对第二变更对象的引用信息进行变更,得到第二变更对象的变更后的引用信息。
示例性地,默认变量变更请求可以由部署人员发起,用于请求对某个测试对象的默认变量进行变更。
在一个具体示例中,如图9所示,测试环境中包括相互依赖的测试对象,分别为APP1、APP2、APP3。三个测试对象的默认变量(即定义变量)分别为app1_host、app1_port、app2_host、app2_port、app3_host、app3_port。其中,APP3额外公开了app3_passwd变量供其他测试对象使用,APP2额外公开了app2_ak变量和app2_sk变量供其他测试对象使用。APP1的环境变量引用了APP2公开的app2_host和app2_port,即APP1依赖于APP2;APP2的配置文件引用了APP3公开的app3_passwd变量,即APP2依赖于APP3。
在默认变量变更请求对应的第一变更对象为APP2,且请求变更的默认变量为APP2的定义变量中的app2_host和app2_port的情况下,对APP2的定义变量中的app2_host和app2_port进行变更。基于APP1依赖于APP2的依赖关系,则将依赖于APP2的APP1确定为第二变更对象,并将APP1的引用信息即环境变量变更为与变更后的app2_host和app2_port相一致。
需要说明的是,如果默认变量变更请求对应的第一变更对象为APP2,且请求变更的默认变量为APP2的定义变量中的app2_ak和app2_sk的情况下,由于APP1的并没有引用app2_ak和app2_sk,则对APP2的定义变量中的app2_ak和app2_sk进行更改之后,无需对APP1的引用信息进行更改。
通过上述实施方式,测试环境内某个测试对象的默认变量发生变更时,可以对依赖于该测试对象的其他测试对象的引用信息自动进行变更,无需部署人员手动进行变更,从而确保了相互依赖的测试对象的引用信息的准确性和一致性,并且为测试应用的变量的变更提供了便捷。
如图3所示,在一种实施方式中,该方法还包括:
S301:基于引用信息变更请求,将引用信息变更请求对应的测试对象确定为第三变更对象;
S302:对第三变更对象的引用信息进行变更处理,得到变更后的引用信息;
S303:基于变更后的引用信息,对依赖关系进行变更处理,得到变更后的依赖关系。
示例性地,引用信息变更请求可以由部署人员发起,用于请求对某个测试对象的引用信息进行变更,以调整测试对象的依赖关系。
其中,引用信息变更请求可以用于,为第三变更对象增加新的引用信息,或者将第三变更对象原先的引用信息替换为新的引用信息,再或者将第三变更对象原先的引用信息进行删除。
在一个示例中,引用信息变更请求可以用于为第三变更对象增加新的引用信息。如图10所示,APP2的环境变量引用了APP3的定义变量中的app3_host和app3_port,即APP2依赖于APP3。响应于引用信息变更请求,对APP2的引用信息增加了APP4的定义变量中的APP4_host和APP4_port。基于APP2变更后的引用信息,APP2在依赖于APP3的同时还依赖于APP4,从而得到APP2变更后的依赖关系为APP2同时依赖于APP3和APP4。
在另一个示例中,引用信息变更请求可以用于将第三变更对象原先的引用信息进行删除。如图11所示,APP1的环境变量引用了APP2公开的app2_host和app2_port,即APP1依赖于APP2;APP2的环境变量引用了APP3公开的app3_passwd变量,即APP2依赖于APP3。在引用信息变更请求为删除APP2的环境变量中app3_passwd变量的情况下,在将APP2的环境变量中app3_passwd变量删除之后,则APP2不再依赖于APP3。
根据上述实施方式,通过对测试对象的引用信息进行变更,实现了对不同测试对象之间的依赖关系的变更,从而为不同依赖关系下的多个测试对象所对应的不同的测试环境的变更提供了便利。
如图4所示,在一种实施方式中,该方法还包括:
S401:基于变更后的依赖关系,对测试环境中的测试对象的部署顺序进行变更处理。
示例性地,如图10所示,APP1、APP2和APP3先前的部署顺序为:先部署APP3,然后部署APP2,最后部署APP1。基于APP2变更后的依赖关系,得到变更后的部署顺序:先部署APP3和APP4,然后部署APP2,最后部署APP1。
示例性地,如图11所示,APP1、APP2和APP3先前的部署顺序为:先部署APP3,然后部署APP2,最后部署APP1。基于APP2变更后的依赖关系,得到变更后的部署顺序:先部署APP2,然后部署APP1。
根据上述实施方式,通过根据变更后的依赖关系对原先的部署顺序进行变更,按照底层测试对象先部署,同层测试对象同时部署的原则,可以对多个测试对象实现并行和串行的多种组合方式的快速部署,并且为多个测试对象的灵活部署提供了便利性。
如图5所示,在一种实施方式中,该方法还包括:
S501:基于测试对象的默认变量和引用信息,生成测试对象的部署配置文件;
S502:基于各测试对象的部署配置文件和部署顺序,对测试环境中的测试对象执行部署处理。
示例性地,可以采用kubernetes(一种容器编排工具)对测试环境进行配置。可以理解的是,Kubernetes,简称K8s,是用8代替8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。部署配置文件可以为yaml(一种用于表示用来表达数据序列化的格式)文件,对于存在依赖关系的测试对象,将预先配置的引用信息和默认变量在yaml文件中进行描述,以实现后续的自动部署。此外,通过采用yaml文件作为部署配置文件,还可以满足回滚、自我修复、服务发现和负载均衡等需求。
在一个具体示例中,如图11所示,根据各个测试对象之间的引用信息,可以确定出APP1的环境变量引用了APP2公开的应用变量,APP2的配置文件引用APP3和APP4公开的应用变量。由此,四个测试对象的依赖关系为APP1依赖APP2,APP2依赖APP3和APP4。基于各个测试对象的依赖关系,确定出的部署顺序为,APP3和APP4并行且最先开始部署,然后部署APP2,最后部署APP1。根据部署顺序,对四个测试对象进行部署并测试。
通过上述实施方式,针对批量的测试对象,可以一次性且快速地对测试环境进行部署。
在一种实施方式中,在测试对象所依赖的其他测试对象的默认变量发生变更的情况下,针对测试对象和其所依赖的其他测试对象,生成新的部署顺序。
如图11所示,在一个具体示例中,APP1的环境变量引用了APP2公开的默认变量app2_host和app2_port,即APP1依赖于APP2;APP2的环境变量引用了APP3公开的app3_passwd变量,即APP2依赖于APP3。此时的部署顺序为:先部署APP3,然后部署APP2,最后部署APP1。
基于默认变量变更请求,对APP2所公开的默认变量app2_host和app2_port进行变更,得到变更后的变量。然后,基于变更后的变量,对依赖于APP2的APP1的环境变量进行相应变更。基于默认变量发生变更的APP2和环境变量发生变更的APP1,生成新的部署顺序:先部署APP2,后部署APP1。即无需再对APP3进行部署。
通过上述实施方式,可以仅针对默认变量发生变化的测试对象以及依赖于该测试对象的其他测试对象进行重新部署即可,减少了后续的部署流程,提高了测试效率。
在一个具体示例中,可以采用Kubernetes这种集群方式对默认变量和引用信息进行配置,通过采用Kubernetes这种集群方式部署,部署人员不需要关心测试对象的具体部署位置,基于Kubernetes可以自动筛选部署位置,并为每个测试对象自动赋予集群可访问的部署位置,从而实现对默认变量的自动配置。其中,部署位置可以采用如下格式的namespace.svc.cluster.local的命名方式。
例如,针对测试环境env1、env2和env3。三个测试对象APP1、APP2和APP3的host地址分别为:
APP1在env1中的app1_host默认赋值为app1.env1.svc.cluster.local;
APP2在env1中的app2_host默认赋值为app2.env1.svc.cluster.local;
APP3在env2中的app3_host默认赋值为app3.env2.svc.cluster.local。
部署一个新的测试环境时,如果只是同一个测试环境内的测试对象之间需要互相访问,只需要对host地址中的环境名称进行调整,至于环境内依赖的应用的host信息,只需按照app.env.svc.cluster.local规则提前配置好,部署时则无需调整。如果想引用其他测试环境中的测试对象的默认变量,部署人员则需要调整测试对象的host地址。例如:如果env1中的APP1想引用env2中的APP3的app3_host变量,可以将env1中的app3_host的值从app3.env1.svc.cluster.local修改为app3.env2.svc.cluster.local即可。
根据本公开另一方面的实施例,还提供了一种测试环境的管理方法。
图6示出根据本公开另一方面实施例的测试环境的管理方法的流程图。如图6所示,该方法包括以下步骤:
S601:为各测试对象配置默认变量;
S602:基于各测试对象的默认变量,为各测试对象配置引用信息;引用信息用于表征测试对象所引用的第一默认变量,其中,第一默认变量为测试对象所依赖的其他测试对象的默认变量。
示例性地,测试对象的默认变量可以为,测试对象待部署的服务器的地址信息及端口信息、接入键标识信息、安全接入键信息以及密码信息等。测试对象的引用信息所表征的第一默认变量,可以为测试对象所依赖的其他测试对象的默认变量中处于公开状态的信息。在为测试对象配置引用信息的过程中,针对测试环境中存在依赖关系的测试对象,将测试对象所依赖的其他测试对象的默认变量确定为该测试对象的第一默认变量,并基于第一默认变量为该测试对象配置引用信息。
根据本公开实施例的测试环境的管理方法,通过为测试对象配置引用信息以表征测试对象所引用的其他测试对象的默认变量,可以将相互依赖的测试对象进行关联,从而简化了配置成本、提高了配置效率,为后续测试对象的部署提供了便捷。
根据本公开另一方面的实施例,还提供了一种测试环境的管理装置。
图7示出根据本公开实施例的测试环境的管理装置的示意图。如图7所示,该装置包括:
依赖关系确定模块701,用于基于为测试对象预先配置的引用信息,确定测试对象与其他测试对象之间的依赖关系;引用信息用于表征测试对象所引用的第一默认变量,其中,第一默认变量为测试对象所依赖的其他测试对象的默认变量;
部署顺序确定模块702,用于基于各测试对象的依赖关系,确定测试环境中的测试对象的部署顺序。
在一种实施方式中,引用信息包含测试对象所依赖的其他测试对象的部署位置。
在一种实施方式中,该装置还包括:
第一变更对象确定模块,用于基于默认变量变更请求,将默认变量变更请求对应的测试对象确定为第一变更对象;
默认变量变更模块,用于对第一变更对象的默认变量进行变更处理,得到变更后的变量;
第二变更对象确定模块,用于基于第一变更对象的依赖关系,将依赖于第一变更对象的测试对象确定为第二变更对象;
引用信息变更模块,用于基于变更后的变量,对第二变更对象的引用信息进行变更,得到第二变更对象的变更后的引用信息。
在一种实施方式中,该装置还包括:
第三变更对象确定模块,用于基于引用信息变更请求,将引用信息变更请求对应的测试对象确定为第三变更对象;
引用信息变更模块,用于对第三变更对象的引用信息进行变更处理,得到变更后的引用信息;
依赖关系变更模块,用于基于变更后的引用信息,对依赖关系进行变更处理,得到变更后的依赖关系。
在一种实施方式中,该装置还包括:
部署顺序变更模块,用于基于变更后的依赖关系,对测试环境中的测试对象的部署顺序进行变更处理。
在一种实施方式中,该装置还包括:
部署配置文件生成模块,用于基于测试对象的默认变量和引用信息,生成测试对象的部署配置文件;
部署处理模块,用于基于各测试对象的部署配置文件和部署顺序,对测试环境中的测试对象执行部署处理。
根据本公开另一方面的实施例,还提供了一种测试环境的管理装置。
图8示出根据本公开实施例的测试环境的管理装置的示意图。如图8所示,该装置包括:
默认变量配置模块801,用于为各测试对象配置默认变量;
引用信息配置模块802,用于基于各测试对象的默认变量,为各测试对象配置引用信息;引用信息用于表征测试对象所引用的第一默认变量,其中,第一默认变量为测试对象所依赖的其他测试对象的默认变量。
本公开实施例各装置中的各单元、模块或子模块的功能可以参见上述方法实施例中的对应描述,在此不再赘述。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图12示出了可以用来实施本公开的实施例的示例电子设备1200的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或要求的本公开的实现。
如图12所示,电子设备1200包括计算单元1201,其可以根据存储在只读存储器(ROM)1202中的计算机程序或者从存储单元1208加载到随机访问存储器(RAM)1203中的计算机程序来执行各种适当的动作和处理。在RAM 1203中,还可存储电子设备1200操作所需的各种程序和数据。计算单元1201、ROM 1202以及RAM 1203通过总线1204彼此相连。输入输出(I/O)接口1205也连接至总线1204。
电子设备1200中的多个部件连接至I/O接口1205,包括:输入单元1206,例如键盘、鼠标等;输出单元1207,例如各种类型的显示器、扬声器等;存储单元1208,例如磁盘、光盘等;以及通信单元1209,例如网卡、调制解调器、无线通信收发机等。通信单元1209允许电子设备1200通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元1201可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1201的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1201执行上文所描述的各个方法和处理,例如测试环境的管理方法。例如,在一些实施例中,测试环境的管理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1208。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1202和/或通信单元1209而被载入和/或安装到电子设备1200上。当计算机程序加载到RAM 1203并由计算单元1201执行时,可以执行上文描述的测试环境的管理方法的一个或多个步骤。备选地,在其他实施例中,计算单元1201可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行测试环境的管理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入、或者触觉输入来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (17)

1.一种测试环境的管理方法,包括:
基于为测试对象预先配置的引用信息,确定所述测试对象与其他测试对象之间的依赖关系;所述引用信息用于表征所述测试对象所引用的第一默认变量,其中,所述第一默认变量为所述测试对象所依赖的其他测试对象的默认变量;
基于各所述测试对象的依赖关系,确定所述测试环境中的测试对象的部署顺序。
2.根据权利要求1所述的方法,其中,所述引用信息包含所述测试对象所依赖的其他测试对象的部署位置。
3.根据权利要求1或2所述的方法,还包括:
基于默认变量变更请求,将所述默认变量变更请求对应的测试对象确定为第一变更对象;
对所述第一变更对象的默认变量进行变更处理,得到变更后的变量;
基于所述第一变更对象的依赖关系,将依赖于所述第一变更对象的测试对象确定为第二变更对象;
基于所述变更后的变量,对所述第二变更对象的引用信息进行变更,得到所述第二变更对象的变更后的引用信息。
4.根据权利要求1或2所述的方法,还包括:
基于引用信息变更请求,将所述引用信息变更请求对应的测试对象确定为第三变更对象;
对所述第三变更对象的引用信息进行变更处理,得到变更后的引用信息;
基于所述变更后的引用信息,对所述依赖关系进行变更处理,得到变更后的依赖关系。
5.根据权利要求4所述的方法,还包括:
基于所述变更后的依赖关系,对所述测试环境中的测试对象的部署顺序进行变更处理。
6.根据权利要求1至5任一项所述的方法,还包括:
基于所述测试对象的默认变量和引用信息,生成所述测试对象的部署配置文件;
基于各所述测试对象的部署配置文件和所述部署顺序,对所述测试环境中的测试对象执行部署处理。
7.一种测试环境的管理方法,包括
为各测试对象配置默认变量;
基于各所述测试对象的默认变量,为各所述测试对象配置引用信息;所述引用信息用于表征所述测试对象所引用的第一默认变量,其中,所述第一默认变量为所述测试对象所依赖的其他测试对象的默认变量。
8.一种测试环境的管理装置,包括:
依赖关系确定模块,用于基于为测试对象预先配置的引用信息,确定所述测试对象与其他测试对象之间的依赖关系;所述引用信息用于表征所述测试对象所引用的第一默认变量,其中,所述第一默认变量为所述测试对象所依赖的其他测试对象的默认变量;
部署顺序确定模块,用于基于各所述测试对象的依赖关系,确定所述测试环境中的测试对象的部署顺序。
9.根据权利要求8所述的装置,其中,所述引用信息包含所述测试对象所依赖的其他测试对象的部署位置。
10.根据权利要求8或9所述的装置,还包括:
第一变更对象确定模块,用于基于默认变量变更请求,将所述默认变量变更请求对应的测试对象确定为第一变更对象;
默认变量变更模块,用于对所述第一变更对象的默认变量进行变更处理,得到变更后的变量;
第二变更对象确定模块,用于基于所述第一变更对象的依赖关系,将依赖于所述第一变更对象的测试对象确定为第二变更对象;
引用信息变更模块,用于基于所述变更后的变量,对所述第二变更对象的引用信息进行变更,得到所述第二变更对象的变更后的引用信息。
11.根据权利要求8或9所述的装置,还包括:
第三变更对象确定模块,用于基于引用信息变更请求,将所述引用信息变更请求对应的测试对象确定为第三变更对象;
引用信息变更模块,用于对所述第三变更对象的引用信息进行变更处理,得到变更后的引用信息;
依赖关系变更模块,用于基于所述变更后的引用信息,对所述依赖关系进行变更处理,得到变更后的依赖关系。
12.根据权利要求11所述的装置,还包括:
部署顺序变更模块,用于基于所述变更后的依赖关系,对所述测试环境中的测试对象的部署顺序进行变更处理。
13.根据权利要求8至12任一项所述的装置,还包括:
部署配置文件生成模块,用于基于所述测试对象的默认变量和引用信息,生成所述测试对象的部署配置文件;
部署处理模块,用于基于各所述测试对象的部署配置文件和所述部署顺序,对所述测试环境中的测试对象执行部署处理。
14.一种测试环境的管理装置,包括
默认变量配置模块,用于为各测试对象配置默认变量;
引用信息配置模块,用于基于各所述测试对象的默认变量,为各所述测试对象配置引用信息;所述引用信息用于表征所述测试对象所引用的第一默认变量,其中,所述第一默认变量为所述测试对象所依赖的其他测试对象的默认变量。
15.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至7任一项所述的方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使计算机执行权利要求1至7任一项所述的方法。
17.一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现根据权利要求1至7任一项所述的方法。
CN202110530448.4A 2021-05-14 2021-05-14 测试环境的管理方法、装置、设备以及存储介质 Active CN113220576B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110530448.4A CN113220576B (zh) 2021-05-14 2021-05-14 测试环境的管理方法、装置、设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110530448.4A CN113220576B (zh) 2021-05-14 2021-05-14 测试环境的管理方法、装置、设备以及存储介质

Publications (2)

Publication Number Publication Date
CN113220576A true CN113220576A (zh) 2021-08-06
CN113220576B CN113220576B (zh) 2023-08-01

Family

ID=77092210

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110530448.4A Active CN113220576B (zh) 2021-05-14 2021-05-14 测试环境的管理方法、装置、设备以及存储介质

Country Status (1)

Country Link
CN (1) CN113220576B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180060226A1 (en) * 2016-09-01 2018-03-01 Salesforce.Com, Inc. Deployment testing for infrastructure delivery automation
US20190005074A1 (en) * 2017-06-29 2019-01-03 Sap Se Optimized re-deployment of database artifacts
CN111352833A (zh) * 2020-02-24 2020-06-30 北京百度网讯科技有限公司 推荐系统的测试方法、装置、设备和计算机存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180060226A1 (en) * 2016-09-01 2018-03-01 Salesforce.Com, Inc. Deployment testing for infrastructure delivery automation
US20190005074A1 (en) * 2017-06-29 2019-01-03 Sap Se Optimized re-deployment of database artifacts
CN111352833A (zh) * 2020-02-24 2020-06-30 北京百度网讯科技有限公司 推荐系统的测试方法、装置、设备和计算机存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FRANCESCA: "Maintenance and manipulation of object sequences in working memory: a lifespan study", NEUROLOGICAL SCIENCES *
张艳梅;姜淑娟;张红昌;: "一种基于动态依赖关系的类集成测试方法", 计算机学报, no. 06 *

Also Published As

Publication number Publication date
CN113220576B (zh) 2023-08-01

Similar Documents

Publication Publication Date Title
US8494996B2 (en) Creation and revision of network object graph topology for a network performance management system
US10324754B2 (en) Managing virtual machine patterns
WO2023109138A1 (zh) Linux系统中启动安卓应用的方法、装置和电子设备
US8751620B2 (en) Validating deployment patterns in a networked computing environment
CN111527474B (zh) 软件功能的动态交付
US9652220B2 (en) Zero down-time deployment of new application versions
US8972941B2 (en) Integrated development environment-based workload testing in a networked computing environment
US10055393B2 (en) Distributed version control of orchestration templates
CN112965761B (zh) 一种数据处理方法、系统、电子设备及存储介质
CN113377665A (zh) 基于容器技术的测试方法、装置、电子设备及存储介质
CN114077367A (zh) Linux系统中实现安卓应用快捷方式的方法和装置
CN114443076A (zh) 镜像构建方法、装置、设备及存储介质
CN114070889B (zh) 配置方法、流量转发方法、设备、存储介质及程序产品
US9298487B2 (en) Managing virtual machine images in a distributed computing environment
CN115576565A (zh) 应用程序的部署方法、装置、电子设备及存储介质
CN113612643B (zh) 云手机的网络配置方法、装置、设备以及存储介质
CN113220576B (zh) 测试环境的管理方法、装置、设备以及存储介质
CN115102948A (zh) 地图瓦片的自动下载方法、装置、设备以及存储介质
CN113986476A (zh) 传感器设备虚拟化的方法、装置、电子设备和存储介质
CN112152988A (zh) 用于异步nbmp请求处理的方法、系统以及计算机设备和介质
CN112148935B (zh) 用于多实例的nbmp功能执行的方法和装置
US11977922B2 (en) Resource reuse for pipeline workloads
CN117149459A (zh) 微前端系统、微前端系统的构建方法、装置、电子设备
US11630705B1 (en) Dynamic generation of cloud platform application programming interface calls
CN115469887A (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