优势三:沟通更加有效

  有了持续集成,频繁部署也不是什么难事了。频繁部署的价值在于,你的客户可以快速的享用软件的新功能,并能快速的提出反馈。这将有利于清除客户和开发之间的障碍——我认为这是软件开发大的障碍。

  三、持续集成所需工具

  按照前面的描述,持续集成过程中需要做的四件事情,相应地我们需要这样四种工具。

  1、频繁集成(开发、测试check in)

  配置管理工具:SVN, CVS等;

  2、代码构建的任务调度

  任务调度工具,如:kelude, toast, hudson, CruiseControl等

  3、自动编译、测试(从配置库拷贝代码进行编译、测试)

  根据构建代码的差异性,不同代码有不同的构建工具,如:maven,ant,mocha,makefile,shell等

  4、结果反馈(解析并反馈测试结果),这边需要做两件事:

  a、结果解析,这个大部分都由任务调度工具支持,有些平台像hudson采用插件的形式提供支持

  b、邮箱,用来反馈测试结果

  四、持续集成发展

  发展方向:集成多维度测试方式,提供代码质量评估的多维度度量,与测试技术的发展密不可分

  代码质量评估维度参考:

  1、覆盖率(clover, cobertura, emma, tcc, etc.)

  2、静态检查(checkstyle, findbugs)

  3、函数深度 (sourceMonitor)

  4、圈复杂度(javaNCss)

  5、安全漏洞(安全漏洞扫描工具)

  6、……