• 1
  • 0
分享
  • 持续交付:低风险快速交付
  • FunTeste 2023-03-22 08:30:10 字数 1966 阅读 915 收藏 0

DevOps 方法继续加强其在软件开发中的地位。所谓的连续工具是该领域最常用的工具之一。持续集成和持续交付等实践能够在进行任何更改后立即将代码交付到生产环境中。当使用更小改动的代码块时,将会让新功能发布和修复BUG并行成为可能。软件开发的 CI/CD 方法为产品迭代带来了更高的可靠性和更快的更新速度。

CI 是 CI/CD 技术的第一阶段。在项目中实施持续集成有很多好处。它是软件更新的一个基本过程,其主要功能是将来自不同开发人员的代码更改集成到一个仓库中。

今天我们将重点介绍 CI/CD 的第二阶段,持续交付。它有助于确保代码已准备好交付。它的主要特点是代码构建、测试和交付等过程的自动化,有助于及早避免错误并最大限度地降低风险。

根据持续交付状态报告,在 19,000 多名开发人员中,有 50% 的人指出他们以每周一次到每月一次的频率进行部署。其中 2/3 的代码在提交后至少需要一周才能成功将代码运行到生产环境中。一半的开发人员声称,如果发生意外中断,需要一天时间才能恢复服务。

何谓持续交付

根据持续交付的实践,团队开发软件是以最小变动代码块为单元,产品发布不是手动进行的,而是通过一个按钮来完成的。代码中的每个小改动都会自动构建、测试并发布到生产环境中。自动化测试应该针对各种开发环境进行标准化,因为这将有助于快速发现BUG并进行优化。

这使得开发过程更具可持续性,并减少了在终点线出错的风险,因为可以在所有开发过程中进行更频繁的更改和检查。综上所述,CD 有助于发布小序列的更改,允许用户在必要时通过测试修改或修复它们。

CD 如何工作

代码变更后,CD 自动准备测试环境和集成测试性能。测试可以是手动的或自动的。手动测试由个人或团队执行,操作产品并确保其按预期运行。自动化测试包括各种工具,可以检查隔离代码的正确性并模拟人工驱动的手动测试体验。此类测试可能包括用户界面测试、加载测试、集成测试、API 可靠性测试等。

配置管理系统,工作产品集及其版本的管理过程,提供过程的稳定性。配置管理的目标是建立和维护产品性能的一致性。系统监控基础设施、数据库和依赖项的变化。

在 CD 将产品投入生产后,也可以自动化和手动执行。这个过程有几个要求:

  • 关于发布到生产环境和发布的准备信息应该是可用且正确的:CD 工具正在测试代码,这使得评估发布中更改的有效性成为可能;
  • 整个团队对最终产品负责:经理、开发人员和测试人员不仅专注于他们的任务,而且都对结果负责;
  • 代码审查是 CD 的标准工具。这是对源代码的系统检查,旨在发现和纠正在开发的初级阶段没有注意到的错误;

CD 实施的好处

持续交付的自动化过程为团队和项目带来了许多好处。它的核心价值在于它使部署过程更易于访问,从而对生产力产生积极影响并降低团队的风险。它可以降低开发过程中花费的成本。

让我们具体说明如何从将 CD 工具实施到您的工作流程中受益:

  • 更低的风险和更少的BUG。CD 的全部意义在于通过更频繁地测试更多的小改动来简化软件部署。如果每个开发阶段都进行测试,就更容易找到BUG,这样可以阻止它们进入下一阶段。如果需要,还可以更轻松地回滚更多较小的更改。
  • 速度。在产品准备就绪后,能够在每次微小更改时同时检测BUG,而不是扫描整个系统,这提高了发布速度。整个团队致力于自动化构建和部署、环境供应和测试的过程,这有助于将集成和回归测试纳入开发人员的日常工作中,并完全消除这些阶段。
  • 质量。自动化测试可以立即定义回归,以便团队可以专注于用户研究或更深入的测试等过程。它可能包括探索性、可用性、性能和安全性测试。这些过程可以在整个交付过程中继续进行,从一开始就为产品带来质量。
  • 灵活性。CD 能够经常发布新功能,即使整个产品都在开发中。因此在整个过程中可以从客户那里收集反馈,并知道要解决什么问题以及应该集中精力在哪里,向用户学习将帮助您评估产品。
  • 成本更低。如果你正在寻求升级和发展自己产品,投资于构建、测试、部署和环境的自动化流程将通过降低发布流程的成本来节省制作和交付软件迭代的资金。

潜在的绊脚石

实施 CD 工具最具挑战性的是需要重建一些工作流程。那些习惯了长开发周期的开发人员可能不得不改变他们工作的整个方法。实施应循序渐进,从最费力的应用程序开始。 第二个问题可能会出现很多代码分支,导致冲突和时间损失。

另外,任何提交的代码都可能随时发布。如果产品尚未最终供消费者使用,则在这种情况下,诸如功能切换之类的工具可能会有所帮助。 最后同样重要的是,测试可能会花费很多时间。通常必须手动分析测试差异。可能的解决方案是在 CD 实施的第一阶段进行并行测试。

结论

使用 CD 工具需要整个团队一起工作并且协调良好。该技术有几个阶段,例如管理流程、测试和定义产品是否已准备好交付,这涉及不同的部门和不断的协作。

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 声明:本文内容不涉及任何 Apifox 的功能介绍,一来网上这方面的文章已经汗牛充栋,二来 Apifox 本身的用户体验做的非常好,对于开发者而言学习成本基本为零。阮一峰:不管你是前端开发还是后端开发,只要项目是服务架构,它可能会大大提升你的开发效率。虫师:我们很难把它描述为一款接口管理工具或接口自动化测试工具,它增强了团队协作能力,这对一个研发团队而言很重要。池建强:Apifox,这是一代更比一代强。什么是Apifox?看了一众大咖们对 Apifox 赞不绝口,你可能会好奇 Apifox 究竟是何方神圣?根据官方定义,Apifox 是 API 文档、API 调试、API ...
            1 0 1112
            分享
          •   最近我接触到了一种我之前没有接触过的产品,那就是物联网平台。说物联网平台之前,让咱们先来了解一下什么是物联网。物联网,简单来说,就是把各种各样的设备通过网络连接在一起,通过网络连接去管理和操控设备,获取设备采集的数据等等。  物联网其实在我们的日常生活中已经应用得非常广泛了,包括制造业、智慧城市、智慧医疗、物流、农业、智能家居等行业都有涉及。像咱们平常生活中使用手机扫码骑共享单车、无人快递柜取快递、手机连接空调设置温度等等都属于物联网的实际应用。  我目前所涉及的行业其实就属于智慧城市产业下的一个分支:水环境监测方面。  物联网平台,就是将物联网设备远程连接、管理操控、设备采集数据的获取、...
            0 0 460
            分享
          • 1.你是如何看待帮助别人工作?答:经过领导同意,在不影响自己的本职工作的前提条件下,我很支持同事之间的互帮互助。2.测试流程你们公司是怎么开展的答:我们公司是需求评审—编写测试用例—用例评审—执行测试(冒烟测试—系统测试—回归测试)—测试报告—上线3.项目上线的原则答:测试用例全部执行完成需求全部覆盖BUG单全部关闭4.版本谁来发布?答:开发发布版本5.测试工程师平时的工作答:参与需求评审编写测试用例测试用例评审执行测试用例提交bug,跟踪bug提交测试日报提交测试报告过程的评价软件本身的评价6.测试报告发给谁,内容?答:发给项目相关人员,开发,产品,UI,同组测试人员内容:测试范围,准出标准...
            0 0 1927
            分享
          •   以下从死锁检测、死锁避免、死锁解决3个方面来探讨如何对MySQL死锁问题进行性能调优。  1、死锁检测  通过SQL语句查询锁表相关信息:  (1)查询表打开情况  SHOW OPEN TABLES WHERE IN_USE> 0  (2)查询锁情况列表SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS  (3)查询锁等待信息,其中blocking_lock_id是当前事务在等待的事务SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS ...
            0 0 1488
            分享
          •   在测试行业里,“30岁”好像是测试人员伤不起的年龄。  首先是在招聘要求里,很多测试岗位都明确限制年龄在30岁以下。这就导致很多人想跳槽困难,离了职惨淡。  其次是来自职场后浪的压力。一群热血青年“来势汹汹”,拿着低薪水谦虚好学,用着新技术所向披靡,总会让人不得不感叹一句——“真的老了”!  最后必须要面对的还是“30岁”本身带来的职业瓶颈。比如说,体力下降程序写不动了、成家后,家庭琐事难免让人分心,等等。  在51Testing《2019—2020年度·软件测试现状调查报告中》就有数据显示,年龄在30+的测试人员,仅占行业的26%,而且大多数都是管理层,从事技术的少之又少。  身在测试职...
            14 14 2258
            分享
      • 51testing软件测试圈微信