版本的构建系统及方法技术领域
本发明涉及无线通信领域及计算机领域,尤其涉及一种版本的构建系统
及方法。
背景技术
当前,随着科技的进步和信息化的不断发展,计算机软件已经成为人们
生活中不可缺少的工具。在通信领域,设备制造商为用户生产制造设备并提
供相应的支撑软件。在计算机领域,软硬件公司为用户生产和制造众多的软
硬件产品。随着产品的多元化和软硬件的版本越来越多,人们对于产品的质
量要求越来越高。在产品研发领域,最大限度地缩短研发周期,提高产品质
量,强化对于市场的响应速度就显得尤为重要了。
通常在产品研发领域,可能同时要应对多个需求项目,会有多个输出。
以软硬件发布版本为例,可能某个时刻需要同时发布数个项目的软硬件
版本,或者某一时间段内需要发布某个或数个软硬件版本并且要保证功能可
以被正常使用。现在通常的做法是,版本制作人员制作相关版本,首先自测
没有问题后提交流程,然后由测试人员对此版本再进行测试,这样一来一往
可能几天就过去了。在这几天内研发人员无法完整掌握版本情况,同时在这
几天内发布的其他版本可能会一并继承先前版本的故障,造成版本交付的时
间延长和版本质量的不可控制性,同时对于并发版本在处置上也会耗费颇多。
对于在异地的人员构建软硬件版本的情况,通常情况下是要求本地相关
人员代为执行,这样在沟通理解以及数据信息传递上往往会产生额外的时间
和精力的开销。
基于软硬件版本的成本和用户使用的双重考虑,急需解决以下几个技术
问题:
1、如何压缩版本构建时间,快速处理并发版本构建需求,支持全天候的
全球化版本构建需求。
2、如何最大限度地提高所构建版本的质量和稳定性。
另外,随着产品的多元化和软硬件的版本越来越多,人们对于产品的质
量要求越来越高。高端用户和团体也越来越多,他们对于软硬件产品有着自
己的认识,往往给予他们自我实现软硬件版本的机会将会进一步加深高端用
户和团体对于公司软硬件产品的质量和性能的认识。在现在这个处处讲求
“DIY”的时代,软硬件产品也在向着“DIY”前进。最大限度让用户自己
掌控软硬件产品,允许他们加入自己的元素将会有助于软硬件产品的销售和
获取用户最大限度的支持和理解。
然而用户数量基数庞大,传统的版本构建方式和流程不能满足如此庞大
基数的用户群组的需求。在传统研发领域的版本构建通常情况下都是小规模
单一化的,其目的是针对快速准确构建出待测试版本。而对于高端用户和团
体来说,当他们通过自己的理解和认识,使用我们提供的工具或者接口函数
对软件进行了二次开发的时候,对于版本构建的要求就是快速构建出承载他
们“DIY”想法的软件版本。往往这些用户数量庞大,可能同时并发有大量
的版本构建请求,而且对于用户来说版本构建基本都是采取远程构建的方式,
通过网络完成的。
因此,如何更广泛、更充分地利用已有的软硬件进行二次开发也是急需
解决的又一问题。
发明内容
本发明实施例提供了一种版本的构建系统及方法,以解决现有的版本构
建时间长的问题。
本发明实施例提供了一种版本的构建系统,该系统包括主控服务器、与
所述主控服务器相连的版本构建服务器以及与所述版本构建服务器相连的版
本构建机,其中:
所述主控服务器,用于根据获得的请求生成控制命令,将所述控制命令
对应下发至所述版本构建服务器,以及根据所述版本构建服务器上报的构建
信息生成回执信息,所述控制命令包括版本构建命令;
所述版本构建服务器,用于向所述版本构建机下发来自所述主控服务器
的版本构建命令或完整流程命令,以及向所述主控服务器上报所述版本构建
机反馈的构建信息;
所述版本构建机,用于根据接收的来自所述版本构建服务器的版本构建
命令或完整流程命令进行软硬件版本的构建,并向所述版本构建服务器反馈
所述构建信息。
优选地,所述控制命令还包括版本测试命令,所述系统还包括与所述主
控服务器相连的版本测试服务器以及与所述版本测试服务器相连的测试机;
所述主控服务器,还用于将所述版本测试命令对应下发至所述版本测试
服务器,以及根据所述版本测试服务器上报的测试信息生成回执信息;
所述版本测试服务器,用于向所述测试机下发来自所述主控服务器的版
本测试命令,以及,向所述主控服务器上报所述测试机反馈的测试信息;
所述测试机,用于根据接收的来自所述版本测试服务器的版本测试命令
进行软硬件版本的测试,并向所述版本测试服务器反馈所述测试信息。
优选地,所述控制命令还包括完整流程命令;所述主控服务器,还用于
将所述完整流程命令对应下发至所述版本构建服务器,以及在接收所述版本
构建服务器上报的所述构建信息后,向所述版本测试服务器下发所述版本测
试命令。
优选地,所述控制命令还包括版本提交命令,所述主控服务器,还用于
根据所述版本提交命令将当前软硬件版本提交至目标路径。
优选地,所述主控服务器,具体用于根据本地输入的所述请求或者接收
客户端输入的所述请求或者接收终端发送的所述请求生成所述控制命令。
优选地,所述版本构建机包括多系统的版本构建机;所述版本构建服务
器,具体用于接收所述主控服务器发送的所述版本构建命令,为所述版本构
建命令分配版本构建机,将所述版本构建命令下发至对应的版本构建机。
优选地,所述测试机包括多系统的测试机;所述版本测试服务器,具体
用于接收所述主控服务器发送的所述版本测试命令,为所述版本测试命令分
配测试机,将所述版本测试命令下发至对应的测试机。
优选地,所述主控服务器包括逻辑控制模块、基于互联网的控制模块和
基于短信的控制模块,其中:
所述基于互联网的控制模块,用于接收用户通过客户端输入的用户请求
或业务请求,对所述用户请求或所述业务请求进行解析后发送给所述逻辑控
制模块,所述业务请求包括二次开发业务请求;
所述基于短信的控制模块,用于接收用户通过终端发送的短信,对所述
短信进行解析后发送给所述逻辑控制模块;
所述逻辑控制模块,用于接收本地输入的所述用户请求、所述基于互联
网的控制模块发送的解析结果或基于短信的控制模块发送的解析结果,根据
所述基于互联网的控制模块发送的解析结果、基于短信的控制模块发送的解
析结果或本地输入的所述用户请求实时或定时生成所述控制命令。
优选地,所述逻辑控制模块,还用于为所述用户请求或业务请求分配标
识,以及根据所述标识对应保存用户上传的文件或所述主控服务器生成的所
述回执信息。
本发明实施例还提供了一种版本的构建方法,该方法包括:
主控服务器根据输入的请求生成控制命令;
当所述控制命令为版本构建命令时,所述主控服务器向版本构建服务器
发送所述控制命令,接收所述版本构建服务器根据所述控制命令上报的构建
信息,并根据所述构建信息生成回执信息。
优选地,所述方法还包括:
当所述控制命令为版本测试命令时,所述主控服务器向版本测试服务器
发送所述控制命令,接收所述版本测试服务器根据所述控制命令上报的测试
信息,并根据所述测试信息生成回执信息;或者
当所述控制命令为完整流程命令时,所述主控服务器向版本构建服务器
发送所述控制命令,接收所述版本构建服务器根据所述控制命令上报的构建
信息后向所述版本测试服务器发送所述控制命令,接收所述版本测试服务器
根据所述控制命令上报的测试信息,并根据所述测试信息生成回执信息;或
者
当所述控制命令为版本提交命令时,所述主控服务器根据所述控制命令
将当前软硬件版本提交至目标路径。
优选地,所述主控服务器根据输入的请求生成控制命令包括:
所述主控服务器根据本地输入或远端输入的用户请求生成所述控制命
令;或者,所述主控服务器根据远端输入的业务请求生成所述控制命令,所
述业务请求包括二次开发业务请求。
上述版本的构建系统及方法,有利于提高效率,缩短开发周期,实现全
天候自动化的版本构建和自动化测试服务,有效地保证了所构建版本的质量。
附图说明
图1为本发明实施例中的自动化构建和自动化测试系统的整体结构图;
图2为本发明自动化构建和自动化测试系统进行业务的流程图;
图3为本发明实施例中基于浏览器的客户端进行业务的流程图;
图4为本发明实施例中版本构建服务器进行业务的流程图;
图5为本发明实施例中版本测试服务器进行业务的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图
对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申
请中的实施例及实施例中的特征可以相互任意组合。
本发明实施例通过对自动化构建和自动化测试业务的深入分析,提出了
一种可以执行自动化构建和自动化测试的系统,依托此系统,可以更加方便
和有效地获得高质量的软件安装版本。同时确保了在任何时候任何地方,只
要有版本构建的需要,就可以通过本发明的系统实现全天候、全自动的版本
构建和自动化测试功能,缩短了版本构建周期、人员交互周期同时缩减了成
本开销提升了工作效率。
本发明实施例提供了一种版本的构建系统,该系统包括主控服务器、与
所述主控服务器相连的版本构建服务器以及与所述版本构建服务器相连的版
本构建机,其中:
所述主控服务器,用于根据获得的请求生成控制命令,将所述控制命令
对应下发至所述版本构建服务器,以及根据所述版本构建服务器上报的构建
信息生成回执信息,所述控制命令包括版本构建命令;
所述版本构建服务器,用于向所述版本构建机下发来自所述主控服务器
的版本构建命令或完整流程命令,以及向所述主控服务器上报所述版本构建
机反馈的构建信息;
所述版本构建机,用于根据接收的来自所述版本构建服务器的版本构建
命令或完整流程命令进行软硬件版本的构建,并向所述版本构建服务器反馈
所述构建信息。
另外,所述控制命令还可以包括版本测试命令,所述系统还包括与所述
主控服务器相连的版本测试服务器以及与所述版本测试服务器相连的测试
机;所述主控服务器,还用于将所述版本测试命令对应下发至所述版本测试
服务器,以及根据所述版本测试服务器上报的测试信息生成回执信息;所述
版本测试服务器,用于向所述测试机下发来自所述主控服务器的版本测试命
令,以及,向所述主控服务器上报所述测试机反馈的测试信息;所述测试机,
用于根据接收的来自所述版本测试服务器的版本测试命令进行软硬件版本的
测试,并向所述版本测试服务器反馈所述测试信息。
进一步地,所述控制命令还可以包括完整流程命令;所述主控服务器,
还用于将所述完整流程命令对应下发至所述版本构建服务器,以及在接收所
述版本构建服务器上报的所述构建信息后,向所述版本测试服务器下发所述
版本测试命令。
如图1所示,为本发明实施例中的自动化构建和自动化测试系统的整体
结构图,该系统包括主控服务器101、分别与所述主控服务器101相连的版
本构建服务器102和版本测试服务器103、与所述版本构建服务器102相连
的版本构建机以及与所述版本测试服务器103相连的测试机,其中:
所述主控服务器,用于根据获得的请求生成控制命令,将所述控制命令
对应下发至所述版本构建服务器和/或所述版本测试服务器,以及根据所述版
本构建服务器上报的构建信息或所述版本测试服务器上报的测试信息生成回
执信息,所述控制命令包括完整流程命令、版本构建命令和版本测试命令;
所述版本构建服务器,用于向所述版本构建机下发来自所述主控服务器
的版本构建命令或完整流程命令,以及向所述主控服务器上报所述版本构建
机反馈的构建信息;
所述版本构建机,用于根据接收的来自所述版本构建服务器的版本构建
命令或完整流程命令进行软硬件版本的构建,并向所述版本构建服务器反馈
所述构建信息;
所述版本测试服务器,用于向所述测试机下发来自所述主控服务器的版
本测试命令,以及,向所述主控服务器上报所述测试机反馈的测试信息;
所述测试机,用于根据接收的来自所述版本测试服务器的版本测试命令
进行软硬件版本的测试,并向所述版本测试服务器反馈所述测试信息。
另外,所述控制命令还包括版本提交命令,所述主控服务器,还用于根
据所述版本提交命令将当前软硬件版本提交至目标路径。
上述请求包括用户请求和业务请求,用户请求指版本构建请求、版本测
试请求等;业务请求指二次开发业务请求等;
在上述系统中,主控服务器是一个总的控制命令响应、下发、结果反馈
的装置,主控服务器将从本地、互联网、短信来的用户请求经过解析生成具
体的控制指令,或者将从互联网来的业务请求解析生成具体的控制指令,并
根据这些具体的指令向版本构建服务器或版本测试服务器进行命令下发。待
下方的版本构建或测试服务器反馈后,根据具体结果由主控服务器生成回执
消息,经由本地、网络、短信控制模块反馈给用户。
上述主控服务器包括逻辑控制模块、基于互联网(Internet)的控制模块
和基于短信的控制模块;基于Internet的控制模块的作用是允许用户通过
Internet访问来实现对主控服务器的控制和信息察看;用户通过带有登陆口令
控制的客户端经Internet连接到主控服务器,向主控服务器发送请求,主控
服务器收到请求后进行解析展开相关的业务。用户可以通过互联网客户端实
时察看过程信息和相关LOG信息。基于短信的控制模块的作用是允许用户
通过短信平台来实现对主控服务器的控制和信息察看;用户通过手机短信向
主控服务器的短信控制模块的号码发送请求,根据主控服务器短信模块的短
信回复来进行选择,进而触发版本构建和版本测试业务;同时相关的结果信
息和LOG信息通过短信发送到用户的手机号码上。该逻辑控制模块的作用
是提供本地的实时控制和本地的可编辑异步控制,实时控制允许用户实时地
对主控服务器做出操作,可以进行版本构建和自动化测试等实时操作;可编
辑异步控制,允许用户编辑配置文件,设置运行脚本,定时运行,例如用户
可以设置在下班后进行自动构建和自动化测试,同时提交版本和报告。用户
可以实时地查看各个活跃任务的相关进度和有关日志(LOG)信息。
其中,所述主控服务器,具体用于根据本地输入的所述请求或者接收客
户端输入的所述请求或者接收终端发送的所述请求生成所述控制命令。上述
客户端可以为基于浏览器的客户端,允许用户使用客户端登陆到主控服务器,
客户端上有登录界面,经过身份核对的授权用户登录到主控服务器后,将可
以建立和使用已经建立的用户数据进行版本的构建和相关文件的上传工作,
同时也是远端主控服务器结果和版本的反馈终端,从客户端上可以看到版本
构建的过程结果和相关的LOG文件,通过客户端可以下载主控服务器上完
成构建的版本。
上述版本构建服务器用来接收主控服务器的版本构建请求,并发地处理
版本构建的相关业务。当主控服务器的版本构建请求到达,版本构建服务器
根据请求的相关数据解析出版本构建所需的外部信息。针对本次构建建立相
关的数据和文件,分配版本构建机启动版本构建过程;以及接收版本构建机
生成的最新版本和相关LOG,放在适合的数据文件中,发送至主控服务器。
上述版本构建机是一个机器群落,包含了多台版本构建机器。因为同时
能进行多个版本的构建,有些构建对系统某些资源是独占的,因此预备多台
机器可以处理并发构建的需求。同时这个机器群落包含了windows、mac、linux
等多个系统的机器,目的就是满足版本构建的多系统的要求。每个版本构建
机都与版本构建服务器连接可以与之进行通信,以便及时传送回所构建的版
本和LOG信息。
上述版本测试服务器用来接收主控服务器的自动化测试请求,并发地处
理自动化测试的相关业务。当主控服务器的自动化测试请求到达,版本测试
服务器根据请求建立相关的数据和文件,分配测试机,启动自动化测试程序
进行自动化测试。当测试结束接收测试机的自动化测试报告和相关LOG,放
在适合的数据文件中,发送至主控服务器。
上述测试机是一个机器群落,包含了多台测试机器。测试机群落里面包
含了windows、mac和linux等系统的测试机器各若干台。目的是为了满足多
个测试任务的并发执行。每个测试机都与版本测试服务器连接可以与之进行
通信,以便及时传送回自动化测试报告和相关LOG。
上述系统在研发和制造领域构建软件版本和测试时可以实现自动化的版
本构建和自动化的软件测试,缩短了开发周期;同时对于异地用户,还可以
提供基于Internet的服务,对于环境不便没有Internet网络的用户可以提供基
于短信的服务,使得对于软件版本的构建和版本质量的保证方面做到了全天
候的全地域的支持;也可以快速响应远端和本地的需求,节省人员交互沟通
的成本,提高生产率和产品质量。上述系统,对于高端用户和高端用户团体
可以根据自己的喜好对软件进行自定义的开发和扩展,同时还可以通过授权
登录到主控制服务器,完成用户自定义软件从文件到软件版本的过程。
本发明实施例还提供了一种软硬件版本的构建和测试方法,该方法包括:
步骤一、主控服务器根据输入的请求生成控制命令;
该步骤可以包括:所述主控服务器根据本地输入或远端输入的用户请求
生成所述控制命令;或者,所述主控服务器根据远端输入的业务请求生成所
述控制命令,所述业务请求包括二次开发业务请求。
步骤二、当所述控制命令为版本构建命令时,所述主控服务器向版本构
建服务器发送所述控制命令,接收所述版本构建服务器根据所述控制命令上
报的构建信息,并根据所述构建信息生成回执信息。
另外,该方法还可以包括:当所述控制命令为版本测试命令时,所述主
控服务器向版本测试服务器发送所述控制命令,接收所述版本测试服务器根
据所述控制命令上报的测试信息,并根据所述测试信息生成回执信息;或者,
当所述控制命令为完整流程命令时,所述主控服务器向版本构建服务器发送
所述控制命令,接收所述版本构建服务器根据所述控制命令上报的构建信息
后向所述版本测试服务器发送所述控制命令,接收所述版本测试服务器根据
所述控制命令上报的测试信息,并根据所述测试信息生成回执信息;或者,
当所述控制命令为版本提交命令时,所述主控服务器根据所述控制命令将当
前软硬件版本提交至目标路径。
如图2所示,本发明自动化构建和自动化测试系统进行业务的流程图,
该主控服务器包括逻辑控制模块、基于Internet的控制模块和基于短信的控
制模块,本地逻辑逻辑控制模块是主控服务器的核心控制模块,基于Internet
的控制模块和基于短信的控制模块都依赖于逻辑控制模块的逻辑控制。该系
统进行业务的过程包括以下步骤:
S201、逻辑控制模块作为主控服务器本地运行的逻辑控制模块,它接受
本地的版本构建和自动化测试请求,并且负责显示日志等信息,同时它还接
受本地的预约式的配置运行方式,用户通过编辑配置文件可以使得逻辑控制
模块在某一时刻进行某项操作,比如在晚上1点构建某一版本并且进行自动
化测试,结束后将版本提交至某路经;
另外,该模块还可以接收上传的数据文件,并且负责日志等信息的收集,
同时还负责建立用户数据库,存储用户上传的代码和配置文件,保存用户版
本构建请求,为每一个版本构建请求建立一个唯一的标识,客户端将通过这
个唯一的标识来访问对应的数据和信息。
S202、基于Internet的控制模块,属于B/S结构中的服务器端,它接受
用户使用浏览器(Browser)发送的请求,将请求解析后通过本地的逻辑控制
模块进行处理;
该请求包括版本构建请求、版本测试请求和业务请求等,业务请求如二
次开发业务请求;
S203、基于短信的控制模块在主控服务器上有个短信收发终端,能够接
收外部短信的同时向外部发送短信,当用户向主控服务器的短信终端发送短
信的时候短信终端将根据接收的内容对短信进行解析,根据解析的内容通过
本地的逻辑控制模块进行处理;
S204、本地的逻辑控制模块解析本地、Internet、短信的请求生成控制命
令,该控制命令主要由如下四类组成:完整流程命令、版本构建命令、版本
测试命令和版本提交命令;
核心编译解释和图形化环境肩负运行跨平台可视化软件安装包的责任,
它饱含了一组最小集的软件安装包运行所需要的文件。
S205、判断生成的控制命令是否是完整流程命令,如果是完整流程命令,
则转向S206,如果不是完整流程命令,则转向S207;
S206、根据控制命令生成可下达的版本构建命令,转向步骤208;
S207、判断该控制命令是否是版本构建命令,如果是,则转向S206,如
果不是,则转向S210;
S208、版本构建服务器接受版本构建命令,协调统筹版本构建过程,同
时向主控服务器返回版本和日志信息;
S209、主控服务器接受提交的信息生成回执信息;结束;
主控服务器从版本构建服务器上得到构建好的版本同时根据传递的日志
信息,根据分析生成回执信息;从版本测试服务器上得到的测试报告,根据
分析生成回执信息;
用户根据回执信息就可以查看主控服务器对于用户请求的处理情况和结
果。
S210、判断该控制命令是否是版本测试命令,如果是版本测试命令,则
转向S211,否则转向S213;
S211、根据控制命令生成可下达的版本测试命令,下达至版本测试服务
器;
S212、版本测试服务器接受版本测试命令,协调统筹版本测试过程,同
时向主控服务器返回测试报告和日志信息;并转向步骤209;
S213、确定该控制命令是版本提交命令,将S208主控服务器收到的版
本提交至相关路径,转向步骤209。
完整流程命令将执行从版本构建、自动化测试到版本提交的全部过程。
而版本构建命令仅进行版本构建活动,版本测试命令仅进行自动化版本测试
活动,版本提交命令仅进行版本提交活动。
如图3所示,为本发明实施例中基于浏览器的客户端进行业务的流程图,
该过程包括以下步骤:
S301、登录验证,对于这种附加的软件功能和业务,由于牵扯后台维护
的工作,往往这些业务的展开都是有偿的,只有获取相关的权限才能展开该
业务。因此,高端用户、用户团体或者二次开发者可以通过相关渠道获取到
登录主控服务器授权。登录之后就可以转到S302或者S303执行;
S302、如果是初次用户登录可以选择建立用户数据,通过浏览器填充相
关表单,提交给主控服务器中基于Internet的控制模块。基于Internet的控制
模块根据用户提交的内容经由逻辑控制模块建立当前用户的数据信息;
S303、如果用户之前已经建立过用户数据,则可以通过此过程察看相关
数据和已经提交的文件信息和版本构建信息等;
无论是S302还是S303都可以通过S304过程上传和删除文件、代码以
及构建相关配置项。
S304、文件数据上传,用户可以通过此过程将修改的代码,配置文件,
资源文件等上传至主控服务器的相关用户数据库中,同时还可以将版本构建
请求等控制信息和配置项上传至主控服务器;
S305、完成远端版本构建过程,当用户提交了版本构建所需的相关项之
后,就可以启动远端的版本构建过程,主控服务器收到版本构建请求之后将
开辟新的版本构建进程对用户的远端版本构建命令进行响应。最终生成新的
软件安装版本和日志文件,存放于相应的登录用户的数据库中,供用户提取;
S306、版本和日志获取,当S305过程结束之后服务器上用户数据库中
将会有最终软件版本和日志信息。用户可以通过数据察看界面察看到相关文
件信息,下载生成的新的软件版本和日志。
如图4所示,为本发明实施例中版本构建服务器进行业务的流程图,该
过程包括以下步骤:
S401、由主控服务器将下达的版本构建命令传递到版本构建服务器;
版本构建服务器通过版本构建命令可以确定一个版本构建任务,以及所
需要的所有外部输入。版本构建服务器可能同时接收到多个版本构建指令,
版本构建服务器将可以产生多个版本构建进程来控制并发的版本构建过程。
S402、版本构建服务器收到版本构建指令后,维护自身的版本构建进程
队列,协调其控制的各个版本构建机;当分配了版本构建资源后,版本构建
服务器就会向相关的版本构建机发送版本构建指令,转到S403、S404、S405
执行;
当剩余的版本构建机资源允许进行当前版本构建任务时,版本构建服务
器会产生新的版本构建进程并分配相关的版本构建资源。当剩余版本构建资
源不允许进行当前版本构建任务时,版本构建服务器会将当前版本构建任务
加入等待队列,当有版本构建资源释放时,会再次检查队列中等待任务,当
有满足任务时,从等待队列中将此任务取出,建立版本构建进程并分配相关
资源。
S403、windows版本构建机群构建windows版本;
S404、mac版本构建机群构建mac版本;
S405、linux版本构建机群构建linux版本;
版本构建服务器根据当前构建版本的类型和当前类型版本构建机器的使
用情况选择具体的版本构建机器进行版本构建。每一个版本构建机上都有相
应版本构建的所需的自动化构建工具和相关的下载上传工具。
S406、版本构建机将构建好的版本发送至版本构建服务器,由版本构建
服务器决定后续的操作。
后续操作一般包括将多平台软件版本生成三合一或者二合一软件包,或
者直接将软件版本提交至主控服务器。
如图5所示,为本发明实施例中版本测试服务器进行业务的流程图,该
过程包括以下步骤:
S501、由主控服务器将下达的版本测试命令传递到版本测试服务器;
版本测试服务器通过版本测试命令可以确定一个版本测试任务,以及所
需要的所有外部输入。版本测试服务器可能同时接收到多个版本测试指令,
版本测试服务器将可以产生多个版本测试进程来控制并发的版本测试过程。
S502、版本测试服务器收到版本测试指令后,维护自身的版本测试进程
队列,协调其控制的各个测试机;当分配了版本测试资源后,版本测试服务
器就会向相关的测试机发送版本测试指令,转到S503、S504、S505执行;
当剩余的测试机资源允许进行当前版本测试任务时,版本测试服务器会
产生新的版本测试进程并分配相关的资源。当剩余版本测试资源不允许进行
当前版本测试任务时,版本测试服务器会将当前版本测试任务加入等待队列,
当有版本测试资源释放时,会再次检查队列中等待任务,当有满足任务时,
从等待队列中将此任务取出,建立版本测试进程并分配相关资源。
S503、windows测试机对windows版本进行测试;
S504、mac测试机对mac版本进行测试;
S505、linux测试机对linux版本进行测试;
版本测试服务器根据当前测试任务选择具体的测试机器进行自动化测
试。每一个测试机上都有相应版本测试所需的自动化测试工具和相关的下载
上传工具。
S506、生成测试报告,自动化测试的目的就是测试软件版本的质量,其
重要的输出就是测试报告。自动化测试工具完成自动化测试后会生成测试报
告,上传至版本测试服务器。
将有利于提高效率,缩短开发周期,实现全天候自动化的版本构建和自
动化测试服务,有效的保证了所构建版本的质量。
上述软硬件版本的构建和测试方法,有利于提高效率,缩短开发周期,
实现全天候自动化的版本构建和自动化测试服务,有效地保证了所构建版本
的质量。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序
来指令相关硬件完成,上述程序可以存储于计算机可读存储介质中,如只读
存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用
一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用
硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任
何特定形式的硬件和软件的结合。
以上实施例仅用以说明本发明的技术方案而非限制,仅仅参照较佳实施
例对本发明进行了详细说明。本领域的普通技术人员应当理解,可以对本发
明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范
围,均应涵盖在本发明的权利要求范围当中。