持续集成—软件质量改进和风险降低之道

请考虑软件项目中的一些典型的开发过程:编译代码、通过数据库定义数据并操作数据、进行测试、复查代码,最后部署软件。 本书向您展示了如何创建一个虚拟的集成按钮,将许多软件开发过程都自动化。而且,我们介绍了如何持续地按下这个按钮,从而减少创建可部署的应用程序时的风险,如较晚才发现缺陷,低品质的代码等。

软件项目开发有两大难题:一是确定软件的需求,即确定目标;二是确定目前离目标还有多远,即确定剩余的工作量。第二个问题就是项目缺少可见性的问题,对于它的讨论“人月神话”做出了“巨大贡献”。当一个项目经理或一名开发者说已经完成了80%的任务,您必须保持审慎的态度。因为剩下的20%可能还需要80%的时间,甚至永远也不能完成。您可能迟迟不能拿到可以部署的软件,对此所有人都无能为力,只能表示深深的遗憾。这确实让专业软件开者的声誉蒙羞。但是对于大型软件开发这样的复杂工作,我们的经验确实显得有些不够。
本书向我们介绍了一种增加项目可见性、降低项目失败风险的有效实践经验。许多软件开发的资深人士认定,这种方法非常不错。我们不必把宝全部押在最后那一次“大爆炸”式的集成上,而是采用“早集成、常集成”的策略。这样做可以减少缺陷引入和缺陷发现之间的时间,提高开发效率,降低风险。您对项目报告中提到的百分比将有更大的信心,而且任何时候,您都可以得到一个可以部署的软件。虽然功能可能还没有全部实现,但它是可用的!
本书向我们揭示了这样一个道理:如果一件事很难,而您又必须做,不妨经常去做,每次做一点点。其实这也是古老的“分而治之”思想的一种应用。正所谓“滴水穿石,跬步千里”。
本书除了介绍持续集成(Continuous Integration, CI)的基本原则和工具之外,也介绍了测试驱动、代码审查、数据集集成、信息反馈等实践和工具。人(思想)、过程和自动化工具完美结合,以开成一个和谐的开发生态环境。

前言
第一部分 CI的背景知识:原则与实践
第1章 启程
第2章 引入持续集成
第3章 利用CI减少风险
第4章 针对每次变更构建软件
第二部分 创建全功能的CI系统
第5章 持续数据库集成
第6章 持续测试
第7章 持续审查
第8章 持续部署
第9章 持续反馈
尾声 CI的未来
附录A CI资源
附录B 评估CI工具

19MB    下载
仅供读者预览及学习交流使用,下载后请24小时内删除


评论: