<高效团队:开发工具与方法>

  • 时间:
  • 浏览:3
  • 来源:跟我学网络

第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的协作