也谈持续集成

发表于:2012-12-27 10:56

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:雷藏    来源:TaoBao QA Team

  持续集成是数据支撑今年重点实施项目,上半年支持数据平台所有持续集成平台搭建工作,涉及到的语言多,构建工具繁杂,相应地也尝试了很多覆盖率工具。

  一、那么什么是持续集成?

  下面就谈谈我对持续集成的理解。

  首先试想一下,在软件开发工程中,开发人员专注于编写程序逻辑代码和单元测试脚本,测试人员专注于编写测试脚本。一旦开发或者测试check in代码以后,经过几分钟就可以收到相应的测试报告,报告会告诉你,你刚编写的代码是否存在BUG,代码是否测试充分,代码是否安全,是否满足性能要求等等,这该是一件多么美妙的事情啊!

  敏捷大师Martin Fowler给出的定义是这样的:

  Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible.

  我们来看一下这里面的几个关键词:

  Continuous Integration isa software development practicewhere members of a teamintegrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration isverifiedby an automated build (including test) to detect integration errors as quickly as possible.

  从这段话中我们总结出持续集成的特点:

  1、频繁集成

  2、构建任务调度

  3、自动构建测试

  4、结果反馈

  因此,持续集成就是由频繁集成,自动构建任务调度,自动测试和结果反馈这四个步骤构成的。

  二、那么为什么我们要做持续集成,其优势又在哪?

  优势一:缩短项目开发周期,减低项目风险

  模块的集成存在难度和需要时间,很难预测集成到底要花多少时间,更糟的是,你很难了解集成的进展情况。持续集成让你任何时候你都知道自己所处的情况,软件的哪些地方在工作,哪些没有。

  优势二:快速消除BUG

  Bug,恶心的玩意儿,伤害我们的自信,搅乱我们的日程,还破坏我们的名声。如果在生产环境中遇到了bug,那等待你的将是故障。持续集成并不能消除bug,却能帮你快速的发现bug并予以清除。当遇到bug时,一方面,由于你只做了很小的修改,另一方面,由于是你刚写的代码,因此也使查找bug更加容易。Bug也存在积累性,bug越多,越难清除。部分原因在于bug之间存在牵连。另外也存在心理因素,bug一多,人便没那么多精力去修了——这就是所谓的“Broken Windows 综合征”。写出好多测试用例并不难。然而,要达到低bug率的程度依然是需要时间的,你还得不断地引入并改进自己的测试。

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号