第1章 什么是团队开发
第2章 团队开发中发生的问题
第3章 版本管理
1.版本管理系统优点:
保留修改内容
方便查看版本差异
防止错误覆盖他人修改的代码
还原到任意时间点的状态
生成多个分支和标签
2.分布式版本管理系统(git):
优点:
将代码库完整地复制到本地
运行速度快
临时作业的提交易于管理
分支、合并简单方便
不受地点限制进行协作开发
缺点:
系统中没有真正意义上的最新版本
没有真正意义上的版本号
工作流程配置过于灵活,容易产生混乱
思维方式的习惯需要一定的时间
3.使用git并行开发:
使用命令
4.git开发流程:
工作流模式:
中央集权型工作流
GitHub型工作流
分支策略模式:
git-flow:倾向于发布间隔较长的大规模项目
github-flow:适用于需要经常发布的具有速度感的项目
5.数据库模式和数据的管理
6.配置文件管理
第4章 缺陷管理
1.svn/GitHub
第5章 CI(持续集成)
1.CI:
原因:
成本效益
市场变化速度
兼顾开发速度和质量
必要条件:
版本管理系统
build工具
测试代码
CI工具
编写测试代码所需的框架:
测试驱动开发(TDD)的框架:
在编码前,为了确认需求先编写测试代码,然后再编写符合测试代码的应用程序代码
行为驱动开发(BDD)的框架:
同TDD。不同之处在于,TDD针对程序的API编写测试,而BDD则是接近于需求说明的编写方法
主要CI工具:Jenkins、Bamboo和TravisCI(GitHub)
2.测试代码写法
作为CI的对象的测试种类:
单元测试(Unit Test,UT)
集成测试(Integration Test,IT)
用户验收测试(User Acceptance Test,UAT)
回归测试
第6章 部署的自动化(持续交付)
1.部署自动化好处:
细粒度、频繁地发布可以使风险可控
能尽快获得用户反馈
团队的规模可控
2.引导:Kickstart、Vagrant
3.配置:Chef、serverspec
4.编配:Capistrano、Fabric、Jenkins
5.回滚
第7章 回归测试
1.回归测试
2.Selenium
3.Jenkins和Selenium的协作