一种测试系统及方法技术方案

技术编号:21089370 阅读:33 留言:0更新日期:2019-05-11 09:53
本发明专利技术实施例提供了一种测试系统及方法,该系统包括:代码管理节点、资源调度节点和至少两个docker compose节点;代码管理节点对待测试项目的每一待测试分支的测试代码进行打包处理,生成代码文件;按照一个docker compose节点上部署同一测试项目的一个待测试分支的代码文件的方式,从资源调度节点发送的可用节点列表中确定目标docker compose节点,并向目标docker compose节点发送代码文件;docker compose节点运行待测试分支的运行环境的镜像文件生成测试容器,将代码文件挂载在测试容器中对待测试分支进行测试。应该本发明专利技术实施例的方案能够提高对软件进行测试的效率。

A Test System and Method

【技术实现步骤摘要】
一种测试系统及方法
本专利技术涉及软件测试
,特别是涉及一种测试系统及方法。
技术介绍
随着软件技术的快速发展,各种各样的软件为人们的生活提供了便利。软件开发人员将所开发的软件提供给用户使用之前,一般会进行严格的测试,以发现软件中存在的问题,并消除所发现的问题。现有技术中,对软件进行测试时,可以采用Docker技术对软件进行测试。其中,Docker是一个开源的应用容器引擎。在采用Docker技术对软件进行测试时,一般是利用Docker所提供的容器对软件进行测试。然而,在测试过程中,Docker所提供的各个容器所启动的软件待测试项目的运行环境的镜像文件只能是同一镜像文件,因此,利用Docker所提供的容器对软件进行测试时,只能对软件的同一待测试项目的同一待测试分支进行测试。而对于一个软件而言,一般存在多个待测试项目,每一待测试项目又存在多个待测试分支,这样应用上述方式进行软件测试时,测试效率低下。
技术实现思路
本专利技术实施例的目的在于提供一种测试系统及方法,能够提高对软件进行测试的效率。具体技术方案如下:一种测试系统,所述系统包括:代码管理节点、资源调度节点和至少两个dockercompose节点;所述资源调度节点,用于所述dockercompose节点的状态,并根据监测结果,获取包含可用dockercompose节点信息的可用节点列表;并向所述代码管理节点发送所述可用节点列表;所述代码管理节点,用于对待测试项目的每一待测试分支的测试代码进行打包处理,生成所述待测试分支的代码文件;并在接收到所述资源调度节点发送的所述可用节点列表时,按照一个dockercompose节点上部署同一测试项目的一个测试分支的代码文件的方式,从所述可用节点列表中确定用于部署所生成代码文件的目标dockercompose节点,并向所述目标dockercompose节点发送所生成的代码文件;所述dockercompose节点,用于在接收到所述代码管理节点发送的代码文件时,并将所接收的代码文件部署在指定的目录中;并获得待测试分支的运行环境的镜像文件,通过运行所获得的镜像文件生成测试容器,将所述指定的目录中部署的代码文件挂载在所述测试容器中,以对待测试分支进行测试。进一步地,所述获得待测试分支的运行环境的镜像文件,包括:从本地私有仓库中拉取待测试分支的运行环境的镜像文件。进一步地,所述资源调度节点,还用于控制每一所述目标dockercompose节点生成的各个测试容器的生命周期。进一步地,所述dockercompose节点为:安装有dockercompose服务和dockercompose管理器的宿主机;其中,所述dockercompose管理器中设置有与dockercompose通信的web接口,所述dockercompose管理器用于控制各个dockercompose节点上的dockercompose服务;所述dockercompose服务用于控制自身所在的dockercompose节点生成的各个测试容器的运行。进一步地,在所述将所述指定的目录中部署的代码文件挂载在所述测试容器中之后,所述dockercompose节点,还用于执行以下操作中的至少一种:监控自身生成的各个测试容器的资源消耗和运行状态;管理自身目录中部署的代码文件;管理测试过程中生成的日志文件;在对待测试分支完成测试后,释放测试过程中占用的资源;在对待测试分支完成测试后,将对待测试分支进行测试的测试容器进行打包处理,生成镜像文件,并将所生成的镜像文件提交到本地私有库中;提交待测试分支所依赖的Dockerfile文件和Docke-compse.yml文件到本地私有库中,其中,所述Dockerfile文件为:用于生成待测试分支的运行环境的镜像文件的配置文件,所述Docke-compse.yml文件为:用于运行对待测试分支进行测试的测试环境的配置文件。进一步地,所述资源调度节点,还用于修改所述Dockerfile文件;所述dockercompose节点,还用于根据修改后的所述Dockerfile文件编辑测试容器。进一步地,所述dockercompose节点还包括:httpproxy,用于将待测项目的流量一一对应导入至流量对应的各个待测分支中。一种测试方法,所述方法包括:获得记录可用dockercompose节点信息的可用节点列表;按照一个dockercompose节点上部署同一测试项目的一个测试分支的代码文件的方式,从所获得的可用节点列表中确定用于部署所生成代码文件的目标dockercompose节点;对待测试项目的每一待测试分支的测试代码进行打包处理,生成所述待测试分支的代码文件;向所述目标dockercompose节点发送所生成的代码文件;以使目标dockercompose节点根据所述代码文件和待测试分支的运行环境的镜像文件对待测试分支进行测试。进一步地,所述方法还包括:控制所述目标dockercompose节点在对所述待测试分支进行测试过程中生成的测试容器的生命周期。进一步地,所述方法还包括:对Dockerfile文件进行修改,以使得所述目标dockercompose节点根据修改后的所述Dockerfile文件编辑测试容器,其中,所述Dockerfile文件为:用于生成所述镜像文件的配置文件。一种测试方法,应用于dockercompose节点,所述方法包括:获得按照预设方式确定的待测试分支的代码文件,其中,所述预设方式为:一个dockercompose节点上部署同一测试项目的一个测试分支的代码文件;将所接收的代码文件部署在指定的目录中;获得待测试分支的运行环境的镜像文件;运行所获得的镜像文件生成测试容器;将所述指定的目录中部署的代码文件挂载在所述测试容器中对待测试分支进行测试。进一步地,所述获得待测试分支的运行环境的镜像文件,包括:从本地私有仓库中拉取待测试分支的运行环境的镜像文件。进一步地,所述dockercompose节点为:安装有dockercompose服务和dockercompose管理器的宿主机;其中,所述dockercompose管理器中设置有与dockercompose通信的web接口,所述dockercompose管理器用于控制各个dockercompose节点上的dockercompose服务;所述dockercompose服务用于控制自身所在的dockercompose节点生成的各个测试容器的运行。进一步地,在所述将所述指定的目录中部署的代码文件挂载在所述测试容器中对待测试分支进行测试之后,还包括:执行以下操作中的至少一种:监控自身生成的各个测试容器的资源消耗和运行状态;管理自身目录中部署的代码文件;管理测试过程中生成的日志文件;在对待测试分支完成测试后,释放测试过程中占用的资源;在对待测试分支完成测试后,将对待测试分支进行测试的测试容器进行打包处理,生成镜像文件,并将所生成的镜像文件提交到本地私有库中;提交待测试分支所依赖的Dockerfile文件和Docke-compse.yml文件到本地私有库中,其中,所述Dockerfile文件为:用于生成待测试分支的运行环境的镜像文件的配置文件,所述Docke-compse.yml文件为:用本文档来自技高网...

