CN114791884A - 测试环境的构建方法、装置、存储介质及电子设备 - Google Patents

测试环境的构建方法、装置、存储介质及电子设备 Download PDF

Info

Publication number
CN114791884A
CN114791884A CN202210499149.3A CN202210499149A CN114791884A CN 114791884 A CN114791884 A CN 114791884A CN 202210499149 A CN202210499149 A CN 202210499149A CN 114791884 A CN114791884 A CN 114791884A
Authority
CN
China
Prior art keywords
application
target service
test
target
test environment
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
CN202210499149.3A
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202210499149.3A priority Critical patent/CN114791884A/zh
Publication of CN114791884A publication Critical patent/CN114791884A/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/3664Environments for testing or debugging software
    • 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/3696Methods or tools to render software testable

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)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种测试环境的构建方法、装置、存储介质及电子设备。涉及云计算领域,该方法包括:获取测试部署任务,其中,测试部署任务用于指示部署目标服务应用的测试环境;响应测试部署任务,从一个或者多个服务组件的镜像中获取目标服务应用所对应的目标服务组件的镜像,其中,一个或者多个服务组件用于实现服务应用;使用目标服务组件的镜像构建目标应用容器作为目标服务应用的目标测试环境。通过本申请,解决了相关技术中服务应用的测试效率较低的问题。

Description

