业务测试环境的生成方法和系统、业务测试的方法、装置和系统与流程

文档序号:11147734阅读:548来源:国知局
业务测试环境的生成方法和系统、业务测试的方法、装置和系统与制造工艺
本发明涉及计算机
技术领域
,特别是涉及一种业务测试环境的生成方法和系统、业务测试的方法、装置和系统。
背景技术
:容器是从镜像创建的运行实例,它可被启动、开始、停止、删除。每个容器都是相互隔离的,保证安全的平台,经常采用容器搭建研发测试环境。传统的测试环境,需要测试一个模块时,需要将此测试模块和其上下游依赖模块对应的所有二进制文件和路由配置都叠加生成新的镜像,每测试一个新的模块,都需要生成一个新的镜像,进而通过镜像生成容器,业务链路复杂时,镜像制造复杂,且容器的生成过程耗时,生成难度大,成本高。技术实现要素:基于此,有必要针对上述技术问题,提供一种业务测试环境的生成方法和系统、业务测试的方法、装置和系统,能降低生成业务测试环境的难度和成本。一种业务测试环境的生成方法,所述方法包括:获取完整业务对应的业务模块文件,配置所述完整业务对应的模块的路由目的地址为中转服务地址,根据所述业务模块文件生成基础环境;获取完整业务中的待测模块对应的待测模块文件,根据所述待测模块文件生成对应的业务模块容器;配置待测模块对应的待测路由关系,所述待测路由关系包括预设关键字与匹配的业务模块容器的关系,配置非待测模块对应的默认路由关系,所述默认路由关系包括默认关键字与对应的基础环境的关系。一种业务测试环境的生成系统,所述系统包括:基础环境生成模块,用于获取完整业务对应的业务模块文件,配置所述完整业务对应的模块的路由目的地址为中转服务地址,根据所述业务模块文件生成基础环境;业务模块容器生成模块,用于获取完整业务中的待测模块对应的待测模块文件,根据所述待测模块文件生成对应的业务模块容器;中转路由关系配置模块,用于配置待测模块对应的待测路由关系,所述待测路由关系包括预设关键字与匹配的业务模块容器的关系,配置非待测模块对应的默认路由关系,所述默认路由关系包括默认关键字与对应的基础环境的关系。一种业务测试的系统,所述系统包括:基础环境服务器,用于获取完整业务对应的业务模块文件,配置所述完整业务对应的模块的路由目的地址为中转服务地址,根据所述业务模块文件生成基础环境;容器服务器,用于获取完整业务中的待测模块对应的待测模块文件,根据所述待测模块文件生成对应的业务模块容器;中转服务器,用于配置待测模块对应的待测路由关系,所述待测路由关系包括预设关键字与匹配的业务模块容器的关系,配置非待测模块对应的默认路由关系,所述默认路由关系包括默认关键字与对应的基础环境的关系。上述业务测试环境的生成方法和装置、业务测试的系统,通过获取完整业务对应的业务模块文件,配置完整业务对应的模块的路由目的地址为中转服务地址,使得基础环境的各个模块之间存在中转服务,根据业务模块文件生成基础环境,获取完整业务中的待测模块对应的待测模块文件,根据待测模块文件生成对应的业务模块容器,配置待测模块对应的待测路由关系,待测路由关系包括预设关键字与匹配的业务模块容器的关系,配置非待测模块对应的默认路由关系,默认路由关系包括默认关键字与对应的基础环境的关系,中转服务可根据测试请求获取对应的待测路由关系或默认路由关系,进入业务模块容器或基础环境中的模块,通过路由关系配置就可灵活变换测试路径,不需要每变换一次测试路径就生成一个镜像,降低了生成业务测试环境的难度和成本。一种业务测试的方法,采用上述任一项实施例所述的业务测试环境的生成方法生成的业务测试环境,所述方法包括:接收测试请求,所述测试请求包括测试关键字和服务端口;根据所述服务端口获取匹配的目标中转路由关系;将测试关键字与目标中转路由关系中的关键字进行匹配,如果匹配成功的是预设关键字,则根据所述目标中转路由关系确定预设关键字对应的目标容器,将所述测试请求转发至所述预设关键字对应的目标容器;如果不存在匹配成功的预设关键字,则根据所述目标中转路由关系确定默认关键字对应的基础环境中的目标模块,将所述测试请求转发至所述目标模块。一种业务测试的装置,装置用于上述业务测试环境的生成系统生成的业务测试环境,所述装置包括:测试请求接收模块,用于接收测试请求,所述测试请求包括测试关键字和服务端口;获取模块,用于根据所述服务端口获取匹配的目标中转路由关系;转发模块,用于将测试关键字与目标中转路由关系中的关键字进行匹配,如果匹配成功的是预设关键字,则根据所述目标中转路由关系确定预设关键字对应的目标容器,将所述测试请求转发至所述预设关键字对应的目标容器,如果不存在匹配成功的预设关键字,则根据所述目标中转路由关系确定默认关键字对应的基础环境中的目标模块,将所述测试请求转发至所述目标模块。上述业务测试的方法和装置,通过接收测试请求,测试请求包括测试关键字和服务端口,根据服务端口获取匹配的目标中转路由关系,将测试关键字与目标中转路由关系中的关键字进行匹配,如果匹配成功的是预设关键字,则根据目标中转路由关系确定预设关键字对应的目标容器,将测试请求转发至预设关键字对应的目标容器,如果不存在匹配成功的预设关键字,则根据目标中转路由关系确定默认关键字对应的基础环境中的目标模块,将测试请求转发至目标模块,通过在测试请求中携带测试关键字和服务端口,可将测试请求转发至不同的环境进行测试,灵活方便的进行测试,且在测试的过程中不需要每修改一个测试路径就生成一个新的测试链路的镜像,节省了测试资源。附图说明图1为一个实施例中业务测试环境的生成方法、业务测试的方法运行的应用环境图;图2为一个实施例中图1中中转服务器的内部结构图;图3为一个实施例中业务测试环境的生成方法的流程图;图4为一个实施例中生成基础环境的流程图;图5为一个实施例中生成基础环境的时序图;图6为一个实施例中生成测试模块环境的流程图;图7为一个实施例中一个需求对应多个模块时的关系示意图;图8为一个实施例中测试环境示意图;图9为一个实施例中业务测试的方法的流程图;图10为一个实施例中测试路径示意图;图11为一个实施例中确定目标容器的流程图;图12为一个实施例中业务测试的系统的结构框图;图13为一个实施例中业务测试环境的生成系统的结构框图;图14为一个实施例中业务测试的装置的结构框图。具体实施方式图1为一个实施例中业务测试环境的生成方法、业务测试的方法运行的应用环境图,该应用环境包括终端110、基础环境服务器120、容器服务器130和中转服务器140。终端110、基础环境服务器120、容器服务器130和中转服务器140之间通过网络进行通信,各个服务器可为单个服务器或服务器集群。终端110可为智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此。终端110可通过环境创建可视界面接收业务测试环境生成请求发送指令,向容器服务器130发送业务测试环境生成请求,容器服务器130根据业务测试环境生成请求生成业务模块容器,创建业务模块对应的环境。终端110可通过环境创建可视界面接收输入的预设关键字,并向中转服务器140发送路由配置请求,路由配置请求携带预设关键字,如预设关键字可为登录终端110的用户标识等,预设关键字与业务模块容器匹配,通过预设关键字可进入对应的已创建的业务模块环境。终端110、基础环境服务器120可向中转服务器140发送测试请求,中转服务器140根据测试请求中的测试关键字将测试请求转发至基础环境服务器120中的容器或容器服务器130中的容器。在一个实施例中,图1中中转服务器140的内部结构如图2所示,该中转服务器140包括通过系统总线连接的处理器、存储介质、内存和网络接口。其中,该中转服务器140的存储介质存储有操作系统、数据库和一种业务测试的装置,数据库用于存储数据,如路由关系等,该装置用于实现一种适用于中转服务器140的业务测试的方法。该中转服务器140的处理器用于提供计算和控制能力,支撑整个中转服务器140的运行。该中转服务器140的内存为存储介质中的业务测试的装置的运行提供环境。该中转服务器140的网络接口用于与终端110、基础环境服务器120、容器服务器130通过网络连接通信,比如向容器服务器130转发请求等。在一个实施例中,如图3所示,提供了一种业务测试环境的生成方法,以应用于上述应用环境来举例说明,包括如下步骤:步骤S210,获取完整业务对应的业务模块文件,配置完整业务对应的模块的路由目的地址为中转服务地址,根据业务模块文件生成基础环境。具体的,基础环境是指稳定全量的研发测试环境,可用于测试完整业务对应的功能,基础环境可根据预设更新时间进行更新,如每日0点更新,以满足在业务改变时生成最新版本的基础环境。基础环境会根据配置将业务模块文件全量打包到镜像内,再根据镜像生成对应的容器,进行初始化生成基础环境。基础环境生成成功后,在下一次更新前,不会通过人工随意修改,保证了研发测试环境的稳定性。业务模块文件是指实现完整业务功能所需的文件,包括二进制的可执行程序文件、配置文件等。基础环境可以根据业务对应的模块数量以及服务器的性能,部署在一台服务器上,为一个容器,也可以部署在多台服务器上,分为多个容器。配置完整业务对应的模块的路由目的地址为中转服务地址,中转服务地址可为提供中转服务的设备所在的IP地址,从而使得基础环境的各个模块之间存在中转服务,上游模块发送请求到中转服务,然后由中转服务根据请求携带的关键字和路由关系,将请求包原封不动的分发到对应的下游模块,下游模块可为基础环境中的模块,也可为业务模块容器,通过中转服务区分了测试路径。步骤S220,获取完整业务中的待测模块对应的待测模块文件,根据待测模块文件生成对应的业务模块容器。具体的,待测模块文件是业务模块文件的其中一个或多个原始模块文件对应的待测试模块文件,是与原始模块文件存在差异部分的文件,可以是新增加或修改的模块文件。待测模块文件包括实现一个模块功能对应的所需的文件,包括二进制的可执行程序文件、配置文件等。根据配置将一个模块对应的待测模块文件打包到镜像内,再根据镜像生成对应的容器,一个容器内只包括一个模块,进行初始化生成待测环境。在一个实施例中,待测模块为多个,不同的待测模块对应的业务模块容器组成容器集群。如果有多个模块需要测试,则对应了多个待测模块文件,每个模块对应的待测模块文件生成一个容器,不同的待测模块对应的业务模块容器组成容器集群。容器集群可以部署在一台服务器上,也可以部署在多台服务器上。容器集群中每个容器内可以进行任意操作改动,但基于容器本身的隔离性,容器之间能保证互不影响。步骤S230,配置待测模块对应的待测路由关系,待测路由关系包括预设关键字与匹配的业务模块容器的关系,配置非待测模块对应的默认路由关系,默认路由关系包括默认关键字与对应的基础环境的关系。具体的,完整业务对应了多个模块,有的是待测模块,有的是非待测模块,每个模块都有对应的中转路由关系,通过服务端口作为模块标识区分不同的模块,模块对应的服务端口与中转路由关系关联存储,从而根据服务端口可获取对应的中转路由关系。中转路由关系分为待测路由关系和默认路由关系,完整业务中的待测模块有对应的待测路由关系,非待测模块有对应的默认路由关系。待测路由关系与默认路由关系组成中转路由关系,用于决定完整业务对应的模块的测试路径,中转路由关系存储在中转服务对应的设备中。如一个具体的实施例中中转路由关系表如下表1所示,表1defaultIP1PORT1UIN2IP2PORT2其中default为固定预设字符,IP1为基础环境对应的服务器的IP地址,PORT1为基础环境对应的服务端口号。UIN2表示一个预设关键字,IP2为容器集群中的其中一个目标容器对应的服务器的IP地址,PORT2为目标容器的映射端口号。每个业务模块都对应了一个业务模块容器,每个业务模块容器都有对应的中转路由关系表,通过业务模块容器的服务端口号作为标识获取对应的中转路由关系表。预设关键字用于与默认关键字进行区分,决定测试请求对应的测试方式和对应的测试模块,通过预设关键字可任意匹配需要测试的业务模块容器,生成待测路由关系。将待测模块对应的业务模块容器与预设关键字之间建立匹配关系,后续可通过预设关键字获取对应的业务模块容器,从而将测试请求转发至业务模块容器进行测试。而非测试的模块,由于其路由对应的是默认路由关系,默认路由关系中不存在预设关键字,只能获取默认关键字与对应的基础环境中的模块,保证稳定不变的模块能自动进入基础环境进行测试。可通过格式或语义识别区分预设关键字和默认关键字,如预设关键字采用数字类型字符串,默认关键字采用固定字符,预设关键字还可包括不同的类型,用于区分测试方式。预设关键字可为用户标识,保证不同的用户可建立自己的测试路径。可以理解的是,待测路由关系除了包括第一预设关键字与匹配的业务模块容器的关系,也可以包括默认关键字与对应的基础环境中的模块的关系,从而后续如果测试请求中不包括第一预设关键字,则可自动转入基础环境中的模块进行测试。待测路由关系中对于同一个业务模块容器可对应多个预设关键字,如第一预设关键字与第一业务模块容器匹配,第二预设关键字与第一业务模块容器匹配,这种情况下,如果第一预设关键字还与第二业务模块容器匹配,则使用第一预设关键字时,可测试第一业务模块和第二业务模块容器,而使用第二预设关键字时,只可测试第一业务模块容器和第二原始模块,实现了测试路径的多样化。可以选择其中的一个或多个模块在本次测试中不测,实现一次只测试一个模块,实现了灵活选择测试模块的目的。通过修改各个模块对应的中转路由关系,可灵活方便的修改测试路径。本实施例中,获取完整业务对应的业务模块文件,配置完整业务对应的模块的路由目的地址为中转服务地址,使得基础环境的各个模块之间存在中转服务,根据业务模块文件生成基础环境,获取完整业务中的待测模块对应的待测模块文件,根据待测模块文件生成对应的业务模块容器,配置待测模块对应的待测路由关系,待测路由关系包括预设关键字与匹配的业务模块容器的关系,配置非待测模块对应的默认路由关系,默认路由关系包括默认关键字与对应的基础环境的关系,中转服务可根据测试请求获取对应的待测路由关系或默认路由关系,进入业务模块容器或基础环境中的模块,通过路由关系配置就可灵活变换测试路径,不需要每变换一次测试路径就生成一个镜像,降低了生成业务测试环境的难度和成本。在一个实施例中,如图4结合图5所示,步骤S210包括:步骤S211,拉取完整业务对应的现网业务模块文件和第一配置数据,配置完整业务对应的模块的路由目的地址为中转服务器地址,根据业务模块文件和第一配置数据生成环境镜像。具体的,现网业务模块文件是从现网服务器上获取的当前运行的稳定版本的完整业务模块文件,如支付模块文件,配置完整业务功能的全链路中的各个模块都经过中转服务,完整业务对应的各个模块的路由目的地址为中转服务器地址,具体操作过程可如下:遍历所有支付模块的路由文件,以正则匹配的方式找出其中是ip的字段,将所有的ip替换为中转服务所在机器的ip,原本的路由是指向现网机器的。第一配置数据是由于测试环境和现网环境存在差异需要进行的配置数据,可从SVN版本管理工具服务器拉取,例如商户号、DB数据库等。环境镜像和环境容器继承于同一父镜像,该父镜像可以是以tlinux1.2系统为基础增加运行特定协议类型服务所需的lib及一些通用的工具和命令,基础环境会根据第一配置数据将业务模块文件全量打到镜像内,将生成的环境镜像上传至仓库存储。步骤S212,对环境镜像进行第一端口映射,创建对应的环境容器。具体的,先从仓库拉取环境镜像,再进行第一端口映射。端口映射是指将服务本身的监听端口,映射到外部端口,从外部访问容器内的服务需要通过外部端口调用映射端口实现。第一端口映射时,外部端口与监听端口相同。第一端口映射成功后,创建环境镜像对应的环境容器。步骤S213,进行初始化,生成基础环境。具体的,初始化包括创造软链即文件目录的快捷方式,系统配置的修改,根据服务自身的进程数、日志级别、协程数进行配置,因为在一台机器可通运行多个容器,降低进程可对应降低系统资源占用,生成基础环境后,拉起服务。在一个实施例中,如图6所示,步骤S220包括:步骤S221,获取待测模块文件和第二配置数据,根据待测模块文件和第二配置数据生成模块镜像。具体的,第二配置数据是与待测模块文件匹配的配置,容器集群中单个容器只放入从发布的中转测试机器上拉取的一个模块,如基础环境中一个容器内包含的模块数约100个,耗时为30分钟,但仅在固定时间更新,如凌晨更新一次,虽然时间略长但属于可接受范围,容器集群的单个容器只有一个模块生成耗时约2分钟,快速方便。不同的模块对应了不同的模块镜像。其中获取待测模块文件的方式可分为发布系统创建和Web手工创建,这两种创建方式的触发方式不同,第一种发布系统创建是先将待测模块文件更新至中转测试机器,再从中转测试机器拉取,第二种Web手工创建是通过接收输入的待测试模块名,再根据待测试模块名获取对应的待测模块文件。步骤S222,对模块镜像进行第二端口映射,创建对应的业务模块容器,进行初始化,生成测试模块环境。具体的,第二端口映射时,外部端口与监听端口间为随机映射方式。第二端口映射成功后,创建对应的业务模块容器,每个业务模块容器只对应一个模块,每个业务模块容器都有一个独立的测试模块环境。在一个实施例中,预设关键字包括手工测试关键字、自动测试关键字中的至少一种,不同类型的预设关键字的格式不同。具体的,手工测试关键字用于进行手工测试,自动测试关键字用于进行自动测试,如果是自动测试关键字则不需要手工进行界面操作,可获取自动测试脚本进行全自动的测试。手工测试关键字和自动测试关键字的格式不同,如定义手工测试关键字为数字型,自动测试关键字为字母型。在创建测试模块环境的过程中,对容器进行初始化后,需要将预设关键字添加到待测路由关系中,如果是手工测试,则添加手工测试关键字,如果是自动测试,则添加自动测试关键字。使得使用预设关键字可调用对应的测试模块环境。可通过可视界面进行添加,并与对应的业务模块容器进行匹配。如果一个测试路径涉及到多个待测模块,则预设关键字与多个业务模块容器建立匹配关系。在一个具体的实施例中,手工测试关键字为uin,即社交应用分配的标识号,一个测试需求,包含多个待测模块,将每个待测模块放到一个容器内,用同一个uin连接整条链路,形成容器组,容器组可以用于给整个需求下挂的所有容器批量加入同一uin。如图7所示为测试场景示意图,图中容器1至容器N对应同一个uin。在一个具体的实施例中,自动测试关键字为社交应用分配的用户名。在一个实施例中,方法还包括:配置下游被调测试模块对应的下游路由关系,下游路由关系包括预设关键字与匹配的下游被调测试环境的关系。具体的,下游被调测试环境是指业务作为一个入口,其下游被调方可能存在的多套环境,需要分别对接进行测试。对于业务的外部用户,由于不需要对业务测试模块进行测试,只需要利用完整业务对应的基础环境,提供稳定的环境进入下游被调测试环境。外部请求转入基础环境,再通过预设关键字和下游路由关系,进入和外部请求中的预设关键字对应的下游被调测试环境中,如通过不同的应用内部帐号将请求导到不同的下游被调方处。如默认情况下所有外部请求进入基础环境后再进入下游被调方环境1,但是利用中转服务可分别配置多组uin将请求分别导入到下游被调方环境2至下游被调方N,如uin1对应下游被调方环境2,uin2对应下游被调方环境3,灵活方便的实现下游被调测试模块的变更,降低测试的成本。在一个具体的实施例中,业务模块容器为docker容器,形成的docker测试环境示意图如图8所示,此环境包括基础环境310、中转服务模块320、容器集群330和前端容器集群管理系统340。可通过前端容器集群管理系统340的可视化环境中的发布系统或手动拉起模块触发携带预设关键字和/或模块名称的业务模块容器生成指令。其中基础环境310中可包括多个子基础环境311-31N,是为了针对部门内不同的开发组而进行的拆分,进行组合就是一个完整的基础环境310。中转服务模块320用于存储待测路由关系和默认路由关系,不同的服务模块对应了不同的中转路由关系。用于根据中转路由关系做请求转发和路由规则的判断,如果测试请求命中default规则,则测试请求转发至基础环境310,如果测试请求命中特定预设关键字的路由规则,如支付应用场景下预设关键字包括支付帐号uin和用户标识rtx,测试请求将被转发至容器集群中与预设关键字匹配的目标容器。容器集群330由多个业务模块容器A-Z组成,每个业务模块容器中仅包含一个模块,若测试需求中需要用到多个业务模块时可以使用相同的路由预设关键字连通多个容器。在一个实施例中,如图9所示,提供了一种业务测试的方法,采用上述任一实施例所述的业务测试环境的生成方法生成的业务测试环境,包括以下步骤:步骤S410,接收测试请求,测试请求包括测试关键字和服务端口。具体的,测试关键字用于区分测试的路径和测试的方式,测试关键字包括手工测试关键字和自动测试关键字,通过测试关键字与目标中转路由关系中的关键字的匹配,可获取测试关键字对应的测试路径,不同的测试关键字可将测试请求转发至不同的业务模块容器。每个服务都对应了一个服务端口,基础环境中的一个业务模块容器对应的映射端口与此模块对应的服务的服务端口一致,业务模块容器对应的映射端口是随机的,但是和服务端口有对应关系。服务端口用于查找与测试请求匹配的中转路由关系。根据测试规则的不同,服务端口可为发送测试请求的业务模块对应的当前服务端口,也可为发送测试请求的业务模块链接的下一个业务模块对应的目标服务端口。如果是当前服务端口,则可在中转服务器中存储各个服务端口之间的链接关系,从而根据当前服务端口获取下一个服务端口作为目标服务端口,再根据目标服务端口获取匹配的目标中转路由关系。步骤S420,根据服务端口获取匹配的目标中转路由关系。具体的,每个服务端口都有对应的中转路由关系,中转路由关系与服务端口标识对应存储,每个服务端口对应的中转路由关系可在测试进行前配置,中转路由关系包括预设关键字与匹配的业务模块容器的关系、默认关键字与对应的基础环境的关系。中转路由关系用于决定完整业务对应的模块的测试路径,中转路由关系存储在中转服务对应的设备中。步骤S430,将测试关键字与目标中转路由关系中的关键字进行匹配,如果匹配成功的是预设关键字,则进入步骤S440,否则进入步骤S450。步骤S440,根据目标中转路由关系确定预设关键字对应的目标容器,将测试请求转发至预设关键字对应的目标容器。具体的,如果目标中转路由关系中存在与测试关键字相同的预设关键字,则通过测试关键字可将测试请求转发至预设关键字对应的目标容器。可通过预设关键字获取目标容器对应的服务器的IP地址和映射端口号,从而根据IP地址和映射端口号确定对应的目标模块。预设关键字对应的IP地址为容器集群所在的服务器的IP地址。步骤S450,根据目标中转路由关系确定默认关键字对应的基础环境中的目标模块,将测试请求转发至目标模块。具体的,如果目标中转路由关系中不存在与测试关键字相同的预设关键字,则获取目标中转路由关系中默认关键字对应的基础环境中的目标模块,将测试请求转发至目标模块。可通过默认关键字获取目标容器对应的服务器的IP地址和映射端口号,从而根据IP地址和映射端口号确定对应的目标模块。默认关键字对应的IP地址为基础环境所在的服务器的IP地址。本实施例中,通过接收测试请求,测试请求包括测试关键字和服务端口,根据服务端口获取匹配的目标中转路由关系,将测试关键字与目标中转路由关系中的关键字进行匹配,如果匹配成功的是预设关键字,则根据目标中转路由关系确定预设关键字对应的目标容器,将测试请求转发至预设关键字对应的目标容器,如果不存在匹配成功的预设关键字,则根据目标中转路由关系确定默认关键字对应的基础环境中的目标模块,将测试请求转发至目标模块,通过在测试请求中携带测试关键字和服务端口,可将测试请求转发至不同的环境进行测试,灵活方便的进行测试,且在测试的过程中不需要每修改一个测试路径就生成一个新的测试链路的镜像,节省了测试资源。在一个具体的实施例中,在发送测试请求前,将手工测试关键字uin=12345与业务模块容器B1和业务模块容器C1建立匹配关系,完整业务链路为A—B—C—D,其中A和D采用基础环境中的模块进行测试,而B和C采用测试版本,通过业务模块容器B1和业务模块容器C1进行测试,在中转服务器中存储了各个业务模块对应的中转路由关系,其中业务模块A、B、C、D对应的中转路由关系分别与服务端口A2、B2、C2、D2一一对应。其中业务模块A对应的中转路由关系AA为:defaultdefaultIPAPORTA;业务模块B对应的中转路由关系BB为:defaultdefaultIPBPORTB;uin12345IPB1PORTB1;业务模块C对应的中转路由关系CC为:defaultdefaultIPCPORTC;uin12345IPC1PORTC1;业务模块D对应的中转路由关系DD为:defaultdefaultIPDPORTD。中转服务器接收到的测试请求中携带uin12345,服务端口为A2,则通过A2获取对应的中转路由关系AA,由于中转路由关系AA中不存在与12345匹配的关键字,即不存在匹配成功的预设关键字,则获取默认关键字对应的IPAPORTA,将测试请求转发至基础环境中的业务模块A。业务模块A再生成测试请求,生成的测试请求中包括uin12345和业务模块A的下一个链接业务模块B对应的服务端口B2,并将测试请求转发至中转服务器,中转服务器通过B2获取对应的中转路由关系BB,由于中转路由关系BB中存在与12345匹配的关键字,则获取12345对应的IPB1PORTB1,将测试请求转发至容器集群中的业务模块容器B,以类似的方式生成新的测试请求,再发送至中转服务器,测试请求的转发路径如图10中所示,测试请求的测试路径为A—B1—C1—D,符合预期。在一个实施例中,如图11所示,方法还包括:步骤S441,如果根据目标中转路由关系,预设关键字对应的是业务模块容器,则将测试请求转发至业务模块容器。步骤S442,如果根据目标中转路由关系,预设关键字对应的是下游被调测试环境,则将测试请求转发至下游被调测试环境。具体的,中转路由关系还可包括预设关键字与匹配的下游被调测试环境的关系,当下游被调测试模块存在多个下游测试版本时,每个下游测试版本都有对应的下游被调测试环境,可通过建立不同的预设关键字与不同的下游被调测试环境的关联关系,通过预设关键字区分被调测试容器。目标中转路由关系中的同一预设关键字可对应业务模块容器或下游被调测试环境。可根据IP地址和容器的映射端口号获取对应的业务模块容器或下游被调测试环境。在目标中转路由关系中增加预设关键字与下游被调测试环境的关系,则在下游被调方存在多套环境时,灵活进入不同的环境进行测试。在一个实施例中,如图12所示,提供了一种业务测试的系统,所述系统包括:基础环境服务器510,用于获取完整业务对应的业务模块文件,配置所述完整业务对应的模块的路由目的地址为中转服务地址,根据业务模块文件生成基础环境。容器服务器520,用于获取完整业务中的待测模块对应的待测模块文件,根据待测模块文件生成对应的业务模块容器。中转服务器530,用于配置待测模块对应的待测路由关系,待测路由关系包括预设关键字与匹配的业务模块容器的关系,配置非待测模块对应的默认路由关系,默认路由关系包括默认关键字与对应的基础环境的关系。在一个实施例中,中转服务器530还用于接收测试请求,测试请求包括测试关键字和服务端口,根据服务端口获取匹配的目标中转路由关系,将测试关键字与目标中转路由关系中的关键字进行匹配,如果匹配成功的是预设关键字,则根据目标中转路由关系确定预设关键字对应的目标容器,将测试请求转发至所述预设关键字对应的目标容器,如果不存在匹配成功的预设关键字,则根据目标中转路由关系确定默认关键字对应的基础环境中的目标模块,将所述测试请求转发至目标模块。在一个实施例中,系统还包括现网服务器540和配置服务器550,基础环境服务器510还用于从现网服务器540拉取完整业务对应的现网业务模块文件,从配置服务器550拉取第一配置数据,配置完整业务对应的路由目的地址为中转服务器地址,根据业务模块文件和第一配置数据生成环境镜像,对环境镜像进行第一端口映射,创建对应的环境容器,进行初始化,生成基础环境。在一个实施例中,系统还包括测试文件服务器560,所述容器服务器520还用于从测试文件服务器获取待测模块文件,从配置服务器拉取第二配置数据,根据待测模块文件和第二配置数据生成模块镜像,对模块镜像进行第二端口映射,创建对应的业务模块容器,进行初始化,生成测试模块环境。在一个实施例中,系统还包括下游被调服务器570,下游被调服务器570用于运行下游被调测试环境,中转服务器还用于存储下游被调测试模块对应的下游路由关系,下游路由关系包括预设关键字与匹配的下游被调测试环境的关系。在一个实施例中,如图13所示,提供了一种业务测试环境的生成系统,包括:基础环境生成模块610,用于获取完整业务对应的业务模块文件,配置所述完整业务对应的模块的路由目的地址为中转服务地址,根据业务模块文件生成基础环境。业务模块容器生成模块620,用于获取完整业务中的待测模块对应的待测模块文件,根据待测模块文件生成对应的业务模块容器。中转路由关系配置模块630,用于配置待测模块对应的待测路由关系,待测路由关系包括预设关键字与匹配的业务模块容器的关系,配置非待测模块对应的默认路由关系,默认路由关系包括默认关键字与对应的基础环境的关系。在一个实施例中,待测模块为多个,不同的待测模块对应的业务模块容器组成容器集群。在一个实施例中,基础环境生成模块610还用于拉取完整业务对应的现网业务模块文件和第一配置数据,配置完整业务对应的模块的路由目的地址为中转服务器地址,根据业务模块文件和第一配置数据生成环境镜像,对环境镜像进行第一端口映射,创建对应的环境容器,进行初始化,生成基础环境。在一个实施例中,业务模块容器生成模块620还用于获取待测模块文件和第二配置数据,根据所述待测模块文件和第二配置数据生成模块镜像,对所述模块镜像进行第二端口映射,创建对应的业务模块容器,进行初始化,生成测试模块环境。在一个实施例中,预设关键字包括手工测试关键字、自动测试关键字中的至少一种,不同类型的预设关键字的格式不同。在一个实施例中,中转路由关系配置模块630还用于配置下游被调测试模块对应的下游路由关系,所述下游路由关系包括预设关键字与匹配的下游被调测试环境的关系。在一个实施例中,如图14所示,提供了一种业务测试的装置,应用于上述业务测试环境的系统,包括:测试请求接收模块710,用于接收测试请求,测试请求包括测试关键字和服务端口。获取模块720,用于根据服务端口获取匹配的目标中转路由关系。转发模块730,用于将测试关键字与目标中转路由关系中的关键字进行匹配,如果匹配成功的是预设关键字,则根据目标中转路由关系确定预设关键字对应的目标容器,将测试请求转发至所述预设关键字对应的目标容器,如果不存在匹配成功的预设关键字,则根据目标中转路由关系确定默认关键字对应的基础环境中的目标模块,将测试请求转发至目标模块。在一个实施例中,转发模块730还用于如果根据目标中转路由关系,预设关键字对应的是业务模块容器,则目标容器为业务模块容器,如果根据目标中转路由关系,预设关键字对应的是下游被调测试环境,则目标容器为下游被调测试环境。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述程序可存储于一计算机可读取存储介质中,如本发明实施例中,该程序可存储于计算机系统的存储介质中,并被该计算机系统中的至少一个处理器执行,以实现包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1