【技术保护点】
1.一种测试系统,其特征在于,所述系统包括:代码管理节点、资源调度节点和至少两个docker compose节点;所述资源调度节点,用于监测所述docker compose节点的状态,并根据监测结果,获取包含可用docker compose节点信息的可用节点列表;并向所述代码管理节点发送所述可用节点列表;所述代码管理节点,用于对待测试项目的待测试分支的测试代码进行打包处理,生成所述待测试分支的代码文件;并在接收到所述资源调度节点发送的所述可用节点列表时,按照一个docker compose节点上部署同一测试项目的一个测试分支的代码文件的方式,从所述可用节点列表中确定用于部署所生成代码文件的目标docker compose节点,并向所述目标docker compose节点发送所生成的代码文件;所述docker compose节点,用于在接收到所述代码管理节点发送的代码文件时,将所接收的代码文件部署在指定的目录中;并获得待测试分支的运行环境的镜像文件,通过运行所获得的镜像文件生成测试容器,将所述指定的目录中部署的代码文件挂载在所述测试容器中,以对待测试分支进行测试。

【技术特征摘要】
1.一种测试系统,其特征在于,所述系统包括:代码管理节点、资源调度节点和至少两个dockercompose节点;所述资源调度节点,用于监测所述dockercompose节点的状态,并根据监测结果,获取包含可用dockercompose节点信息的可用节点列表;并向所述代码管理节点发送所述可用节点列表;所述代码管理节点,用于对待测试项目的待测试分支的测试代码进行打包处理,生成所述待测试分支的代码文件;并在接收到所述资源调度节点发送的所述可用节点列表时,按照一个dockercompose节点上部署同一测试项目的一个测试分支的代码文件的方式,从所述可用节点列表中确定用于部署所生成代码文件的目标dockercompose节点,并向所述目标dockercompose节点发送所生成的代码文件;所述dockercompose节点,用于在接收到所述代码管理节点发送的代码文件时,将所接收的代码文件部署在指定的目录中;并获得待测试分支的运行环境的镜像文件,通过运行所获得的镜像文件生成测试容器,将所述指定的目录中部署的代码文件挂载在所述测试容器中,以对待测试分支进行测试。2.如权利要求1所述的系统,其特征在于,所述获得待测试分支的运行环境的镜像文件,包括:从本地私有仓库中拉取待测试分支的运行环境的镜像文件。3.如权利要求1所述的系统,其特征在于,所述资源调度节点,还用于控制每一所述目标dockercompose节点生成的各个测试容器的生命周期。4.如权利要求1所述的系统,其特征在于,所述dockercompose节点为:安装有dockercompose服务和dockercompose管理器的宿主机;其中,所述dockercompose管理器中设置有与dockercompose通信的web接口,所述dockercompose管理器用于控制各个dockercompose节点上的dockercompose服务;所述dockercompose服务用于控制自身所在的dockercompose节点生成的各个测试容器的运行。5.如权利要求1~4中任一项所述的系统,其特征在于,在所述将所述指定的目录中部署的代码文件挂载在所述测试容器中之后,所述dockercompose节点,还用于执行以下操作中的至少一种:监控自身生成的各个测试容器的资源消耗和运行状态;管理自身目录中部署的代码文件;管理测试过程中生成的日志文件;在对待测试分支完成测试后,释放测试过程中占用的资源;在对待测试分支完成测试后,将对待测试分支进行测试的测试容器进行打包处理,生成镜像文件,并将所生成的镜像文件提交到本地私有库中;提交待测试分支所依赖的Dockerfile文件和Docke-compse.yml文件到本地私有库中,其中,所述Dockerfile文件为:用于生成待测试分支的运行环境的镜像文件的配置文件,所述Docke-compse.yml文件为:用于运行对待测试分支进行测试的测试环境的配置文件。6.如权利要求5所述的系统,其特征在于,所述资源调度节点,还用于修改所述Dockerfile文件;所述dockercompose节点,还用于根据修改后的所述Dockerfile文件编辑测试容器。7.如权利要求6所述的系统,其特征在于,所述dockercompose节点还包括:httpproxy,用于将待测项目的流量一一对应导入至流量对应的各个待测分支中。8.一种测试方法,其特征在于,所述方法包括:获得记录可用dockercompose节点信息的可用节点列表;按照一个dockercompose节点上部署同一测试项目的一个测试分支的代码文件的方式,从所获得的可用节点列表中确定用于部署所生成代码文件的目标dockercompose节点;对待测试项目的每一待测试分支的测试代码进行打包处理,生成所述待测试分支的代码文件;向所述目标doc...

【专利技术属性】
技术研发人员:丰竹雷蒋龙孙衍群李国平
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1