没有合适的资源?快使用搜索试试~ 我知道了~
如何有效的解决上面这些问题?首先想到的是持续集成,能够做到自动化、集成测试和及时反馈问题,才能减少开发和测试的成本,提高团队的工程能效。
资源推荐
资源详情
资源评论
高效客户端持续集成实践之路
背景
敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。闲鱼目前
采用泳道任务模式进行迭代开发,开发周期是两周一个版本,发版频率比较高,并行开发的业
务需求又很多,怎么才能高效的迭代开发测试资源相对紧缺,如何保证客户端的研发质量于
此同时,迭代过程中,构建、集成以及测试都需要人工干预,沟通成本和出错概率都比较高。
如何有效的解决上面这些问题首先想到的是持续集成,能够做到自动化、集成测试和及时
反馈问题,才能减少开发和测试的成本,提高团队的工程能效。闲鱼在客户端持续集成方案上
面做了些探索和实践,本文主要以 多 的工程为例,讲解下如何用
、 实现持续集成方案,将需求 代码 测试关联,做到代码结构化并持续集
成。
1. 数据模型
1.1 泳道模型
首先,让我们来看下泳道模型,让我们对他有个大体了解。先来看一张图:
这是大家常用的 模型,集成分支就是 ,如果需要开发需求,就从集成分
支拉出对应的特性分支 ,等开发结束,再将 合并回 分支,集成分
支测试通过的话,再拉出发布分支 ,由于 分支不是很常用,所以在闲鱼这边
暂时没用。
这是单个库的情况,都比较好理解,前面背景也介绍过, 的工程在拆库,拆库的情况
大致如下:
会有一个主工程来管理这些子库,这是 个子库,外加一个主工程,也就意味着会有
个 地址,在开发需求的时候,主要改动的 集中在: 、!"如果
改动的库一多,那就意味着每个库都需要拉出一个 分支。等操作完了,再进行合并到
# 分支,又是一个不小的工作量。
上面只是介绍了一个需求的情况,如果有 个需求,对于集成人员来说,就是 $ 的工作
量。这个只是 工程,还有一个 工程,以后可能还有 的、 的,最坏
的情况,工作量就是 %$$,相信对于任何一个开发&测试&',都是一个不小的挑战。
所以,自动集成对于闲鱼来说,迫在眉睫,要想做客户端自动集成,摆在我们面前有这么
几个问题:
多个需求,怎么才能保证有条不紊的集成
如何持续集成,方案应该如何设计
集成结束,怎样触发测试
让我们先来看下开发过程标准化,将需求、代码、集成关联起来,做到从源头到结尾的自
动化。
1.2 关联需求和代码
需求都是在 ( 平台上面来管理的,每个需求都对应有一个 ,怎么将需求跟代码关联
注:( 是一个需求管理平台
闲鱼的解决方案是:在 提交 ) 中,添加上需求的信息,比如需求的 。实现的
原理就是拦截 ) 事件,然后将相关的需求添加到 ) 中,接下来的问题就是怎
么取到相关需求的信息
有 * 个方法:
统一分支命名规范,例如 +&+,-(.,-).
提交的时候主动输入需求信息,例如 / 00-(.
这样在提交的时候,就可以获取到-(.,最终将代码和需求关联起来,结果如下图
所示:
第 * 行就是关联需求的链接,每个 ) 上面就携带了需求的信息,主要是为了后面定
位测试范围。这个需求在测试通过后,可以监听需求状态变更的 1 消息,先合并分支代
码,再自动删除分支。
关联需求和代码,详情可参考这篇文章:2+3 实现代码与需求的一致性
1.3 关联需求和集成项
前面也交代过背景,闲鱼测试组期望是能做到开发阶段和集成阶段都能触发相关的集成和
测试件,这就要求我们,要做到需求与集成项关联起来,一个需求对应一个摩天轮的项目。
注:摩天轮是一个构建平台,可以配置相关的模块依赖
剩余13页未读,继续阅读
资源评论
qq_36092672
- 粉丝: 1
- 资源: 37
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功