测试环境的构建方法、装置、存储介质及电子设备
技术领域
本申请涉及云计算领域,具体而言,涉及一种测试环境的构建方法、装置、存储介质及电子设备。
背景技术
随着分布式技术和云计算技术的发展,服务架构体系逐渐从单体式转向分布式,单一的服务模块被拆分成众多依赖模块和中间件。这种分布式、微服务化的架构在提供高性能的同时,也为系统的测试工作带来了新的挑战,主要表现在分布式架构的应用一般通过远程过程调用,将一系列独立部署的服务串联起来提供完整的服务,而为了进行完整的系统测试,也需要将所有依赖的模块和中间件完整的部署和搭建起来。
为了优化测试流程,提升测试测试效率,业界普遍进行了自动化测试的探索,而测试自动化得以实施的前提是测试环境部署的自动化。现有技术中,在对案例代码等服务应用进行测试的情况下,多个测试环境往往共用了一个或多个测试组件,共用测试组件会降低测试结果的准确率,导致测试误差;并且往往需要将测试环境中的多个进程手动部署在不同的物理机上进行隔离,在浪费了较多的测试资源的同时,大大降低了测试的效率。
针对相关技术中服务应用的测试效率较低的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种测试环境的构建方法、装置、存储介质及电子设备,以解决相关技术中服务应用的测试效率较低的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种测试环境的构建方法。该方法包括:获取测试部署任务,其中,所述测试部署任务用于指示部署目标服务应用的测试环境;响应所述测试部署任务,从一个或者多个服务组件的镜像中获取所述目标服务应用所对应的目标服务组件的镜像,其中,所述一个或者多个服务组件用于实现服务应用;使用所述目标服务组件的镜像构建目标应用容器作为所述目标服务应用的目标测试环境。
为了实现上述目的,根据本申请的另一方面,提供了一种测试环境的构建装置。
该装置包括:
第一获取模块,用于获取测试部署任务,其中,所述测试部署任务用于指示部署目标服务应用的测试环境;
第二获取模块,用于响应所述测试部署任务,从一个或者多个服务组件的镜像中获取所述目标服务应用所对应的目标服务组件的镜像,其中,所述一个或者多个服务组件用于实现服务应用;
构建模块,用于使用所述目标服务组件的镜像构建目标应用容器作为所述目标服务应用的目标测试环境。
为了实现上述目的,根据本申请的另一方面,提供了一种非易失性存储介质,上述非易失性存储介质存储有多条指令,上述指令适于由处理器加载并执行任意一项上述的测试环境的构建方法。
为了实现上述目的,根据本申请的另一方面,提供了一种电子设备。该电子设备包括:一个或多个处理器和存储器,上述存储器用于存储一个或多个程序,其中,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现任意一项上述的测试环境的构建方法。
通过本申请,采用以下步骤:获取测试部署任务,其中,测试部署任务用于指示部署目标服务应用的测试环境;响应测试部署任务,从一个或者多个服务组件的镜像中获取目标服务应用所对应的目标服务组件的镜像,其中,一个或者多个服务组件用于实现服务应用;使用目标服务组件的镜像构建目标应用容器作为目标服务应用的目标测试环境,即获取到测试部署任务的情况下,响应获取到的测试部署任务,从一个或者多个服务组件的镜像中获取目标服务应用所对应的目标服务组件的镜像来实现目标服务应用,使用目标服务组件的镜像构建目标应用容器作为目标服务应用的目标测试环境,通过使用服务组件的镜像的方式,构建服务应用对应的应用容器,并且每个服务应用的应用容器中都包含了测试环境中所需的服务组件,保证了服务组件的专用性,提升了测试效率,解决了相关技术中服务应用的测试效率较低的问题。进而达到了提升服务应用的测试效率的效果。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例提供的测试环境的构建方法的流程图;
图2是根据本申请实施例提供的测试环境的构建方法的示意图;
图3是根据本申请实施例提供的构建测试环境的架构示意图;
图4是根据本申请实施例提供的测试环境的构建装置的示意图;
图5是根据本申请实施例的电子设备的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,本公开所涉及的相关信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。例如,本系统和相关用户或机构间设置有接口,在获取相关信息之前,需要通过接口向前述的用户或机构发送获取请求,并在接收到前述的用户或机构反馈的同意信息后,获取相关信息。
下面结合优选的实施步骤对本发明进行说明,图1是根据本申请实施例提供的测试环境的构建方法的流程图,如图1所示,该方法包括如下步骤:
步骤S101,获取测试部署任务,其中,所述测试部署任务用于指示部署目标服务应用的测试环境;
步骤S102,响应所述测试部署任务,从一个或者多个服务组件的镜像中获取所述目标服务应用所对应的目标服务组件的镜像,其中,所述一个或者多个服务组件用于实现服务应用;
步骤S103,使用所述目标服务组件的镜像构建目标应用容器作为所述目标服务应用的目标测试环境。
可选地,在本申请实施例提供的测试环境的构建方法中,目标服务应用的测试环境可以但不限于包括使用JAVA语言、C语言或者Python语言等等语言开发的测试环境等等。
可选地,在本申请实施例提供的测试环境的构建方法中,目标服务组件可以但不限于包括测试服务应用的过程中所需要的中间件、代码模块等等,比如:zookeeper(注册中心)、MySQL(关系型数据库)等等。
可选地,在本申请实施例提供的测试环境的构建方法中,可以但不限于通过一个或者多个实现目标服务应用所需的服务组件的镜像构建目标应用容器,通过构建不同测试环境所对应的应用容器的方式,实现了不同的服务应用的测试环境之间的隔离,保证了服务组件的专用性,避免服务组件共用带来的测试误差,提升测试准确性。
可选地,在本申请实施例提供的测试环境的构建方法中,如果获取到测试部署任务,可以但不限于响应测试部署任务,从一个或者多个服务组件的镜像中获取实现目标服务应用所需的目标服务组件的镜像,使用目标服务组件的镜像构建目标应用容器作为目标服务应用的目标测试环境,通过构建应用容器的方式,实现了测试环境之间的隔离以及测试环境中各个进程的隔离,而不必将需要隔离的不同的测试环境或者不同的测试进程部署到物理服务器上,节约了测试资源,提升了测试效率。
本申请实施例提供的测试环境的构建方法,通过获取测试部署任务,其中,测试部署任务用于指示部署目标服务应用的测试环境;响应测试部署任务,从一个或者多个服务组件的镜像中获取目标服务应用所对应的目标服务组件的镜像,其中,一个或者多个服务组件用于实现服务应用;使用目标服务组件的镜像构建目标应用容器作为目标服务应用的目标测试环境,即获取到测试部署任务的情况下,响应获取到的测试部署任务,从一个或者多个服务组件的镜像中获取目标服务应用所对应的目标服务组件的镜像来实现目标服务应用,使用目标服务组件的镜像构建目标应用容器作为目标服务应用的目标测试环境,通过使用服务组件的镜像的方式,构建服务应用对应的应用容器,并且每个服务应用的应用容器中都包含了测试环境中所需的服务组件,保证了服务组件的专用性,提升了测试效率,解决了相关技术中服务应用的测试效率较低的问题。进而达到了提升服务应用的测试效率的效果。
在一种可选的实施例中,可以但不限于通过以下方式构建目标应用容器所述目标服务应用的目标测试环境:从所述目标服务应用的应用镜像文件中解析出所述目标服务组件之间的调用关系;运行所述目标服务组件的镜像,得到所述目标服务组件的容器;按照所述调用关系编排所述目标服务组件的容器,得到所述目标应用容器。
可选的,在本实施例中,可以但不限于从目标服务应用的应用镜像文件中解析出目标服务组件之间的调用关系,应用镜像文件可以但不限于包括目标服务应用的dockerfile文件等等包括目标服务组件组件之间的调用关系的能够生成镜像的文件,目标服务组件之间的调用关系可以但不限于包括服务组件的数据请求关系,比如:数据的提供方、数据的请求方以及数据的提供方和数据的请求方之间的中间方等等。
可选的,在本实施例中,如果多个测试环境中均需要目标服务组件,可以但不限于多次运行目标服务组件的镜像,得到多个目标服务组件的容器;保证了每个测试环境中的服务组件的专用性,避免了服务组件共用导致的测试误差。
可选的,在本实施例中,可以但不限于通过编写docker-compose.yml文件的方式,将测试环境所需的所有服务组件按照调用关系进行编排,可以但不限于使用目标服务组件的镜像,获取目标服务应用的测试环境中所需的完整功能配置或者部分功能配置的服务组件,使得目标服务应用的应用容器中仅包括测试目标服务应用所需的服务组件的,而不用通过服务组件的镜像生成整个服务组件,节约了构建测试环境所需的资源,减轻了测试负荷。
在一种可选的实施例中,可以但不限于通过以下方式获取应用镜像文件:获取所述目标服务应用的代码脚本;编译所述代码脚本,得到所述目标服务应用的归档文件包;使用所述归档文件包编辑初始镜像文件,得到所述应用镜像文件。
可选的,在本实施例中,可以但不限于将获取到的目标服务应用的代码脚本编译成为可以获取应用镜像的文件,可以但不限于将代码脚本打包成归档文件包,归档文件包中可以但不限于包括字节码等等程序执行所需的内容,可以但不限于使用归档文件包编辑初始镜像文件(可以但不限于为生成dockerfile文件的模板等等),得到应用镜像文件。
在一种可选的实施例中,可以但不限于通过以下方式获取目标服务应用所对应的目标服务组件的镜像:从所述目标服务应用的应用镜像文件中解析出所述目标服务组件;从具有对应关系的服务组件和镜像中获取所述目标服务组件的镜像。
可选的,在本实施例中,目标服务应用的应用镜像文件中可以但不限于包括了构建目标服务应用测试环境所需的目标服务组件的相关信息,可以但不限于从目标服务应用的应用镜像文件中解析出目标服务组件,可以但不限于从具有对应关系的服务组件和镜像中获取目标服务组件的镜像。
在一种可选的实施例中,可以但不限于通过以下方式之一获取测试部署任务:
方式一,检测代码仓库中所述目标服务应用的代码状态;在所述代码状态用于指示所述目标服务应用的代码存在改动的情况下,创建所述测试部署任务。
可选的,在本实施例中,可以但不限于检测代码仓库中目标服务应用的代码脚本的代码状态,可以但不限于在目标服务应用的代码存在改动的情况下,创建测试部署任务,自动为目标服务应用部署测试环境,避免了手动搭建多套测试环境以及需要物理部署所需的各种依赖如中间件、数据库等,大大节约了搭建测试环境所需的时间,较大提升了测试效率。
可选的,在本实施例中,代码仓库可以但不限于部署在gitlab或者其它能够部署代码仓库的服务器上,可以但不限于将代码仓库和gitlab-runner进行关联,使得gitlab-runner可以实时检测代码仓库中目标服务应用的代码脚本是否存在修改,实现了实时检测目标服务应用的代码状态,大大减少了测试人员的工作量。
方式二,接收代码仓库在所述目标服务应用的代码存在改动的情况下发起的测试部署请求,其中,所述测试部署请求用于请求为所述目标服务应用部署测试环境;响应所述测试部署请求创建所述测试部署任务。
可选的,在本实施例中,代码仓库所在的服务器可以但不限于实时检测目标服务应用的代码改动情况,可以但不限于在目标服务应用的代码存在改动的情况下,代码仓库所在的服务器可以但不限于向gitlab-runner发起测试部署请求,gitlab-runner可以但不限于响应测试部署请求,为目标服务应用部署测试环境。
在一种可选的实施例中,可以但不限于通过以下方式得到参考测试环境:确定初始测试环境中允许部署的所述一个或者多个服务组件;为所述一个或者多个服务组件生成对应的一个或者多个组件镜像文件;使用所述一个或者多个组件镜像文件在所述初始测试环境中构建所述一个或者多个服务组件的镜像,得到参考测试环境,其中,所述参考测试环境中部署了所述一个或者多个服务组件的镜像,所述参考测试环境用于使用所述一个或者多个服务组件的镜像为服务应用构建测试环境。
可选的,在本实施例中,参考测试环境中可以但不限于包括一个或者多个服务组件的镜像,可以但不限于通过生成一个或者多个服务组件的dockerfile文件,可以但不限于使用一个或者多个服务组件的dockerfile文件构建一个或者多个服务组件的镜像的方式,得到参考测试环境。
在一种可选的实施例中,可以但不限于通过以下方式得到目标服务应用对应的测试报告包括:接收应用测试请求,其中,所述应用测试请求用于请求对所述目标服务应用进行测试;响应所述应用测试请求,运行所述目标测试环境,得到所述目标服务应用对应的测试报告。
可选的,在本实施例中,可以但不限于在构建目标应用容器之后,响应接收到的应用测试请求,运行目标测试容器,得到目标服务应用的测试结果,生成目标服务应用的测试报告,实现了及时发现测试环境中存在的问题,提升了测试效率。
为了更好的理解上述测试环境的构建方法,下面再结合可选的实施例对上述测试环境的构建流程进行说明,图2是根据本申请实施例提供的测试环境的构建方法的示意图,如图2所示,可以但不限于通过以下步骤搭建目标服务应用的测试环境:
步骤S201,搭建测试服务器,可以但不限于通过安装git、gitlab-runner、MVN、docker、docker-compose等软件来搭建测试服务器;并新建测试工程仓库repo-auto-test,并配置仓库的CI(Continuous Integration,持续集成)关联至上述测试服务器的gitlab-runner上,使得gitlab-runner可以实时监测测试服务器上的代码仓库中的代码改动情况;
步骤S202,编写案例测试代码(即上述的目标服务组件的代码脚本)并关联至gitlab仓库,创建本地测试代码工程auto-test(自动测试),编写案例测试代码,初始化本地git仓库以管理auto-test代码,并将仓库关联至远程gitlab repo-auto-test仓库;
步骤S203,基于docker构建案例测试代码所对应的服务组件的镜像,生成案例容器;可以但不限于针对测试工程中的需要部署运行的代码模块以及中间件(即上述的目标服务组件)如zookeeper、mysql等等,编写dockerfile文件(即上述的应用镜像文件),制作docker镜像(即上述的目标服务组件的镜像);
步骤S204,编排测试环境,得到测试环境,可以但不限于通过编写docker-compose.yml文件的方式,将测试环境所需的所有依赖组件进行编排;
步骤S205,编写gitlab-runner CI/CD(Continuous Integration(持续集成)/Continuous Deployment(持续部署))的触发规则,可以但不限于通过编写gitlab-ci.yml文件的方式,将自动化测试触发的规则配置为在检测到master(主要)分支中有任意测试代码改动便进行自动构建并执行测试。
步骤S206,编写测试案例触发自动化测试,可以但不限于在测试人员提交新的功能代码或者测试案例代码的情况下,触发自动化测试流程,拉起新的测试环境,执行新的测试案例,并输出测试报告。
图3是根据本申请实施例提供的构建测试环境的架构示意图,如图3所示,可以但不限于基于git、gitlab-runner、MVN、docker、docker-compose等等构建服务应用的测试环境,测试人员将测试案例代码提交至gitlab服务器,gitlab服务器检测到代码更改,通知gilab-runner执行CD脚本,可以但不限于基于gilab-runner自动化触发测试环境部署流程,可以但不限于调用MVN或者其它具有编译源码能力的工具等等对案例代码进行编译,生成dockerfile文件(即上述的应用镜像文件),调用docker生成服务组件的镜像,得到案例容器;可以但不限于通过docker-compose编排测试环境中所需要的服务组件,实现了容器的批量启动、编排、管理和销毁,并且保证了多个测试环境之间互相隔离,保证测试依赖组件的专用性和纯洁性,提升测试数据的一致性和准确性,实现了快速布置多套测试环境,提升布置测试环境的效率。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例还提供了一种测试环境的构建装置,需要说明的是,本申请实施例的测试环境的构建装置可以用于执行本申请实施例所提供的用于测试环境的构建方法。以下对本申请实施例提供的测试环境的构建装置进行介绍。
图4是根据本申请实施例提供的测试环境的构建装置的示意图,如图4所示,该装置包括:
第一获取模块402,用于获取测试部署任务,其中,所述测试部署任务用于指示部署目标服务应用的测试环境;
第二获取模块404,用于响应所述测试部署任务,从一个或者多个服务组件的镜像中获取所述目标服务应用所对应的目标服务组件的镜像,其中,所述一个或者多个服务组件用于实现服务应用;
构建模块406,用于使用所述目标服务组件的镜像构建目标应用容器作为所述目标服务应用的目标测试环境。
可选地,在本申请实施例提供的测试环境的构建装置中,第一获取模块402,获取测试部署任务,其中,所述测试部署任务用于指示部署目标服务应用的测试环境;第二获取模块404,响应所述测试部署任务,从一个或者多个服务组件的镜像中获取所述目标服务应用所对应的目标服务组件的镜像,其中,所述一个或者多个服务组件用于实现服务应用;构建模块406,使用所述目标服务组件的镜像构建目标应用容器作为所述目标服务应用的目标测试环境,即获取到测试部署任务的情况下,响应获取到的测试部署任务,从一个或者多个服务组件的镜像中获取目标服务应用所对应的目标服务组件的镜像来实现目标服务应用,使用目标服务组件的镜像构建目标应用容器作为目标服务应用的目标测试环境,通过使用服务组件的镜像的方式,构建服务应用对应的应用容器,并且每个服务应用的应用容器中都包含了测试环境中所需的服务组件,保证了服务组件的专用性,提升了测试效率,解决了相关技术中服务应用的测试效率较低的问题,进而达到了提升服务应用的测试效率的效果。
所述测试环境的构建装置包括处理器和存储器,上述单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现提升服务应用的测试效率。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现所述测试环境的构建方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述测试环境的构建方法。
图5是根据本申请实施例的电子设备的示意图,如图5所示,本发明实施例提供了一种电子设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:获取测试部署任务,其中,所述测试部署任务用于指示部署目标服务应用的测试环境;响应所述测试部署任务,从一个或者多个服务组件的镜像中获取所述目标服务应用所对应的目标服务组件的镜像,其中,所述一个或者多个服务组件用于实现服务应用;使用所述目标服务组件的镜像构建目标应用容器作为所述目标服务应用的目标测试环境。本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:
获取测试部署任务,其中,所述测试部署任务用于指示部署目标服务应用的测试环境;
响应所述测试部署任务,从一个或者多个服务组件的镜像中获取所述目标服务应用所对应的目标服务组件的镜像,其中,所述一个或者多个服务组件用于实现服务应用;
使用所述目标服务组件的镜像构建目标应用容器作为所述目标服务应用的目标测试环境。
可选的,上述计算机程序产品还适于执行初始化有如下方法步骤的程序:
从所述目标服务应用的应用镜像文件中解析出所述目标服务组件之间的调用关系;
运行所述目标服务组件的镜像,得到所述目标服务组件的容器;
按照所述调用关系编排所述目标服务组件的容器,得到所述目标应用容器。
可选的,上述计算机程序产品还适于执行初始化有如下方法步骤的程序:
获取所述目标服务应用的代码脚本;
编译所述代码脚本,得到所述目标服务应用的归档文件包;
使用所述归档文件包编辑初始镜像文件,得到所述应用镜像文件。
可选的,上述计算机程序产品还适于执行初始化有如下方法步骤的程序:
从所述目标服务应用的应用镜像文件中解析出所述目标服务组件;
从具有对应关系的服务组件和镜像中获取所述目标服务组件的镜像。
可选的,上述计算机程序产品还适于执行初始化有如下方法步骤的程序:
检测代码仓库中所述目标服务应用的代码状态;在所述代码状态用于指示所述目标服务应用的代码存在改动的情况下,创建所述测试部署任务;
接收代码仓库在所述目标服务应用的代码存在改动的情况下发起的测试部署请求,其中,所述测试部署请求用于请求为所述目标服务应用部署测试环境;响应所述测试部署请求创建所述测试部署任务。
可选的,上述计算机程序产品还适于执行初始化有如下方法步骤的程序:
确定初始测试环境中允许部署的所述一个或者多个服务组件;
为所述一个或者多个服务组件生成对应的一个或者多个组件镜像文件;
使用所述一个或者多个组件镜像文件在所述初始测试环境中构建所述一个或者多个服务组件的镜像,得到参考测试环境,其中,所述参考测试环境中部署了所述一个或者多个服务组件的镜像,所述参考测试环境用于使用所述一个或者多个服务组件的镜像为服务应用构建测试环境。
可选的,上述计算机程序产品还适于执行初始化有如下方法步骤的程序:
接收应用测试请求,其中,所述应用测试请求用于请求对所述目标服务应用进行测试;
响应所述应用测试请求,运行所述目标测试环境,得到所述目标服务应用对应的测试报告。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种测试环境的构建方法,其特征在于,包括:
获取测试部署任务,其中,所述测试部署任务用于指示部署目标服务应用的测试环境;
响应所述测试部署任务,从一个或者多个服务组件的镜像中获取所述目标服务应用所对应的目标服务组件的镜像,其中,所述一个或者多个服务组件用于实现服务应用;
使用所述目标服务组件的镜像构建目标应用容器作为所述目标服务应用的目标测试环境。
2.根据权利要求1所述的方法,其特征在于,所述使用所述目标服务组件的镜像构建目标应用容器作为所述目标服务应用的目标测试环境,包括:
从所述目标服务应用的应用镜像文件中解析出所述目标服务组件之间的调用关系;
运行所述目标服务组件的镜像,得到所述目标服务组件的容器;
按照所述调用关系编排所述目标服务组件的容器,得到所述目标应用容器。
3.根据权利要求2所述的方法,其特征在于,在所述从所述目标服务应用的应用镜像文件中解析出所述目标服务组件之间的调用关系之前,所述方法还包括:
获取所述目标服务应用的代码脚本;
编译所述代码脚本,得到所述目标服务应用的归档文件包;
使用所述归档文件包编辑初始镜像文件,得到所述应用镜像文件。
4.根据权利要求1所述的方法,其特征在于,所述从一个或者多个服务组件的镜像中获取所述目标服务应用所对应的目标服务组件的镜像,包括:
从所述目标服务应用的应用镜像文件中解析出所述目标服务组件;
从具有对应关系的服务组件和镜像中获取所述目标服务组件的镜像。
5.根据权利要求1所述的方法,其特征在于,所述获取测试部署任务,包括以下之一:
检测代码仓库中所述目标服务应用的代码状态;在所述代码状态用于指示所述目标服务应用的代码存在改动的情况下,创建所述测试部署任务;
接收代码仓库在所述目标服务应用的代码存在改动的情况下发起的测试部署请求,其中,所述测试部署请求用于请求为所述目标服务应用部署测试环境;响应所述测试部署请求创建所述测试部署任务。
6.根据权利要求1至5中任一项所述的方法,其特征在于,在所述从一个或者多个服务组件的镜像中获取所述目标服务应用所对应的目标服务组件的镜像之前,所述方法还包括:
确定初始测试环境中允许部署的所述一个或者多个服务组件;
为所述一个或者多个服务组件生成对应的一个或者多个组件镜像文件;
使用所述一个或者多个组件镜像文件在所述初始测试环境中构建所述一个或者多个服务组件的镜像,得到参考测试环境,其中,所述参考测试环境中部署了所述一个或者多个服务组件的镜像,所述参考测试环境用于使用所述一个或者多个服务组件的镜像为服务应用构建测试环境。
7.根据权利要求1至5中任一项所述的方法,其特征在于,在所述使用所述目标服务组件的镜像构建目标应用容器作为所述目标服务应用的目标测试环境之后,所述方法还包括:
接收应用测试请求,其中,所述应用测试请求用于请求对所述目标服务应用进行测试;
响应所述应用测试请求,运行所述目标测试环境,得到所述目标服务应用对应的测试报告。
8.一种测试环境的构建装置,其特征在于,包括:
第一获取模块,用于获取测试部署任务,其中,所述测试部署任务用于指示部署目标服务应用的测试环境;
第二获取模块,用于响应所述测试部署任务,从一个或者多个服务组件的镜像中获取所述目标服务应用所对应的目标服务组件的镜像,其中,所述一个或者多个服务组件用于实现服务应用;
构建模块,用于使用所述目标服务组件的镜像构建目标应用容器作为所述目标服务应用的目标测试环境。
9.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至7中任意一项所述的测试环境的构建方法。
10.一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至7中任意一项所述的测试环境的构建方法。
CN202210499149.3A 2022-05-09 2022-05-09 测试环境的构建方法、装置、存储介质及电子设备 Pending CN114791884A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210499149.3A CN114791884A (zh) 2022-05-09 2022-05-09 测试环境的构建方法、装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210499149.3A CN114791884A (zh) 2022-05-09 2022-05-09 测试环境的构建方法、装置、存储介质及电子设备

