​如何构建高质量软件?

码农沉思录

共 1984字,需浏览 4分钟

 ·

2021-11-19 18:31


技术在变,市场在变,需求在变,用户的诉求在变,一切都在快速变化着。因此,在某个固定时间进行软件发布的传统作业方式已经远远无法适应当下急速变化的世界。


越来越多的公司和团队在追求以最快的速度交付软件,像谷歌这样的互联网顶级公司甚至在几分钟之内就可以提交一个“具备交付能力的”软件版本,而国内的阿里则能够在一小时以内发布一整套全量功能的淘宝、天猫商城为用户服务。


“快”的前提是高质量的交付,而高质量的交付则离不开一套稳健的持续(continuous)环境。所谓的持续,并不是一直运行(always running),而是具备持续运行(always ready to run)的能力。


因此,基于“持续”概念衍生出了持续集成(CI)、持续交付和持续部署(CD)等工程实践,在每一个细分领域中又诞生了琳琅满目的工具和工具组合,如下图所示。


工具和工具组合


如何在如此之多的工具中挑选出合适的工具集来构建自己的“持续”环境呢?只有真正理解了什么是持续集成、持续交付和持续部署,才能理解单元测试、功能测试,以及集成环境中每一个环节的作用和重要性。


构建高质量软件:持续集成与持续交付系统实践》一书,从理论、最佳实践的角度出发,为读者介绍CI/CD环节中不同工具的使用和整合,使读者能够快速搭建起适合自己团队的持续构建环境。



1
本书特色



NO.1 循序渐进 

本书内容由浅入深,结合实际应用开发精准阐述如何基于测试驱动开发的方法论进行软件开发,能帮助读者系统化地对知识点进行梳理和归纳


NO.2 内容丰富

不仅囊括了Hamcrest对象匹配库中各种匹配器的用法及其与JUnit的整合,还展示了众多工具和插件的使用方法,从而帮助开发者开发出高质量的代码。


NO.3 实案例

中所包含的案例都源于实践,通过案例重点解读了当下主流的单元测试mock工具(Mockito、Powermock)和功能测试框架(Cucumber、Concordion),读者在练习过程中会发现这些案例与日常工作十分切合。


NO.4 延展阅读

每章的最后都会给出拓展资料,方便读者在掌握本书知识的基础上进一步提升



全书知识线


层层递进,不仅详细讲述了十几种软件工具的用法,还融会贯通整合使用,以便读者能够快速搭建适合自己团队的持续构建环境。



2
本书主要内容


  • 深入剖析TDD敏捷方法论

  • 基于最新的Mockito和Powermock版本详细讲解mock的用法

  • 基于最新的Cucumber和Concordion版本详细讲解功能测试代码的开发

  • 详细讲述Jenkins集成构建工具的用法

 

高质量的软件是多个环节共同协作的结果,除了开发严谨正确的代码之外,还要确保软件在经历若干次迭代升级后的稳定性,以满足当下快速交付的要求,本书中对整个生命周期中相关内容均有所交代。


本书共10 章,分为四大部分


第一部分(第1~4 章)

主要围绕如何提高软件的开发质量和效率展开,详细讲述了单元测试的常用工具和最佳实践,并展开阐述了持续集成、持续交付、持续部署等概念;


第二部分(第5~6 章)

详细讲解两个常用的mock 工具——Mockito 和Powermock,通过实例详尽地讲解了它们的语法规则和使用场景,目的是让开发者在不修改软件源代码和程序结构的前提下尽可能确保软件具备可测试性;


第三部分(第7~8 章)

详细讲述两个行为驱动开发工具(功能测试)Concordion 和Cucumber,这两个工具可以帮助我们很好地完成功能测试、验收测试、回归测试等工作;


第四部分(第9~10 章)

综合前面三部分的知识点,并引入代码风格检查、静态代码分析、第三方依赖安全性检查、企业内部私服的原理和搭建、Ansible 自动化软件部署工具、Jenkins Pipeline 等知识,帮助读者构建完整的CI/CD 流程。



3
读者对象


本书适合以下几类读者阅读:

  • 从事软件测试的人员

  • Java程序开发者

  • 从事Java系统架构的架构师

  • 开设Java课程的专业院校和培训机构



4
作者简介


心蓝

某外资零售银行电子渠道高级开发总监、技术专家,有超过十年的系统设计、开发经验,对团队管理、项目管理有自己独到的见解。拥有多年移动网关通信研发,以及移动互联网开发与产品运营、云计算、B2C电子商务平台开发经验,热衷于技术分享,录制的20余套技术视频在互联网上广泛传播。所著图书包括《Java高并发编程详解:多线程与架构设计》《Java高并发编程详解:深入理解并发核心库》等。


5
买书送课

如您已购买正版纸书,可凭购买凭证免费获得“心蓝说Java”配套视频课程。详见购买页面介绍。


浏览 52
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报