《持续集成:软件质量改进和风险降低之道》读书笔记

2016-12-24  本文已影响142人  lpw716485
封面.jpg

作者:[美]Paul M. Duvall保罗.M. 杜瓦尔Steve Matyas史蒂夫.迈耶斯Andrew Glover(安德鲁.格洛弗) 著,王海鹏 译出版社:电子工业出版社出版时间:2012年06月

摘要:

主要包含 :构建,集成,部署,测试,审查,文档与反馈

第二章:引入集成

集成的价值

       减少风险,减少重复工作,增加项目可度量性,随时提供可用产品,增强开发人员对产品的信心

集成实践内容

       修改代码后要及时向版本库提示可编译的代码;自动化测试;及时修复构建失败的代码;自动化审查代码标准;做到至少每日一次自动化构建。

第三章:通过CI来减少风险

1.缺少可部署的软件
(ant定期编译)
2.很晚才发现缺陷
(单元测试,自动化测试)
3.项目可见性差
(SMS,EMAIL通知相关人员)
4.低品质的软件
(编码标准checkstyle/PMD/Findbug,架构标准 Jdepend)

四:及时构建软件

       构建频率要至少半小时以上,无需每分钟,因项目基本上都不可能几分钟就构建完成了。

五:持续数据库集成 CDBI

1‌.版本库管理数据库脚本要像源代码一样进行管理,规划好资源目录
2.提供不同环境的执行脚本,做到重建数据库及数据
‌3.测试存储过程或函数
‌4.多版本并行开发也是同样道理
‌5.DBA要成为开发中的一员,完成SQL性能优化,脚本规范化等工作

六:测试

1‌.将测试分组:单元、组件、系统、功能
‌2.先执行较快的测试:单元
‌3.为缺陷编写测试案例,防止相同错误再次出现
‌4.一个测试用例使用一个断言
‌5.测试数据共享,可重复

七:审查

1‌.人工和自动化审查互补
‌2.审查编码标准,架构分层,重复代码
‌3.降低代码复杂度,CCN > 10不安全,降低圈度复杂度方法是《重构》和增加测试案例
4‌.重构前要先编写测试用例
‌5.常用工具:javaNCSS,PMD,Checkstyle
‌6.对象依赖:传入耦合高的对象会造成破会,传出耦合高的配件会遭到破会(JDepend)
‌7.代码覆盖率工具:PMD-CPD,Simian,Cobertura,EMMA,Clover,jacoco
‌8.通过代码覆盖率工具检查代码测试案例不足的功能(重要)

八:部署

‌1.随时随地提供可运行的软件
‌2.最好有回滚到上个版本的能力
‌3.生成报告,及时反馈

九:反馈

       在正确的时间,以正确的方式,将正确的信息,发送给正确的人

导图输出

持续集成:软件质量改进和风险降低之道.png
上一篇下一篇

猜你喜欢

热点阅读