Scrum gathering 2012 shanghai_...
-
Upload
jalamar -
Category
Technology
-
view
239 -
download
2
Transcript of Scrum gathering 2012 shanghai_...
快速可持续 的 高质量发布市场需要就发布
集成,测试和部署的消耗低
BUG少
测试周期长,Bug排查耗时 项目排队提测,排队上线,内部PK消耗大
合并分支风险大,耗时长
C++产品线,100+人 承担收入,更新频繁 项目小,且多
个体技能提升 (单测, 重构, Code Review, 每天一次Check In)
增加和优化质量保证
自动化提测
构 建 基 础 CI 环 境 自动化上线
6步代码修改习惯
在目标分支运行已有的自动化测试
•••
鼓励集成的 分支管理策略
•••
•••
••• •••
••• ••• ••••••
•••
个体技能提升 (单测, 重构, Code Review, 每天一次Check In)
增加和优化质量保证
自动化提测
构 建 基 础 CI 环 境 自动化上线
6步代码修改习惯
鼓励集成的 分支管理策略
•••
在目标分支运行已有的自动化测试
用脚本测试
DB
❶ 开发基于Python的测试工具,用
Python脚本写测试 ❷
测试工具、用例及数据与生产代码做同源版本管理
❸
测试环境标准化,每个人都能运行所有测试
个体技能提升 (单测, 重构, Code Review, 每天一次Check In)
增加和优化质量保证
自动化提测
构 建 基 础 CI 环 境 自动化上线
6步代码修改习惯
在目标分支运行已有的自动化测试
鼓励集成的 分支管理策略
单分支+功能开关
P1
P2
P3R3
特性分支
R1
R2
P1
P2
P3
P4
R1 R2
单分支 + 规律性发布
特性开关 配合 单分支开发
声明
使用
避免使用特性开关的 双分支开发
R2
R2 A
B
F5 F6
F1 F3F1
F4
F8F7 F9
F1IF10 F12F5
F6
F4
R1
F1
F1
F3 F9
F7
F8
个体技能提升 (单测, 重构, Code Review, 每天一次Check In)
增加和优化质量保证
自动化提测
构 建 基 础 CI 环 境 自动化上线
在目标分支运行已有的自动化测试
鼓励集成的 分支管理策略
6步代码修改习惯
编译和测试加速
25min
9min
16min
10min7min
分布式编译 - discc
测试加速 优化编译依赖
代码和测试增加
应用编译缓存 - ccache
应用编译集群
SVN
产品库
OP
编译集群
产品线构建集群
Dev
个体技能提升 (单测, 重构, Code Review, 每天一次Check In)
自动化提测
构 建 基 础 CI 环 境 自动化上线
在目标分支运行已有的自动化测试
鼓励集成的 分支管理策略
6步代码修改习惯增加和优化质量保证Check In触发
的性能测试
?
通过Branch隔离 通过Check In隔离
Pre-performance提供性能的快速反馈
开关常开方案确保Hudson在Trunk上的性能测试能够测到新功能
个体技能提升 (单测, 重构, Code Review, 每天一次Check In)
自动化提测
构 建 基 础 CI 环 境 自动化上线
在目标分支运行已有的自动化测试
鼓励集成的 分支管理策略
6步代码修改习惯增加和优化质量保证
基于Check In的性能测试
测试Pipeline
在构建集群中的测试Pipeline
依赖持续集成平台运行测试功能集成,性能,大数据对比测试
个体技能提升 (单测, 重构, Code Review, 每天一次Check In)
自动化提测
构 建 基 础 CI 环 境 自动化上线
在目标分支运行已有的自动化测试
鼓励集成的 分支管理策略
6步代码修改习惯增加和优化质量保证
基于Check In的性能测试
测试Pipeline
测试 前移
Local Test
Trunk
RB
Trunk Test
RB
Trunk
RB Test
Trunk
RB
NEW -> RB-READY -> RB-TESTING -> ONLINE
个体技能提升 (单测, 重构, Code Review, 每天一次Check In)
自动化提测
构 建 基 础 CI 环 境 自动化上线
在目标分支运行已有的自动化测试
鼓励集成的 分支管理策略
6步代码修改习惯增加和优化质量保证
基于Check In的性能测试
测试Pipeline
测试 前移 Remote
Personal Test
local testDev能随时针对本地代码发起运行于构建集群中的性能测
试,功能集成测试和大数据对比测试
个体技能提升 (单测, 重构, Code Review, 每天一次Check In)
构 建 基 础 CI 环 境 自动化上线
在目标分支运行已有的自动化测试
鼓励集成的 分支管理策略
6步代码修改习惯增加和优化质量保证
自动化提测
自动创建Release Branch并建Job
个体技能提升 (单测, 重构, Code Review, 每天一次Check In)
构 建 基 础 CI 环 境
在目标分支运行已有的自动化测试
鼓励集成的 分支管理策略
6步代码修改习惯增加和优化质量保证
自动化提测 自动化上线
通过脚本实现自动化
•配置,数据及部署脚本与源码做同源版本管理
•上线步骤全部脚本化,通过一条命令运行
•线上配置的修改与代码一样,需要自动化测试保证质量
•与Hudson集成,实现一键上线
env/ - base/ - dev/ - test/ - functional/ - query_diff/ - performance/ - production/ - node_base/ - nodes/ - IDC_1 - IDC_2
个体技能提升 (单测, 重构, Code Review, 每天一次Check In)
构 建 基 础 CI 环 境
在目标分支运行已有的自动化测试
鼓励集成的 分支管理策略
6步代码修改习惯增加和优化质量保证
自动化提测 自动化上线
通过脚本实现自动化
签单流程与上线操作分离
0
2
4
6
8
试点前 试点后
2.5
8
发布周期缩短 人力比下降
QA
RD
QA
RD
还有问题,还没结束
谢谢
路宁 [email protected] weibo@路宁同学