开发工程师,测试工程师,运维工程师,架构师,项目经理,测试经理,技术经理,技术总监,CTO,以及希望学习,应用或改善持续集成实践的团队成员。
持续集成是被广泛认可的技术最佳实践,是敏捷开发的基础,它强调团队成员频繁地集成代码,并通过含自动化测试的自动构建过程保证集成的质量,及时发现和修复问题,以此降低后期集成的风险和成本消耗,提高质量。这需要团队成员提升技能,养成鼓励集成的工作习惯,积累各级测试,更需要为此建设强有力的技术基础设施,有效降低每次集成的消耗,提升反馈的质量。
讲师结合自己多年在不同类型项目和公司中实施持续集成的经验,为大家详细讲解持续集成中涉及的各个专题,分享一手的宝贵经验,为大家在自己的公司中建立或改进构建、测试和部署设施提供可行的办法。
第1单元:重新认识持续集成
* 什么是持续集成,什么不是持续集成
* 反思软件交付的基本原则 - 持续集成的指导
* 六步代码修改习惯
* 分享一个Java项目的基础持续集成系统和脚本
* 个人在持续集成模式下需遵守的纪律和关键实践
第2单元:大型案例剖析
* 从8天一次交付到2天一次交付 - 一个C++产品线的持续集成改进过程
* 鼓励集成的分支管理策略和规律性发布策略
* 应用开关技术
* 同源版本管理技术(针对测试、依赖、应用配置、部署配置、环境、以及大数据)
* 对架构的可测性改造
* 测试自动化改造与测试提前
* 实现自动化提测
* 实现自动化上线
* Hudson平台应用的10项最佳实践
第3单元:建设部署与测试Pipeline
* 构建从代码提交到发布的Pipeline
* Pipeline建设最佳实践
* 构建与部署的脚本化技巧
* 构建集群与编译集群技术
* 本地构建的原则与实践
* 自动化验收测试与非功能测试实践
* DevOps
* 持续集成模式与反模式
第4单元:持续集成周边技术与实践
* 与持续集成匹配的需求管理及迭代管理方法概要
* 持续集成模式下测试人员的工作与合作流程
* Bug管理
* 基础设施与环境管理
* 组件与依赖管理
* 数据管理
* 分布式版本管理技术的应用
第5单元:持续集成在企业的实施与度量
* 持续集成实践成熟度模型
* 分享持续集成实施方案
* 持续集成实施的主要问题与挑战
* 度量实施效果的方法
第6单元:TDD
* TDD演示:现场通过TDD的方式开发一个Java项目,同时调动学员参与关键步骤的设计和讨论,使学员清晰地理解TDD的方方面面
* TDD对传统开发的启示和挑战
* TDD核心工具链
Q&A
*课程当中学员无需携带电脑等设备