Publications (1)

Publication Number Publication Date
CN114791884A true CN114791884A (zh) 2022-07-26

Family

ID=82461363

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210499149.3A Pending CN114791884A (zh) 2022-05-09 2022-05-09 测试环境的构建方法、装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN114791884A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116893977A (zh) * 2023-09-08 2023-10-17 中国空气动力研究与发展中心计算空气动力研究所 分布式仿真测试环境自动部署方法、装置、设备及介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116893977A (zh) * 2023-09-08 2023-10-17 中国空气动力研究与发展中心计算空气动力研究所 分布式仿真测试环境自动部署方法、装置、设备及介质
CN116893977B (zh) * 2023-09-08 2024-01-16 中国空气动力研究与发展中心计算空气动力研究所 分布式仿真测试环境自动部署方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN110955431B (zh) 编译环境的处理方法及装置
US10303490B2 (en) Apparatus and method for optimizing startup of embedded system
US10148752B2 (en) Enterprise level security orchestration
US20230259358A1 (en) Documentation enforcement during compilation
CN107179982B (zh) 一种跨进程调试方法和装置
CN113448690B (zh) 监测方法及装置
CN114791884A (zh) 测试环境的构建方法、装置、存储介质及电子设备
CN111240987B (zh) 移植程序检测方法、装置、电子设备及计算机可读存储介质
CN110806891B (zh) 嵌入式设备软件版本的生成方法及装置
CN114253845A (zh) 异型架构集成体系的自动化测试方法和装置
CN107291439B (zh) 一种目标增量数据构建方法及装置
CN115220887A (zh) 调度信息的处理方法、任务处理系统、处理器和电子设备
CN114489999A (zh) 流水线任务的处理方法和装置、处理器及电子设备
CN115730305A (zh) 应用程序的检测方法、装置、非易失性存储介质及处理器
CN109358972B (zh) 中间件客户端的日志管理方法、装置及计算机系统
CN111367796A (zh) 应用程序调试方法及装置
CN112559444A (zh) Sql文件迁移方法、装置、存储介质及设备
CN113687973B (zh) 一种日志动态化输出的控制方法、设备及介质
US20230259347A1 (en) Container based generation of inputs for generic functions
CN112558975B (zh) 组件的代码切换方法、装置、电子设备及可读存储介质
CN113342633B (zh) 一种性能测试方法和装置
CN107479899B (zh) 文件处理方法和装置、存储介质及处理器
CN116302361A (zh) 镜像构建方法、装置、处理器及电子设备
CN115080431A (zh) 一种代码测试方法、装置、存储介质及设备
CN118295919A (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