• 1
  • 0
分享
  • 持续交付:低风险快速交付
  • FunTeste 2023-03-22 08:30:10 字数 1966 阅读 658 收藏 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 工具需要整个团队一起工作并且协调良好。该技术有几个阶段,例如管理流程、测试和定义产品是否已准备好交付,这涉及不同的部门和不断的协作。

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 结合笔者所在团队的实际情况,团队的目标是要能够快速反应,支持业务快速迭代,同时要把测试人员从繁重的重复工作中解放出来,为内外提供赋能,提供好的测试平台、好用的测试工具和高效的测试方法等,这就对测试人员提出了一些新的要求。1.代码具备编写代码能力能够提高测试效率,独立或者辅助开发人员定位问题,而不是只报告问题,这也有助于帮助测试人员了解程序过程,完善思维方式,提升测试形象。在测试过程中懂程序的人更能够深入地把程序测试好,通过走读代码发现逻辑上的缺陷、写法上的繁琐带来的性能问题等,达到事半功倍。系统与数据库打交道,程序部署在中间件上,中间件运行在操作系统上,即要懂数据库知识、中间件知识、操作系统知...
            0 0 745
            分享
          •   软件缺陷管理是一个关于发现,记录,追踪,处理和报告软件缺陷的过程。这是软件开发过程中的一个重要环节,它可以帮助开发团队保持代码的质量并及时修复问题。  一、早期小团队使用的免费缺陷管理工具  在项目早期或者团队规模较小的情况下,人们经常使用的缺陷管理工具有电子表格,如Microsoft Excel或Google Sheets;代码托管平台,比如如GitHub,GitLab等;项目管理工具,通过创建卡片来代表每个缺陷,并将它们按照状态(如待处理,正在处理,已解决)分类。  当团队规模扩展到几十人,项目规模扩大,使用电子表格等非专业工具的缺陷就开始展露,比如缺乏自动化,你需要手动输入...
            0 0 949
            分享
          •   1.背景  在性能测试过程中,往往需要监控服务器的性能情况,并记录这些性能指标结果。不论是云下数据库服务器还是应用服务器,都可以通过nmon来进行监控,设定打点间隔和打点次数,将性能指标情况保存成nmon文件,并通过工具,如Excel插件Nmon_Analyzer、Java GUI工具nmon visualizer等读取nmon文件内容,分析采集结果。但当监控的服务器数量较多时,依次采集多个nmon文件中的性能指标结果会耗费时间,同时,人工读取和记录数据也可能会出现记录错误的偶然误差。因此我们可以尝试使用自己熟悉的编程语言,如Python等,来开发一款简单易实现的小工具,用于自动采集性能测...
            0 0 1058
            分享
          •   法国监管机构现已正式接受苹果公司的 iOS 更新,并允许 iPhone 12 在法国本土重新上市销售,但不允许在全球法属地区销售。法国国家频率局(ANFR)在 2023 年 9 月声称,iPhone 12 超过了该国的射频暴露特定吸收率(SAR),但苹果公司对此提出了异议,并且不同于国际测试。  禁令发布时,正值 iPhone 15 上市,苹果公司已将 iPhone 12 从其产品系列中删除。  但第三方经销商仍在销售,最重要的是,法国还威胁要将产品召回。  苹果公司发布了专门针对法国的 iOS 更新版本,该版本将降低蜂窝调制解调器的无线电强度。9 月下旬,法国官员宣布他们已经批准了苹果公...
            0 0 614
            分享
          • APP测试过程中我们经常需要抓包,通常我们使用fiddler或者Charles。但是jmeter也可以抓包,而且非常好用,闲话不多说,下面进入正题。步骤:1、选择测试计划,添加线程组2、选择工作台,添加HTTP代理服务器3、修改HTTP代理服务器,端口改为8889,目标控制器选择线程组4、查看本地ip,设置手机代理(注意手机需连接wifi,和主机在同一局域网)5、启动HTTP代理服务器,抓取应用宝APP请求6、手机打开应用宝APP,任一点击,所有请求都被jmeter抓取到。当然不是所有请求都是必要的,根据实际需求进行一些过滤。7、最后需要注意的是如果已经抓完APP上所有的请求,记得关闭HTTP...
            0 0 1623
            分享
      • 51testing软件测试圈微信