|
持续集成
持续集成一种软件开发实践。通过它,开发团队的成员频繁的整合他们之间的工作。它不是简单的组装软件而是软件开发过程的核心实践,通过时时运行测试,保证软件现有的功能不被破坏,自动分析现有代码的状态(有无重复逻辑,代码的复杂度等)并发布相关的报告。这些功能根据开发团队所采用的持续集成服务器不同而有所不同,如TeamCity 采用自动的服务器端分析,而开源项目CruiseControl要求开发团队采用Checkstyle, Emma, Simian 等代码分析工具。
如何进行持续集成?
在进行持续集成实践前,应当正确的选择并配置持续集成服务器。列出了所有的持续集成服务器 ,其中比较成熟的持续集成服务器包括:CruiseControl, Anthill, Bamboo, TeamCity, Continuum 等。CruiseControl作为开源产品,以其对于各种SCM以及构建工具的广泛支持而被许多开发团队所接受。
在一个典型的持续集成过程中:
- 开发者每次将代码提交到SVN之前,必须运行本地测试: 尽量保证不会破坏持续集成服务器的构建过程。
- 开发者每天进行多次提交:小步前进会大大减少服务器构建失败的概率,并且使得修复失败构建的时间大大缩短。
- 持续集成在一台服务器上不断运行:保证在稳定的环境中进行测试。
- 所有的测试必须全部通过:保证软件现有的功能不被破坏并且没有引入新的缺陷
- 生成构建结果(War, Jar,exe等) : 用以开展下一步的工作,譬如QA的探索测试等。
个人感觉的难点:
前期单元测试不足
团队配合程度不够,测试与开发沟通不足,导致版本混乱,最后导致测试的偏差甚至失败
[ 本帖最后由 peag 于 2010-4-11 11:03 编辑 ] |
|