基于hudson分布式测试解决方案

场景一

应用场景
适用于: quick任务(编译、单测)+ N个测试任务(每个测试任务执行部分的用例)。测试完成后只需要作xunit格式的报告的merger,不需要额外的汇总。如下图所示:
 



实现方法 
※安装插件Copy+Artifact+Plugin 
※设置机器Grid和任务Grid



※quick任务设置 
※测试任务设置,每个任务执行前先设置获取上游任务产出



※每个测试任务的执行过程中,指定执行一部分的用例 
※测试完成后,hudson会自动的在上游任务中把下游的任务的报告(例如xunit格式的报告)作merge。 
注意
※上下游任务要Record fingerprints of files to track usage同一个文件。一般可设置为quick任务的编译产出 
※下游任务失败时,通知上游任务的提交者,可使用插件Blame+Upstream+Committers+Plugin

场景二


应用场景
适用于: quick任务(编译、单测)+ N个测试任务(每个测试任务执行部分的用例)+ 汇总任务。测试完成后 不仅仅只需要作xunit格式的报告的merge,还需要有一个额外的汇总任务,这个汇总任务必须等所有的测试任务完成后才能执行。如下图所示:
 



实现方法
※安装插件 Join+Plugin 
※quick任务设置
 




※其他设置同方案一 
注意
如果汇总任务merge的报告还需要在quick任务中展现,则需要把报告传到quick任务的工作目录下。

场景三


应用场景
前面两个方案,有如下一些缺点: 
任务过多:包括quick任务+N个测试任务,不便于管理。 
用例数变化时需人工调整任务 : 人工设置每个任务运行的哪些用例,那么在用例数发生了变化时,需要人工调整,很费时费力。 
任务并发度不可调 : 任务的并发度等于建立的子测试任务的数目,调整并发度,需要建立/删除任务,且要改quick任务的设置,很麻烦。 
任务时间差别大,形成短板 : 整个测试完成的时间实际上是等于执行时间最长的测试子任务的时间,时间不够优化。 
針對上面的缺点,提出以下方案(quick任务+1个测试任务+动态挑选用例),如下图所示
 



实现方法
※各个机器之间能相互发送拷贝文件(例如通过建立信任关系),用于报告收集 
※编译任务设置 设置报告


设置测试并发度




通过脚本访问URL触发 ${Test_Parallel} 次测试任务: HUDSON_URL/job/test/buildWithParameters?token=TOKEN_NAME&Upstream_path=work@host:~/path 
※测试任务设置 
设置构建参数(Upstream_path,测试完后发送报告到该路径汇总),方法同上。
命令行触发构建


多次构建并行执行

每次构建执行先从用例库获取1个或部分用例,执行完后再次获取。 
构建后将报告重命名为${BUILD_NUM}.xml,然后根据Upstream_path发送报告到编译任务所在机器 * 采用统一的方式管理所有的用例,根据请求返回1个或多个未执行的用例 

※根据机器属性和任务执行要求,设置机器Grid和任务Grid 
优势
更省时间、提高机器利用率、负载均衡、并发度可控、任务数少

 

(作者:ymao)

 















本文转自百度技术51CTO博客,原文链接:http://blog.51cto.com/baidutech/743697,如需转载请自行联系原作者


根据原作 https://pan.quark.cn/s/0ed355622f0f 的源码改编 野火IM解决方案 野火IM是专业级即时通讯和实时音视频整体解决方案,由北京野火无限网络科技有限公司维护和支持。 主要特性有:私有部署安全可靠,性能强大,功能齐全,全平台支持,开源率高,部署运维简单,二次开发友好,方便与第三方系统对接或者嵌入现有系统中。 详细情况请参考在线文档。 主要包括一下项目: 野火IM Vue Electron Demo,演示如何将野火IM的能力集成到Vue Electron项目。 前置说明 本项目所使用的是需要付费的,价格请参考费用详情 支持试用,具体请看试用说明 本项目默认只能连接到官方服务,购买或申请试用之后,替换,即可连到自行部署的服务 分支说明 :基于开发,是未来的开发重心 :基于开发,进入维护模式,不再开发新功能,鉴于已经终止支持且不再维护,建议客户升级到版本 环境依赖 mac系统 最新版本的Xcode nodejs v18.19.0 npm v10.2.3 python 2.7.x git npm install -g node-gyp@8.3.0 windows系统 nodejs v18.19.0 python 2.7.x git npm 6.14.15 npm install --global --vs2019 --production windows-build-tools 本步安装windows开发环境的安装内容较多,如果网络情况不好可能需要等较长时间,选择早上网络较好时安装是个好的选择 或参考手动安装 windows-build-tools进行安装 npm install -g node-gyp@8.3.0 linux系统 nodej...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值