CN111831567B - 应用的测试环境配置方法、装置、系统和介质 - Google Patents
应用的测试环境配置方法、装置、系统和介质 Download PDFInfo
- Publication number
- CN111831567B CN111831567B CN202010695629.8A CN202010695629A CN111831567B CN 111831567 B CN111831567 B CN 111831567B CN 202010695629 A CN202010695629 A CN 202010695629A CN 111831567 B CN111831567 B CN 111831567B
- Authority
- CN
- China
- Prior art keywords
- configuration
- test environment
- application
- information
- mode
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本公开提供了一种应用的测试环境配置方法,该方法包括:在没收到测试环境配置请求的情况下,获取测试环境的配置信息,该配置信息包括应用的属性信息和测试类型;根据属性信息和测试类型,确定针对测试环境的配置方式;根据配置方式得到初始测试环境;以及根据针对应用的配置文件,更新初始测试环境,得到配置后测试环境。本公开还提供了一种应用的测试环境配置装置、一种计算机系统和一种计算机可读存储介质。
Description
技术领域
本公开涉及运维技术领域,更具体地,涉及一种应用的测试环境配置方法、装置、系统和介质。
背景技术
随着信息技术在各行各业的深入应用,基于先进信息技术的软件系统,对行业发展产生了巨大的影响,有效提升了行业效能。
在实现本公开构思的过程中,发明人发现相关技术中至少存在以下问题:大型金融行业由于业务种类多、体系架构复杂,其软件系统一般由多达几百个应用系统有机组合而成。某个应用系统在上线前,必须在测试环境进行功能测试、性能测试、业务验证等,经过充分测试验证后,才能投产到生产环境。通常每发布一个应用版本,都需要重新搭建一个测试环境,测试环境往往由工作人员根据工作经验,在全手工状态下安装配置。若使得一个应用的环境完全与各上下游应用的环境之间调通,提供正常测试往往需要数天时间。
发明内容
有鉴于此,本公开提供了一种能够自动搭建测试环境的应用的测试环境配置方法和装置。
本公开一方面提供了一种应用的测试环境配置方法,包括:在接收到测试环境配置请求的情况下,获取测试环境的配置信息,该配置信息包括应用的属性信息和测试类型;根据属性信息和测试类型,确定针对测试环境的配置方式;根据配置方式配置得到初始测试环境;以及根据针对应用的配置文件,更新初始测试环境,得到配置后测试环境。
根据本公开的实施例,上述确定针对测试环境的配置方式包括:根据属性信息和测试类型,确定针对应用的服务器类型;在服务器类型为虚拟服务器类型时,确定针对测试环境的配置方式包括克隆方式;以及在服务器类型为物理服务器类型时,确定针对测试环境的配置方式包括数据迁移方式。
根据本公开的实施例,上述属性信息包括应用名称和应用版本信息;确定针对应用的服务器类型包括:根据应用名称、应用版本信息和测试类型,确定应用包括的服务中针对测试环境的服务;以及根据针对测试环境的服务,确定针对应用的服务器类型。
根据本公开的实施例,上述克隆方式包括新增方式和替换方式,确定针对测试环境的配置方式包括:在配置信息中包括目标服务器信息时,确针对测试环境的配置方式为替换方式;以及在配置信息中不包括目标服务器信息时,确定针对测试环境的配置方式为新增方式。
根据本公开的实施例,所述配置信息还包括源测试环境信息;在确定配置方式为数据迁移方式的情况下,根据配置方式配置得到初始测试环境包括:根据源测试环境信息,确定针对源测试环境的数据信息,数据信息包括源测试环境所运行的服务器中存储的源测试环境的程序包;以及将程序包和配置指令通过安全外壳协议发送至预定物理服务器,完成初始测试环境的配置。
根据本公开的实施例,上述配置文件包括至少一个目标配置项;更新初始测试环境包括:确定至少一个目标配置项中各配置项的取值;根据各配置项的取值更新配置文件,得到更新后配置文件;以及根据更新后配置文件更新初始测试环境,得到配置后测试环境。
根据本公开的实施例,上述属性信息包括应用版本信息;确定至少一个目标配置项中各配置项的取值包括:获取各配置项的结构化属性信息,该结构化属性信息指示各配置项所针对的目标应用和目标服务;根据应用版本信息,从预先维护的应用的环境信息中确定目标应用的版本信息;以及从预先存储的关系表中确定与目标应用的版本信息和目标服务均具有关联关系的服务器标识,以作为各配置项的取值,其中,目标应用包括与应用具有关联关系的应用。
根据本公开的实施例,上述配置文件的数量为多个;确定至少一个目标配置项中各配置项的取值包括:遍历多个配置文件,获得多个配置文件中每个配置文件包括的目标配置项;以及确定每个配置文件包括的目标配置项的取值。
根据本公开的实施例,根据针对应用的配置文件,更新初始测试环境包括:根据预先维护的映射关系,确定与针对应用的配置文件具有映射关系的服务和部署路径:以及根据部署路径,通过代理方式将针对应用的配置文件发送至与具有映射关系的服务对应的服务器中。
根据本公开的实施例,上述应用的测试环境配置方法还包括:调用预定部署系统,启动与具有映射关系的服务对应的服务器;以及在启动成功的情况下,根据预定冒烟测试规则,对配置后测试环境进行冒烟测试。
本公开的另一方面提供了一种应用的测试环境配置装置,包括:配置信息获取模块,用于在接收到测试环境配置请求的情况下,获取测试环境的配置信息,该配置信息包括应用的属性信息和测试类型;配置方式确定模块,用于根据属性信息和测试类型,确定针对测试环境的配置方式;配置模块,用于根据配置方式配置得到初始测试环境;以及更新模块,用于根据针对应用的配置文件,更新初始测试环境的,得到配置后测试环境。
本公开的另一方面提供了一种计算机系统,包括:一个或多个处理器;以及存储装置,用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器执行如上所述的应用的测试环境配置方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被处理器执行时用于执行如上所述的应用的测试环境配置方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的应用的测试环境配置方法。
根据本公开的实施例,至少可以部分地避免相关技术中需要根据经验全手工搭建测试环境所存在的搭建效率低下的技术问题。本公开实施例通过根据属性信息和测试类型确定配置方式,并通过根据配置方式自动搭建初始测试环境,可以有效降低测试环境配置所需时间。再者,通过根据应用的配置文件更新初始测试环境,可以避免人工配置更新中需要各工作人员之间频繁交流导致的配置准确性低的问题,并因此可以在一定程度上提高配置准确性。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的应用的测试环境配置方法、装置、系统和介质的应用场景;
图2示意性示出了根据本公开实施例的应用的测试环境配置方法的流程图;
图3示意性示出了根据本公开实施例的更新初始测试环境的流程图;
图4示意性示出了根据本公开实施例的确定各配置项的取值的流程图;
图5示意性示出了根据本公开另一实施例的应用的测试环境配置方法的流程图;
图6示意性示出了根据本公开实施例的用于执行应用的测试环境配置方法的搭建系统的结构框图;
图7示意性示出了图6中的克隆迁移装置得到基础环境的流程图;
图8示意性示出了图6中的信息维护装置维护配置项的流程图;
图9示意性示出了图6中的配置项修改装置替换配置项的流程图;
图10示意性示出了采用图6描述的搭建系统配置测试环境的流程图;
图11示意性示出了根据本公开实施例的应用的测试环境配置装置的结构框图;以及
图12示意性示出了根据本公开实施例的适于执行应用的测试环境配置方法的计算机系统的结构框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
本公开的实施例提供了一种应用的测试环境配置方法,该方法包括:在没收到测试环境配置请求的情况下,获取测试环境的配置信息,该配置信息包括应用的属性信息和测试类型;根据属性信息和测试类型,确定针对测试环境的配置方式;根据配置方式得到初始测试环境;以及根据针对应用的配置文件,更新初始测试环境,得到配置后测试环境。
图1示意性示出了根据本公开实施例的应用的测试环境配置方法、装置、系统和介质的应用场景。需要注意的是,图1所示仅为可以应用本公开实施例的应用场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,该实施例的应用场景100例如可以包括终端设备110、网络120和多个应用服务器131、132、133。
终端设备110可以是包括显示屏器且安装有各种客户端应用的各种电子设备,包括但不限于智能手机、平板电脑、便携式计算机和台式计算机等。该终端设备110例如可以安装有测试环境搭建应用、应用发布平台、即时通信类应用等。
示例性地,该终端设备110安装的测试环境搭建应用例如可以提供有人机交互界面。用户通过该人机交互界面可以选择待测试的应用,并提交测试环境配置请求。在一实施例中,用户还可以通过该人机交互界面选择应用的测试类型,测试类型例如可以包括性能测试、功能测试、回装测试等。
响应于用户提交的测试环境配置请求,终端设备110例如可以根据用户选择的待测试应用及测试类型,通过网络,在应用包括的服务运行所需的应用服务器131、132、133中配置测试环境。
根据本公开的实施例,为了便于实现测试环境的自动配置,该应用场景中例如还可以包括维护有全量版本的应用、全量的应用间关联关系、全量的配置项的服务器。该服务器维护的全量的信息例如可以由不同职位的工作人员设置后上传至该服务器,并分类存储于服务器的不同存储片区。
根据本公开的实施例,为了便于提高用户体验,终端设备110还可以在配置测试环境的过程中,向用户提供查看配置进度、配置日志、查看配置结果和/或使用户中断配置重新提交配置请求的功能入口。
根据本公开的实施例,该应用场景中例如还可以包括与终端设备110通信连接,且能够响应于终端设备110发送的配置请求进行测试环境配置的服务器。
可以理解的是,本公开实施例的应用的测试环境配置方法可以由终端设备110执行,或由与该终端设备110通信连接的服务器执行。相应的,本公开实施例的应用的测试环境配置装置可以设置于终端设备110中,或设置于与终端设备110通信连接的服务器中。
以下将结合图2~图5对本公开实施例的应用的测试环境配置方法进行详细描述。
如图2所示,该实施例的应用的测试环境配置方法可以包括操作S210~操作S240。
在操作S210,在接收到测试环境配置请求的情况下,获取测试环境的配置信息,配置信息包括应用的属性信息和测试类型。
根据本公开的实施例,测试环境配置请求例如可以为响应于用户对终端设备110展示的交互界面中的提交控件的操作而生成的。测试环境的配置信息例如可以是用户通过交互界面输入的信息,该信息包括的应用的属性信息例如可以包括应用名称、应用的版本信息。测试类型例如可以包括性能测试、功能测试、回装测试等。
示例性地,配置信息例如还可以包括测试环境的配置时间,则用户可以指定什么时候进行测试环境的配置。配置信息例如还可以包括源测试环境信息,该源测试环境信息例如可以包括源测试环境所运行的服务器标识,通过该服务器标识的输入,用户可以指定基于已有的源测试环境进行测试环境的配置。配置信息例如还可以包括配置方式,则用户可以指定通过何种配置方式进行测试环境的配置。其中,配置方式例如可以包括克隆方式和数据迁移方式。其中,克隆方式可以是通过直接对已有的测试环境进行克隆,得到待测试应用的测试环境。数据迁移方式可以是通过将源测试环境的安装包发送迁移至服务器中来完成测试环境的配置。
在操作S220,根据属性信息和测试类型,确定针对测试环境的配置方式。
根据本公开的实施例,在用户没有指定配置方式的情况下,可以根据属性信息和测试类型来确定配置方式。
其中,应用一般包括目录数据,该目录数据为应用包括的程序包的目录。该目录例如可以包括根目录和子目录。通过运行程序包例如可以实现应用的一项服务,根目录下的程序包对应实现同一类型的服务。相应地,应用一般有多个服务,例如包括中间件服务、批量服务、数据库服务、编译服务等。其中,中间件是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。属于同一类型的服务对应由同一应用服务器运行程序包实现。本公开实施例可以根据应用包括的服务中需要测试的服务所对应的应用服务器的类型来确定配置方式。
示例性地,该操作S220可以先根据属性信息和测试类型确定针对应用的服务器类型。然后根据针对测试环境的服务来确定针对应用的服务器类型,服务器类型可以包括虚拟服务器类型和物理服务器类型。为了很好的继承上一个测试环境的测试数据并提高测试环境配置效率,在确定了针对应用的服务器类型为虚拟服务器类型时,确定的针对测试环境的配置方式为克隆方式。而在确定针对应用的服务器类型为物理服务器类型时,考虑到无法对物理服务器进行克隆,因此确定的针对测试环境的配置方式为数据迁移方式。
示例性地,针对应用的服务器类型例如可以根据以下方式得到:先根据应用名称、应用版本信息和测试类型,确定应用包括的服务中针对测试环境的服务;然后针对测试环境的服务,确定针对应用的服务器类型。
其中,确定应用包括的服务中针对测试环境的服务例如可以包括先根据属性信息中的应用名称和应用版本信息确定应用包括的服务,然后根据测试类型从服务中挑选得到需要测试的服务,作为针对测试环境的服务。确定针对应用的服务器类型可以先确定针对测试环境的服务所对应的服务器,然后确定该所对应的服务器的服务器类型。服务器类型可以包括虚拟服务器类型和物理服务器类型。
根据本公开的实施例,为了进一步提高测试环境的配置效率,该实施例中,克隆方式例如可以包括替换方式和新增方式。为了对已有的测试环境进行复用,用户可以通过交互界面输入源测试环境信息时,在进行测试环境配置时,可以通过替换方式来对源测试环境所运行的服务器上配置的已有测试环境进行克隆,而在用户未源测试环境信息时,只能通过新增方式对已有的最新配置的测试环境进行克隆,新增得到针对当前待测试应用的新的测试环境。因此,操作S220在确定针对测试环境的配置方式为克隆方式后,还可以进一步地判断获取的测试环境的配置信息中是否包括源测试环境信息。在包括源测试环境信息时,确定针对测试环境的配置方式为克隆方式包括的替换方式。在不包括源测试环境信息时,确定针对测试环境的配置方式为克隆方式包括的新增方式。
根据本公开的实施例,在确定配置方式为克隆方式时,还可以先确定虚拟服务器的类型。该虚拟服务器的类型例如可以至少包括IAA(Infrastructure-as-a-Service,基础设施即服务)类型和VMware类型。该虚拟服务器的类型可以根据服务对应的服务器的类型来确定。针对不同类型的虚拟服务器,在后续通过克隆方式配置得到初始测试环境的方法相似。
在操作S230,根据配置方式配置得到初始测试环境。
根据本公开的实施例,在确定配置方式后,即可采用确定的配置方式对测试环境进行初始配置,即搭建测试环境。
示例性地,在配置方式为克隆方式中的替换克隆时,该操作S230例如可以包括先以源测试环境信息(包括源测试环境所运行的服务器IP)所指示的源服务器为基础,对该源服务器进行克隆。然后使用克隆出的虚拟服务器替换源服务器。
示例性地,在配置方式为克隆方式中的新增克隆时,该操作S230例如可以先以运行最新的测试环境的服务器为源服务器。然后对源服务器进行克隆,最后将克隆出的服务器作为初始测试环境。其中,考虑到不同版本的应用提供的服务相同或相近,因此前述最新的测试环境例如可以是用于测试当前应用的前一个版本的测试环境。
示例性地,在配置方式为数据迁移方式时,获取的测试环境的配置信息例如可以既包括源运行环境信息,也包括物理服务器标识(即目标设备IP),该操作S230例如可以包括:先确定针对源测试环境的数据信息,该数据信息包括源测试环境所运行的服务器中存储的源测试环境的数据包。然后将程序包和配置指令通过安全外壳协议发送至物理服务器标识所指示的预定物理服务器,完成初始测试环境的配置。
在一实施例中,确定针对源测试环境的数据信息例如可以为获取源测试环境信息中服务器标识所指示的服务器中存储的程序包。预定物理服务器例如可以为物理机或加密设备,该可以是预先设定好的能够用于运行针对测试环境的服务的服务器。其中,执行该操作S230的终端设备或服务器例如可以通过SSH(Secure Shell)协议发送程序包。
在操作S240,根据针对应用的配置文件,更新初始测试环境,得到配置后测试环境。
根据本公开的实施例,该操作S240例如可以为通过将针对应用的配置文件发送至操作S230中克隆得到的虚拟服务器或者预定物理服务器,从而实现对初始测试环境的更新。
根据本公开的实施例,为了便于测试环境的运行,本实施例可以在应用测试之前,预先维护有配置文件与应用包括的服务、及部署路径之间的映射关系。其中,部属路径为服务对应的服务器中存储配置文件的路径。该操作S240在根据配置文件更新初始测试环境时,例如可以先根据维护的映射关系,确定与针对应用的配置文件具有映射关系的服务和部署路径。然后根据部署路径将针对应用的配置文件发送至具有映射关系的服务所对应的服务器。根据本公开的实施例,在发送配置文件时,具体可以将针对应用的配置文件和部署路径发送给具有映射关系的服务所对应的服务器,以使得该服务器根据部署路径存储配置文件。
示例性地,在发送配置文件时,例如还可以通过代理方式将配置文件发送至具有映射关系的服务所对应的服务器中。其中,代理可以采用预先部署的任意的代理,例如可以采用proxy代理。
根据本公开的实施例,考虑到在应用的配置文件中通常包括有端口、线程并发数、上游应用的节点服务器地址、下游应用的节点服务器地址、密码等作为变量的配置项。该些配置项中包括通常变动多、配置繁琐的配置项,例如上游应用的节点服务器地址、下游应用的节点服务器地址。为了避免人工更改该些变动多的配置项导致的测试环境配置效率低下的问题,该实施例可以先对针对应用的配置文件进行更新,在更新配置文件后再对测试环境进行更新。相应地,操作S240例如可以通过以下图3描述的流程来实现。
图3示意性示出了根据本公开实施例的更新初始测试环境的流程图。
如图3所示,该实施例中更新初始测试环境的操作例如可以包括操作S341~操作S343。
在操作S341,确定至少一个目标配置项中各配置项的取值。
根据本公开的实施例,目标配置项例如可以为前述描述的变动多、配置繁琐的配置项。为了便于获取目标配置项的取值,操作S341例如可以先确定配置文件中包括的目标配置项。然后再获取每个配置项的取值。在一实施例中,目标配置项为上游应用或下游应用对应的服务器标识(服务器IP地址)。则该目标配置项的取值例如可以从预先维护的应用的环境信息中获取。该环境信息可以包括有上下游应用的关联关系。
根据本公开的实施例,考虑到上下游应用也包括多个服务,且不同类型的服务对应的服务器是不同的。因此,该实施例在确定各配置项的取值时,还可以先确定各配置项所在的配置文件属于多个服务中的哪个服务。然后再根据配置文件所属的服务,确定配置文件所属的服务对应的服务器的标识为该各配置项的取值。以此,在应用运行过程中,可以通过各配置项的取值实现与上下游应用的服务对应的服务器的交互,使得该应用能够与上下游应用配合运行,向用户提供应用包括的服务。
根据本公开的实施例,考虑到不同版本的上下游应用所包括的服务、以及服务对应的服务器可能有所不同。因此,该实施例在确定各配置项的取值时,例如可以先确定与应用相关联的上下游应用的版本信息。然后再根据版本信息确定服务所对应的服务器的标识。最后将服务器的标识作为各配置项的取值。
根据本公开的实施例,为了便于获取各配置项的取值,该实施例中,在软件系统中例如还可以维护有全量的配置项。针对每个配置项,维护有属性信息。每个配置项的属性信息例如可以包括:配置项名称、配置项描述、配置项的结构化属性信息。其中,确定配置文件中包括的目标配置项时,例如可以根据配置项名称来得到目标配置项。配置项描述例如可以为简单且通俗易懂的配置项字面描述。在一实施例中,某个配置项的配置项描述可以为:配置应用在上海园区的服务A的服务器IP地址。配置项结构化描述例如可以为采用JSON(JavaScript Object Notation)格式的方式描述该配置项需要配置的值。在一实施例中,该配置项的结构化属性信息例如可以包括:应用名称、服务名称、服务描述、部署园区等值。其中,应用名称例如可以为该配置项所属的应用的名称。服务名称为设置有该配置项的服务的名称。服务描述为设置有该配置项的服务的简介描述信息。部署园区可以为部属有设置该配置项的服务的园区名称。在一实施例中,某配置项的结构化属性信息例如可以如下所示:
“appName”:F-AAM;(该项为应用名称)
“nodeName”:110000000020577;(该项为服务名称)
“node_param_name”:个人核对节点.非标准应用服务节点.电子银行统一通行证;(该项为服务的简介)
“zone”:外高桥园区。(部属有服务的园区名称)
可以理解的是,上述结构化属性信息包括的内容仅作为示例以利于理解本公开,本公开可以根据不同的配置项定义不同的JSON字段。但每个配置项的结构化属性信息应该指示该配置项所针对的目标应用和目标服务。即结构化属性信息至少应包括上述的“appName”字段和“nodeName”字段。
根据本公开的实施例,为了便于确定配置文件中的目标配置项,在研发人员提供的应用的配置文件中,例如可以在配置文件的目标配置项处添加有预定标识。该操作S341在确定配置文件包括的目标配置项时,可以通过该预定标识来从配置文件中查找目标配置项。在一实施例中,预定标识例如可以为$#{}。示例性地,对于某添加预定标识的配置项,在配置文件中可以表示为:
<property name=“ip”>
<value>$#{ENV_SYS01_SYS02_SERVICE_URL}</value>
</property>
其中,花括号中的内容为配置项的名称。
根据本公开的实施例,每个应用往往包括多个配置文件,则该操作S341可以通过遍历多个配置文件,来获取得到每个配置文件包括的目标配置项。然后再确定每个配置文件包括的目标配置项的取值。
根据本公开的实施例,该操作S341例如可以通过后续图4描述的流程来实现。在此不再赘述。
在操作S342,根据各配置项的取值更新配置文件,得到更新后配置文件。
在操作S343,根据更新后配置文件更新初始测试环境,得到配置后测试环境。
根据本公开的实施例,在确定了各配置项的取值后,在该操作S342例如可以为将各配置项的取值赋值为配置文件中对应的配置项,得到更新后的配置文件。随后根据前述确定的具有映射关系的服务和部署路径,通过代理方式将更新后的配置文件发送至与具有映射关系的服务对应的服务器中,实现对初始测试环境的更新。
图4示意性示出了根据本公开实施例的确定各配置项的取值的流程图。
如图4所示,确定各配置项的取值的操作S341例如可以包括操作S4411~操作S4413。
在操作S4411,获取各配置项的结构化属性信息,该结构化属性信息指示各配置项所针对的目标应用和目标服务。各配置项的结构化属性信息如前文所述,可以由软件系统维护。
在操作S4412,根据应用版本信息,从预先维护的应用的环境信息中确定目标应用的版本信息。
根据本公开的实施例,软件系统例如可以维护有各应用的版本投产时间点,该投产时间点是判断应用间环境连接关系的根本。再者,软件系统可以根据应用的投产时间点维护有各应用的环境信息。
示例性地,环境信息例如可以通过以下方式维护得到:对于应用SYS01,与其具有上下游连接关系的应用包括SYS02和SYS03。假定软件系统已维护的应用SYS01是2020年2月5日投产的版本,已维护的应用SYS02是2020年2月10日投产的版本,已维护的应用SYS03是2020年2月15日投产的版本。在研发人员正在进行X需求的应用开发时,应用SYS01和应用SYS02应用均有修改,且X需求的应用将于2020年3月15日投产。则软件系统中将会有应用SYS01和应用SYS02在2020年3月15日投产的版本,且应用SYS01和SYS02会在各自2020年3月15日的版本对应的测试环境中进行测试。在一实施例中,若在X需求的应用开发投产之前,应用SYS03连接了一个Y需求的应用开发,且Y需求的应用需要在2020年3月12日投产,则软件系统中会有应用SYS03在2020年3月12日投产的版本。因此,应用SYS01在2020年3月15日投产的版本的环境信息如下:与应用SYS02在2020年3月15日投产的版本建立有连接,与应用SYS03在2020年3月12日投产的版本建立有连接。在一实施例中,若应用SYS03连接的Y需求的应用是在2020年3月16日投产的,即晚于X需求的应用的投产日期,则应用SYS01在2020年3月15日投产的版本的环境信息如下:与应用SYS02在2020年3月15日投产的版本建立有连接,与应用SYS03在2020年2月15日投产的版本建立有连接。
通过该软件系统维护的信息,操作S4412可以根据应用版本信息,从应用等环境信息中定位得到与具有该应用版本信息的应用具有连接的其他应用的版本信息。然后从其他应用的版本信息中查找得到目标应用的版本信息。
在操作S4413,从预先存储的关系表中确定与目标应用的版本信息和目标服务均具有关联关系的服务器标识,以作为各配置项的取值。
根据本公开的实施例,软件系统例如可以预先存储有全量的应用基础信息。该基础信息包括应用名称、应用的版本信息、应用包括的服务的中文名称、应用包括的各服务对应的服务器IP、应用包括的服务所部署的园区名称等。由于不同版本的应用的基础信息不同,因此同一版本的基础信息中各信息的存储方式可以为关系表形式,以与版本信息一一对应的建立有关联关系。
操作S4413可以是先根据目标应用的版本信息查找得到目标应用的基础信息。然后从该基础信息中查找得到目标服务对应的服务器标识。最后将查找得到的服务器标识作为配置项的取值。
根据本公开的实施例,在通过操作S4413未获取到服务器标识时,本实施例还可以向配置项分配预设的默认值。
根据本公开的实施例,在得到配置后的测试环境后,为了基于测试环境对应用进行测试的稳定性,该实施例还可以对测试环境进行冒烟测试。
图5示意性示出了根据本公开另一实施例的应用的测试环境配置方法的流程图。
如图5所示,该实施例的应用的测试环境配置方法除了操作S210~操作S240外,还可以包括操作S550~操作S560。
在操作S550,调用预定部署系统,启动与具有映射关系的服务对应的服务器。
根据本公开的实施例,该操作S550例如可以是直接调用企业内的部署系统,根据前述配置文件与应用包括的服务、及部署路径之间的映射关系,根据部署路径来启动根据配置文件对应的服务所对应的服务器。其中,部署系统中定义了所有应用的启动策略。
根据本公开的实施例,该操作S550之后还可以根据服务器的反馈信息来判断服务对应的服务器是否启动成功。若启动未成功,则需要人工介入,来检查是否存在系统故障等,待人工介入排除故障后,重新执行操作S550,以对服务器进行重新启动。在服务器启动成功后,即可执行操作S560。
在操作S560,在启动成功的情况下,根据预定冒烟测试规则,对所述配置后测试环境进行冒烟测试。
根据本公开的实施例,该操作S560例如可以调用企业内已有的环境冒烟调度系统,以及为该调度环境冒烟调度系统预定的冒烟检查案例,对配置后的测试环境进行冒烟测试。示例性地,环境冒烟调度系统例如可以是采用Jenkins进行环境冒烟检查案例的调用及运行。其中,Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具。其中,冒烟检查案例例如可以包括业务类案例和系统类案例。
在进行冒烟测试后,该实施例还可以根据测试结果确定测试环境是否正常运行。若能正常运行,说明测试环境已就绪,可以安排测试工作。若不能正常运行,则需要人工干涉确定是否存在配置错误或系统故障,并进行人工修正。在修正后重新执行操作S560进行冒烟测试。
图6示意性示出了根据本公开实施例的用于执行应用的测试环境配置方法的搭建系统的结构框图。
如图6所示,该实施例的搭建系统600包括访问请求装置610、克隆迁移装置620、静态数据迁移装置630、信息维护装置640、配置项修改装置650、配置部署装置660、服务启动装置670、环境冒烟装置680组成。
访问请求装置610是搭建系统的输入及输出装置,提供用户使用的人机交互界面。作为输入装置,用户可以通过该访问请求装置610发起各应用的测试环境搭建请求等操作。作为输出装置,用户可直接在该访问请求装置610查看搭建进度、查看搭建日志、中断重提、查看搭建结果数据。
克隆迁移装置620例如可以包括IAAS新增克隆单元、IAAS替换克隆单元、VMWARE新增克隆单元、VMWARE替换克隆单元。IAAS新增克隆单元用于采用新增方式搭建设备类型为IAAS的基础环境。IAAS替换克隆单元用于采用替换方式搭建设备类型为IAAS的基础环境。VMWARE新增克隆单元用于采用新增方式搭建设备类型为VMWARE的基础环境。VMWARE替换克隆单元用于采用替换方式搭建设备类型为VMWARE的基础环境。该克隆迁移装置620克隆得到的基础环境为前述操作S230得到的初始测试环境。该克隆迁移装置620例如可以通过后续图7描述的流程得到基础环境。
静态数据迁移装置630包括数据打包单元、数据传输单元、数据解包单元。该静态数据迁移装置630用于采用数据迁移方式配置得到初始测试环境。数据打包单元能够与访问请求装置610交互,且可以通过SSH协议连接源测试环境服务器(即搭建当前测试环境所依据的源测试环境所在的服务器)。数据打包单元用于响应于测试环境搭建请求,对源测试环境服务器中的目录数据进行打包,得到ZIP压缩包。数据传输单元用于连接到目标设备(前述的预定物理服务器),用于对ZIP数据包进行传输。数据解包单元也连接至目标设备,用于在目标设备接收到ZIP数据包后,对ZIP包进行解压,得到初始测试环境。
信息维护装置640包括配置项管理单元、配置项结构化属性信息单元、版本管理单元、环境管理单元。配置项管理单元管理了应用版本的全量配置项。配置项按4个要素进行管理,包含配置名、配置项默认值、配置项结构化属性信息、配置项描述。配置项结构化属性信息单元用于生成配置项的结构化属性信息。版本管理单元用于管理每个应用的所有版本的版本信息(包括投产时间点)。环境管理单元,用于管理每个应用的测试环境,该环境管理单元维护有全量的应用基础信息,主要包括应用名称、应用包括的服务对应的服务器IP、应用包括的服务的名称、应用投产日期、服务部属园区等信息。该信息维护装置640例如可以通过后续图8描述的流程进行配置项维护。
配置项修改装置650包括配置文件遍历单元和配置项替换单元。配置文件遍历单元用于遍历当前版本的应用包括的配置目录下的所有配置文件。配置项替换单元用于对已标识的变量进行全量替换。该配置项修改装置650例如可以通过后续图9描述的流程进行配置项替换。
配置部署装置660包括配置文件定义单元、配置文件传输单元。配置文件定义单元管理了每个配置文件需要所属哪个应用包括的哪个服务的服务名称和部署路径。配置文件传输单元用于根据配置文件所属的服务名称和部署路径,通过调用预定部属系统向所属的服务对应的应用服务器发送配置文件,实现测试环境的更新。
服务启动装置670用于执行前述图5描述的操作S550,在此不再赘述。
环境冒烟装置680用于执行前述图5描述的操作S560,在此不再赘述。可以理解的是,在根据冒烟测试得到测试结果后,例如还可以将测试结果作为测试环境搭建结果反馈给访问请求装置610,以供展示。
根据本公开的实施例,通过该搭建系统,进行测试环境配置的流程如后续图10所示,在此不再赘述。
图7示意性示出了图6中的克隆迁移装置得到基础环境的流程图。
如图7所示,克隆迁移装置620得到基础环境的流程可以包括操作S701~操作S711。
在操作S701,接收用户通过访问请求装置610发起的克隆请求(输入的配置信息中包括用户选择的配置方式:克隆方式)。
在操作S702,软件系统后台判断克隆的源设备是ISSA设备还是VMware设备。具体地,后台可以根据系统台账登记的服务器类型来判断该源设备的类型。
在操作S703,在判断结果为源设备为VMware设备的情况下,继续判断该克隆方式是通过新增方式还是通过替换方式来实现。
在操作S704,在判断结果为源设备为ISSA设备的情况下,继续判断该克隆方式是通过新增方式还是通过替换方式来实现。
在操作S705,在操作S704的判断结果为通过替换方式实现时,发送替换请求至ISSA替换克隆单元进行源设备的克隆。
在操作S706,在操作S704的判断结果为通过新增方式实现时,发送新增请求至ISSA新增克隆单元进行源设备的克隆。
在操作S707,在操作S703的判断结果为通过替换方式实现时,发送替换请求至VMware替换克隆单元进行源设备的克隆。
在操作S708,在操作S703的判断结果为通过新增方式实现时,发送新增请求至VMware新增克隆单元进行源设备的克隆。
在操作S709,系统定时查询克隆进度,向访问请求装置610反馈克隆结果和克隆日志,以对克隆结果进行展示。
在操作S710,根据克隆结果判断是否成功克隆。
在操作S711,在未克隆成功(克隆失败)的情况下,将克隆结果和克隆日志发送给搭建系统的管理员,以进行故障分析排查。
图8示意性示出了图6中的信息维护装置维护配置项的流程图。
如图8所示,信息维护装置640维护配置项的流程可以包括操作S801~操作S810。
在操作S801,继承上一个版本的全量配置项。
在操作S802,判断该版本的应用是否有需要新增或删除的配置项。该操作S802可以是确定与搭建系统通信连接的开发系统是否接收到响应于用户操作生成的配置项新增指令或配置项删除指令。若是,则执行操作S803,否则跳转至操作S804。
在操作S803,响应于配置项新增指令或配置项删除指令对配置项进行新增或删除。
在操作S804,生成该版本的应用的全量配置项。
在操作S805,定义配置项属性信息。该操作S805可以是响应于用户操作,分别定义得到配置项的配置项名称、配置项默认值、配置项描述和配置项结构化属性信息。其中,配置项名称是从配置文件中抽取出来的需要修改的配置项的名称。配置项默认值为在通过前述操作S4411~操作S4413未得到配置项的取值时,为配置项分配的默认值。配置项描述和配置项结构化属性信息如前文所述,在此不再赘述。
在操作S806,根据配置项的结构化属性信息,确定配置项对应的服务和应用。
在操作S807,从版本管理单元维护的应用的版本信息中,获取配置项对应的应用的版本信息,并根据应用的版本信息和对应的服务从环境管理单元中确定服务对应的服务器IP,以该服务器IP作为配置项的取值。
在操作S808,判断是否从环境管理单元中获取到配置项的取值。在获取到的情况下,执行操作S809。在未获取到的情况下,执行操作S810。
在操作S809,使用获取到的服务器IP作为配置项的取值。
在操作S810,采用默认值或人工设定的值作为配置项的取值。
图9示意性示出了图6中的配置项修改装置替换配置项的流程图。
如图9所示,配置项修改装置650替换配置文件中的配置项的流程可以包括操作S901~操作S904。
在操作S901,从应用中读取配置文件。
在操作S902,读取配置文件中具有预定标识的配置项,并采用通过前述图8描述的流程得到的配置项的取值对配置文件中的配置项进行替换修改。
在操作S903,判断该配置文件中的所有配置项是否均被遍历完。若是,则执行操作S904。若否,则返回操作S902,继续读取配置文件中具有预定标识的下一配置项以进行替换修改。
在操作S904,判断是否已完成应用包括的所有配置文件的遍历。若是,则结束遍历。若否,则跳转至操作S901,读取应用中的下一配置文件,并继续执行操作S902~操作S904,直至应用包括的所有配置文件均被遍历。
图10示意性示出了采用图6描述的搭建系统配置测试环境的流程图。
如图10所示,通过图6描述的搭建系统配置测试环境的整体流程例如可以包括操作S1001~操作S1008。
在操作S1001,用户发起环境配置请求。用户可以在访问请求装置610提供的交互界面中填写环境配置的基础信息,例如可以包括目标设备(运行测试环境的服务器)、源测试环境信息(即需要以哪套环境为基础来搭建)、环境类型(可以为功能环境、性能环境或其他类型的环境)、环境触发配置时间等。请求发起后即可由搭建系统执行后续的配置步骤。此外,该搭建系统还可以封装由API接口,以供其他系统自动调用进行环境配置。例如,在项目管理系统中响应于研发人员的触发生成调用请求,以使得项目管理系统通过调用API接口自动触发测试环境的配置流程。
在操作S1002,根据源测试环境对应的服务器的类型判断采用克隆方式还是数据迁移方式进行测试环境配置。该判断主要根据台账登记的源服务器的类型来进行判断。如果源服务器为VMware或者ISSA,则采用克隆方式。如果源服务器是物理机或加密设备等,则采用数据迁移方式。
在操作S1003,通过克隆或者数据迁移方式完成基础环境的配置。此过程如果发生网络中断或者其他未知原因导致克隆或迁移中断则需要人工介入进行排查解决。
在操作S1004,根据配置项的结构化属性信息和版本管理单元,从环境管理单元自动获取配置项的取值。无法获取到的采用默认值或者人工配置。该操作S1004详见前述图8描述的流程,在此不再赘述。
在操作S1005,遍历当前待测试的应用的所有配置文件,对配置文件里的所有具有预定标识的配置项自动修改替换。
在操作S1006,通过已有的部署系统,把修改好的配置文件刷新到S1003配置好的基础环境,完成测试环境的配置更新。
在操作S1007,通过已有的部署系统,调用应用系统服务启动策略,完成测试环境的服务启动。若由于系统故障导致服务启动报错,则由人工介入进行检查。
在操作S1008,调用已有的环境冒烟案例,对测试环境进行检查。若检查失败的再由人工进行排查。
至此,完成测试环境的配置,配置好的测试环境可以直接用于对待测试的应用进行测试。
图11示意性示出了根据本公开实施例的应用的测试环境配置装置的结构框图。
如图11所示,该实施例的应用的测试环境配置装置1100包括配置信息获取模块1110、配置方式确定模块1120、配置模块1130和更新模块1140。
配置信息获取模块1110用于在接收到测试环境配置请求的情况下,获取测试环境的配置信息,该配置信息包括应用的属性信息和测试类型。该配置信息获取模块1110例如可以用于执行图2描述的操作S210,在此不再赘述。
配置方式确定模块1120用于根据属性信息和测试类型,确定针对测试环境的配置方式。该配置方式确定模块1120例如可以用于执行图2描述的操作S220,在此不再赘述。
配置模块1130用于根据配置方式配置得到初始测试环境。该配置模块1130例如可以用于执行图2描述的操作S230,在此不再赘述。
更新模块1140用于根据针对应用的配置文件,更新初始测试环境的,得到配置后测试环境。更新模块1140例如可以用于执行图2描述的操作S240,在此不再赘述。
根据本公开的实施例,更新模块1140具体例如可以用于执行图3描述的流程来实现对初始测试环境的更新,在此不再赘述。
根据本公开的实施例,更新模块1140具体例如还可以用于通过执行图4描述的流程来确定各配置项的取值,在此不再赘述。
根据本公开的实施例,上述应用的测试环境配置装置1100例如还可以包括服务启动模块和冒烟测试模块。服务启动模块和冒烟测试模块例如可以分别用于执行图5描述的操作S550和操作S560,在此不再赘述。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图12示意性示出了根据本公开实施例的适于执行应用的测试环境配置方法的计算机系统的结构框图。
如图12所示,根据本公开实施例的计算机系统1200包括处理器1201,其可以根据存储在只读存储器(ROM)1202中的程序或者从存储部分1208加载到随机访问存储器(RAM)1203中的程序而执行各种适当的动作和处理。处理器1201例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器1201还可以包括用于缓存用途的板载存储器。处理器1201可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 1203中,存储有计算机系统1200操作所需的各种程序和数据。处理器1201、ROM 1202以及RAM 1203通过总线1204彼此相连。处理器1201通过执行ROM 1202和/或RAM1203中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 1202和RAM 1203以外的一个或多个存储器中。处理器1201也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,计算机系统1200还可以包括输入/输出(I/O)接口1205,输入/输出(I/O)接口1205也连接至总线1204。计算机系统1200还可以包括连接至I/O接口1205的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1206;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1207;包括硬盘等的存储部分1208;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网的网络执行通信处理。驱动器1210也根据需要连接至I/O接口1205。可拆卸介质1211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1210上,以便于从其上读出的计算机程序根据需要被安装入存储部分1208。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1209从网络上被下载和安装,和/或从可拆卸介质1211被安装。在该计算机程序被处理器1201执行时,执行本公开实施例的计算机系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 1202和/或RAM 1203和/或ROM 1202和RAM 1203以外的一个或多个存储器。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (9)
1.一种应用的测试环境配置方法,包括:
在接收到测试环境配置请求的情况下,获取测试环境的配置信息,所述配置信息包括所述应用的属性信息和测试类型;
根据所述属性信息和所述测试类型,确定针对所述测试环境的配置方式;
根据所述配置方式配置得到初始测试环境;以及
根据针对所述应用的配置文件,更新所述初始测试环境,得到配置后测试环境,
其中,所述确定针对所述测试环境的配置方式包括:
根据所述属性信息和所述测试类型,确定针对所述应用的服务器类型;
在所述服务器类型为虚拟服务器类型时,确定针对所述测试环境的配置方式包括克隆方式;以及
在所述服务器类型为物理服务器类型时,确定针对所述测试环境的配置方式包括数据迁移方式,
其中,所述克隆方式包括新增方式和替换方式,所述确定针对所述测试环境的配置方式包括:
在所述配置信息中包括目标服务器信息时,确针对所述测试环境的配置方式为替换方式;以及
在所述配置信息中不包括目标服务器信息时,确定针对所述测试环境的配置方式为新增方式;
其中,所述配置信息还包括源测试环境信息;在确定所述配置方式为数据迁移方式的情况下,根据所述配置方式配置得到初始测试环境包括:
根据源测试环境信息,确定针对源测试环境的数据信息,所述数据信息包括所述源测试环境所运行的服务器中存储的所述源测试环境的程序包;以及
将所述程序包和配置指令通过安全外壳协议发送至预定物理服务器,完成初始测试环境的配置;
其中,所述配置文件包括至少一个目标配置项;更新所述初始测试环境包括:
确定所述至少一个目标配置项中各配置项的取值;
根据所述各配置项的取值更新所述配置文件,得到更新后配置文件;以及
根据所述更新后配置文件更新所述初始测试环境,得到配置后测试环境。
2.根据权利要求1所述的方法,其中,所述属性信息包括应用名称和应用版本信息;确定针对所述应用的服务器类型包括:
根据所述应用名称、所述应用版本信息和所述测试类型,确定所述应用包括的服务中针对所述测试环境的服务;以及
根据针对所述测试环境的服务,确定针对所述应用的服务器类型。
3.根据权利要求1所述的方法,其中,所述属性信息包括应用版本信息;所述确定所述至少一个目标配置项中各配置项的取值包括:
获取各配置项的结构化属性信息,所述结构化属性信息指示所述各配置项所针对的目标应用和目标服务;
根据所述应用版本信息,从预先维护的应用的环境信息中确定所述目标应用的版本信息;以及
从预先存储的关系表中确定与所述目标应用的版本信息和所述目标服务均具有关联关系的服务器标识,以作为所述各配置项的取值,
其中,所述目标应用包括与所述应用具有关联关系的应用。
4.根据权利要求1所述的方法,其中,所述配置文件的数量为多个;所述确定所述至少一个目标配置项中各配置项的取值包括:
遍历多个配置文件,获得所述多个配置文件中每个配置文件包括的目标配置项;以及
确定所述每个配置文件包括的目标配置项的取值。
5.根据权利要求1所述的方法,其中,根据针对所述应用的配置文件,更新所述初始测试环境包括:
根据预先维护的映射关系,确定与针对所述应用的配置文件具有映射关系的服务和部署路径:以及
根据所述部署路径,通过代理方式将针对所述应用的配置文件发送至与具有映射关系的服务对应的服务器中。
6.根据权利要求5所述的方法,还包括:
调用预定部署系统,启动与具有映射关系的服务对应的服务器;以及
在启动成功的情况下,根据预定冒烟测试规则,对所述配置后测试环境进行冒烟测试。
7.一种应用的测试环境配置装置,包括:
配置信息获取模块,用于在接收到测试环境配置请求的情况下,获取测试环境的配置信息,所述配置信息包括所述应用的属性信息和测试类型;
配置方式确定模块,用于根据所述属性信息和所述测试类型,确定针对所述测试环境的配置方式;
配置模块,用于根据所述配置方式配置得到初始测试环境;以及
更新模块,用于根据针对所述应用的配置文件,更新所述初始测试环境的,得到配置后测试环境,
其中,所述确定针对所述测试环境的配置方式包括:
根据所述属性信息和所述测试类型,确定针对所述应用的服务器类型;
在所述服务器类型为虚拟服务器类型时,确定针对所述测试环境的配置方式包括克隆方式;以及
在所述服务器类型为物理服务器类型时,确定针对所述测试环境的配置方式包括数据迁移方式,
其中,所述克隆方式包括新增方式和替换方式,所述确定针对所述测试环境的配置方式包括:
在所述配置信息中包括目标服务器信息时,确针对所述测试环境的配置方式为替换方式;以及
在所述配置信息中不包括目标服务器信息时,确定针对所述测试环境的配置方式为新增方式;
其中,所述配置信息还包括源测试环境信息;在确定所述配置方式为数据迁移方式的情况下,根据所述配置方式配置得到初始测试环境包括:
根据源测试环境信息,确定针对源测试环境的数据信息,所述数据信息包括所述源测试环境所运行的服务器中存储的所述源测试环境的程序包;以及
将所述程序包和配置指令通过安全外壳协议发送至预定物理服务器,完成初始测试环境的配置;
其中,所述配置文件包括至少一个目标配置项;更新所述初始测试环境包括:
确定所述至少一个目标配置项中各配置项的取值;
根据所述各配置项的取值更新所述配置文件,得到更新后配置文件;以及
根据所述更新后配置文件更新所述初始测试环境,得到配置后测试环境。
8.一种计算机系统,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~6中任一项所述的方法。
9.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010695629.8A CN111831567B (zh) | 2020-07-17 | 2020-07-17 | 应用的测试环境配置方法、装置、系统和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010695629.8A CN111831567B (zh) | 2020-07-17 | 2020-07-17 | 应用的测试环境配置方法、装置、系统和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111831567A CN111831567A (zh) | 2020-10-27 |
CN111831567B true CN111831567B (zh) | 2023-08-22 |
Family
ID=72922901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010695629.8A Active CN111831567B (zh) | 2020-07-17 | 2020-07-17 | 应用的测试环境配置方法、装置、系统和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111831567B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112968809B (zh) * | 2021-02-02 | 2022-09-13 | 杭州安恒信息技术股份有限公司 | 一种系统稳定性和兼容性的测试方法和装置 |
CN113409908B (zh) * | 2021-06-28 | 2023-05-12 | 浙江太美医疗科技股份有限公司 | 临床医疗数据的迁移方法、装置及计算机可读介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108108297A (zh) * | 2016-11-25 | 2018-06-01 | 腾讯科技(深圳)有限公司 | 自动化测试的方法和装置 |
CN109542757A (zh) * | 2018-09-29 | 2019-03-29 | 中国平安人寿保险股份有限公司 | 接口测试环境确定方法、装置、电子设备及存储介质 |
CN110059001A (zh) * | 2019-03-15 | 2019-07-26 | 平安普惠企业管理有限公司 | 程序自动升级控制方法、装置、计算机设备及存储介质 |
CN110413528A (zh) * | 2019-07-31 | 2019-11-05 | 中国工商银行股份有限公司 | 测试环境智能配置方法及系统 |
-
2020
- 2020-07-17 CN CN202010695629.8A patent/CN111831567B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108108297A (zh) * | 2016-11-25 | 2018-06-01 | 腾讯科技(深圳)有限公司 | 自动化测试的方法和装置 |
CN109542757A (zh) * | 2018-09-29 | 2019-03-29 | 中国平安人寿保险股份有限公司 | 接口测试环境确定方法、装置、电子设备及存储介质 |
CN110059001A (zh) * | 2019-03-15 | 2019-07-26 | 平安普惠企业管理有限公司 | 程序自动升级控制方法、装置、计算机设备及存储介质 |
CN110413528A (zh) * | 2019-07-31 | 2019-11-05 | 中国工商银行股份有限公司 | 测试环境智能配置方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111831567A (zh) | 2020-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108551487B (zh) | PaaS平台的应用部署方法、装置、服务器及存储介质 | |
CN107766126B (zh) | 容器镜像的构建方法、系统、装置及存储介质 | |
CN111831325B (zh) | 应用中配置文件的更新方法、装置、系统和介质 | |
CN110096424B (zh) | 测试的处理方法、装置、电子设备及存储介质 | |
CN113434158B (zh) | 一种大数据组件的自定义管理方法、装置、设备及介质 | |
CN110673923A (zh) | Xwiki系统配置方法、系统及计算机设备 | |
CN111831567B (zh) | 应用的测试环境配置方法、装置、系统和介质 | |
US20230161614A1 (en) | Detecting vulnerabilities in configuration code of a cloud environment utilizing infrastructure as code | |
US20170109257A1 (en) | Use case driven stepping component automation framework | |
US20230086377A1 (en) | Dynamic automation of prerequisite component deployment in disconnected environments | |
CN112860282A (zh) | 集群插件的升级方法、装置和服务器 | |
US10467003B1 (en) | Divided execution and storage of scripts | |
KR102118487B1 (ko) | 지속적인 통합 및 배포를 위한 컨테이너 기반 애플리케이션의 자동 품질검사 시스템 및 방법 | |
CN114168179A (zh) | 微服务管理方法、装置、计算机设备和存储介质 | |
CN110727575B (zh) | 一种信息处理方法、系统、装置、以及存储介质 | |
US20230418623A1 (en) | Application remodeling method, system, cluster, medium, and program product | |
US11403145B1 (en) | Enforcing system configuration freeze of services deployed via continuous delivery on datacenters configured in cloud platforms | |
CN111712795A (zh) | 用于评估应用部署的方法、设备、计算机程序产品和可读介质 | |
CN106708727B (zh) | 一种分布式病毒特征样本验证方法及系统 | |
JP6904364B2 (ja) | システム構築支援装置、方法およびプログラム | |
US11748686B1 (en) | Automated onboarding service | |
CN114500268B (zh) | chart资源的部署方法、装置、服务器及存储介质 | |
US11954469B2 (en) | Bases for pattern-based cloud computing | |
US20230259347A1 (en) | Container based generation of inputs for generic functions | |
CN112783757B (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 |