思特沃克学院小小读书会

持续交付(第七章)—提交阶段

2017-06-12  本文已影响8人  DouQing

在上一章中了解到如何将构建与部署脚本化,脚本通常都是帮助我们进行构建,测试,部署和发布应用的所有自动化命令集。并且在项目中脚本系统应该是一等公民。而本章的内容在之前的章节都有所提及,但是本章会更加详细的讨论如何创建有效的提交阶段和高效的提交测试。

提交阶段流程

当有人向版本控制系统的主干上提交了一次变更后,持续集成服务器会发现这次变更,并将代码签出,执行一系列的任务,包括:

提交阶段的原则和实践

提交阶段的首要目标是要么创建可部署的产物,要么快速失败并将失败原因通知给团队,下面列出建立高效提交阶段的原则和实践。

1.提供快速有用的反馈
2.何时令提交失败
3.精心对待提交阶段
4.让开发人员也也拥有所有权
5.在超大项目团队中指定一个构建负责人

提交阶段的结果

与部署流水线的所有阶段一样,提交阶段既有输入也有输出,输入是源代码,输出是二进制包和报告。产生的报告包括测试结果和代码库的分析报告。分析报告可能包括测试覆盖率,圈复杂度,复制粘贴分析,输入输出分析。

而我们提交阶段的所有输出都会存放在制品库中,一般来说大家都会直接想到版本控制系统,但这并不是我们最好的选择,这样我们的硬盘容量会被快速的占领。我们可以使用持续集成服务器所自带的制品库进行存放。

提交测试套件的原则与重要实践

测试套件中占最多的应该是单元测试,因为它不牵扯外部系统的调用,能够及时反馈,测试覆盖率可达80%。
1.避免用户界面
2.使用依赖注入
3.避免使用数据库
4.在单元测试中避免异步
5.使用测试替身

总结

我的疑惑

谷歌结果:在软件测试的概念里,圈复杂度用来衡量一个模块判定结构的复杂程度,数量上表现为独立现行路径条数,即合理的预防错误所需测试的最少路径条数

上一篇下一篇

猜你喜欢

热点阅读