1.4 如何解决这些问题
为了解决上述课题,本书将对各类工具及其使用方法进行讲解。
1.4.1 第 2 章 :案例分析
在讲解的顺序上,首先为了了解诸事不顺、无法顺利进行的项目究竟是怎样的,我们将在第 2 章仿真在参与某个项目的两天时间内所发生的事情;然后介绍如何解决在这两天时间中出现的问题,并从之后的第 3 章开始对相应的工具进行讲解。
1.4.2 第 3~5 章 :基础实践
从第 3 章开始,将依次介绍改善团队开发中需要进行的工作。各位读者可以按顺序阅读,并逐个实行。
第 3 章是关于版本管理系统(Version Control System,VCS)的内容。想必大多数人已经在使用版本管理系统了。本章将在回顾版本管理系统飞速发展的历史的同时,以 git-flow 和 GitHub-flow 这两个具有代表性的工作流程为例,对当下最流行的分布式版本管理系统的使用方法进行讲解。后面在内容上还更进一步,讲解数据库模式变更管理的重要性。
第 4 章是关于缺陷管理系统(Issue Tracking System/Bug Tracking System,ITS/BTS)的内容。这里的缺陷管理是指将完成项目所必需的任务(task)以 bug 票的形式进行管理。包括商用软件在内,缺陷管理工具的数量很多,让人不知该如何挑选,因此这里将介绍一些挑选时的要点。这一章还探讨了结合使用缺陷管理和版本管理系统所带来的优势,以及使用缺陷管理系统时课题的颗粒度问题。
第 5 章是关于持续集成(Continuous Integration,CI)的内容。估计很多开发现场都已经使用了版本管理系统和缺陷管理系统,但还没有使用 CI。进入测试阶段后,首次下载所有修改的代码并试着编译时,发现编译错误,或者程序无法启动,有如此经历的读者想必不在少数吧。
为了避免上述问题,就需要导入 CI。CI 会持续地下载代码的变更或者依赖关系的变更等所有变更内容并进行编译。导入 CI 可以同时提高开发速度及质量。这章将讲解实施 CI 所必要的编译工具、测试框架以及 CI 工具。
到第 5 章为止,都是在讲述为了顺利推进团队开发所需的基础实践。请认真阅读前 5 章,并试着实际操作一下。在前 5 章的内容已经全部实现的开发现场,如果要进一步推进团队开发,就需要用到从第 6 章 开始介绍的内容。
1.4.3 第 6~7 章 :持续交付和回归测试
第 6 章是关于持续交付(Continuous Delivery,CD)的内容。这里将对能够进行自动化环境构建,并结合 CI 实践在任意时间、重复地将运行的程序发布到正式环境中的机制进行讲解。
第 7 章是关于回归测试的内容。反复从用户角度运行用户验收测试,以此来确保没有退化发生,这是实现快速产品发布中必不可少的环节。本章将讲解使用 Selenium 和 Jenkins 来实现回归测试的自动化,还将进一步介绍为了加快测试速度所需要的分布式测试环境的搭建。
