0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

DevOps中的质量门工作原理,以及静态代码分析Klocwork和Perforce Helix QAC在质量门中的实践应用

龙智 来源:jf_15970448 作者:jf_15970448 2024-07-29 15:12 次阅读

“质量门”正如其名:它们在软件开发生命周期(SDLC)的各个阶段充当质量里程碑(或 "门槛"),防止不良代码通过,从而确保交付高质量的软件。

阅读本文,您将了解什么是质量门、质量门的工作原理以及如何使用静态代码分析工具(如Klocwork 和 Helix QAC)实现质量门。

什么是质量门?

质量门是在IT或开发项目中实施的检查点,这些检查点要求在进入下一个开发阶段之前达到最低标准。质量门可以阻止不合格代码的部署,帮助确保更高质量的产品

通过质量门,您可以根据为代码设定的指标和条件来执行质量和其他评估。这是一种识别瓶颈和问题区域的有效方法,以避免在后续工作中遇到这些问题。

在DevOps中,质量门用于衡量整个开发或质量保证流程的质量,并识别漏洞,防止后期的延误和返工。它们是在重要关头实施的项目管理措施,使团队放心地向前推进,因为他们知道自己的代码已经达到了该阶段所要求的质量标准。

为什么质量门在DevOps流程中至关重要?

质量门有助于确保软件的稳定性和可靠性。质量门的迭代特性有助于质量保证工程师和开发人员跟踪错误,并在问题出现时尽快解决,从而提高质量和投资回报率。由于团队设定了通过质量门的条件,因此可以根据项目需要随时定制质量门。

在开发流程中构建质量门有诸多好处:

提高整体质量并维护安全性:在整个SDLC过程中,有策略地设置质量门可作为质量基准,并通过尽早、频繁地指出代码中的薄弱环节来维护安全性。它们可作为左移方法的一部分,用于在SDLC的早期发现问题,并可在CI/CD流水线中有效实施。

节省代码审查时间:质量门可作为一个检查表,跟踪目前已达到的要求,以便其他开发人员在评估代码时快速审查。

优化软件性能:理想情况下,代码应该是干净、可维护和可重用的。质量门提供的衡量标准有助于分析代码性能,并删除冗余或阻碍系统运行的代码。您可以为质量门设置软件指标,如循环复杂度。

持续监控代码库:质量门持续监控源代码的质量,就组织设定的关键指标提供一致反馈。

合规性验证:质量门可以确保并验证代码是否符合既定的编码安全标准。

质量门的工作原理

作为持续集成的一部分,流水线质量门确保项目符合预定义的标准,以便进入下一个开发阶段。代码会先进入暂存仓库,直到满足要求。

质量门的状态包括:

通过:满足要求,可以继续生产。

警告:可能接近满足要求,或勉强通过,因此在允许进入下一阶段前,应对代码进行验证。

失败:不满足要求。应先解决标记的问题,然后才能继续生产。

实施质量门的最佳实践是在开发的每个关键阶段设置质量门:

规划

编码

构建

测试

发布

部署

关键在于将质量门限制在这些主要阶段,因为添加的质量门越多,测试就会变得越复杂,从而可能导致代价高昂的延迟。在CI/CD流水线中策略性地设置质量门,还意味着不必按顺序进行设置,可以有多个并行的流水线和并行或重叠的测试。

将Klocwork和Helix QAC用作质量门

无论是执行增量分析、差异分析还是集成分析,静态分析/SAST工具旨在优化DevOps和DevSecOps流程,并且可以作为一种质量门,检查代码内部的代码质量和安全问题,而不会减慢开发速度。

一些静态分析工具,如Klocwork和Helix QAC,可以在新代码进入时执行合并请求分析。在满足设定的条件之前,质量门会阻止将提交的代码合并到受保护的分支中。例如,您可以在GitLab或类似的CI环境中使用Klocwork作为质量门。

虽然实施质量门需要一些初步规划,但它有助于简化DevOps流程。使用正确的工具构建质量门可以加快您的流程,并确保代码的最高质量。

作者:Dzuy Tran,Perforce首席解决方案架构师;Joe Wrijil,Perforce高级销售工程师

来源:https://bit.ly/3Wgo6ss

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 代码
    +关注

    关注

    30

    文章

    4741

    浏览量

    68324
  • Klocwork
    +关注

    关注

    0

    文章

    4

    浏览量

    6356
  • devops
    +关注

    关注

    0

    文章

    110

    浏览量

    11993
收藏 人收藏

    评论

    相关推荐

    Helix QAC 2024.3新特性速览

    Helix QAC 2024.3 附带适用于 Windows 和 Linux 的基于 Qt 的新安装程序,并增强了对Validate SAML/OIDC 身份验证的支持。此版本还包括对某些环境的 Dataflow 稳健性的改进,以及
    的头像 发表于 11-06 15:42 190次阅读
    <b class='flag-5'>Helix</b> <b class='flag-5'>QAC</b> 2024.3新特性速览

    D-B54磁性传感器机床自动处的工作原理

    磁性传感器机床自动处的工作原理是基于磁场的变化来检测和控制的开关。通过实时监测的状态并采取相应的控制措施,可以提高机床自动
    的头像 发表于 10-21 11:56 193次阅读

    汽车异构硬件平台开发如何进行静态代码分析

    先进的静态代码分析工具,其新版本引入的多CCT功能为开发人员提供了强大的支持,该功能不仅简化了多编译器环境下的代码
    的头像 发表于 10-09 16:15 440次阅读
    汽车异构硬件平台开发如何进行<b class='flag-5'>静态</b><b class='flag-5'>代码</b><b class='flag-5'>分析</b>

    Perforce静态分析工具2024.2新增功能:Helix QAC全新CI/CD集成支持、Klocwork分析引擎改进和安全增强

    实现持续合规性现代软件开发实践要求开发团队具备适应性,确保代码质量和可靠性的同时,优先考虑灵活性和协作性。软件开发流程
    的头像 发表于 10-08 16:22 221次阅读
    <b class='flag-5'>Perforce</b><b class='flag-5'>静态</b><b class='flag-5'>分析</b>工具2024.2新增功能:<b class='flag-5'>Helix</b> <b class='flag-5'>QAC</b>全新CI/CD集成支持、<b class='flag-5'>Klocwork</b><b class='flag-5'>分析</b>引擎改进和安全增强

    磁通电流传感器工作原理是什么

    、新能源等领域。 磁通电流传感器的工作原理 磁通电流传感器的工作原理基于磁通效应。磁通
    的头像 发表于 08-19 09:24 1182次阅读

    代码静态测试工具Helix QAC 2024.2新发

    Helix QAC 2024.2 带来了新的特性和功能,为开发过程增加了灵活的选项。用户使用新的 CI 分析通过 Validate 获得完整的 CI 集成支持,从而轻松管理 CI/CD 更改
    的头像 发表于 08-05 17:40 302次阅读
    <b class='flag-5'>代码</b><b class='flag-5'>静态</b>测试工具<b class='flag-5'>Helix</b> <b class='flag-5'>QAC</b> 2024.2新发

    磁通电流传感器工作原理 磁通电流传感器应用

    不可或缺的角色。本文将拨开层层迷雾,揭示磁通电流传感器的神秘面纱,探讨其工作原理,并展现其现实世界的具体应用。 磁通电流传感器
    的头像 发表于 07-18 09:35 709次阅读

    什么是质量闸门?

    速度。 一些静态分析工具 —— 像 KlocworkHelix QAC —— 可以
    的头像 发表于 07-16 23:11 205次阅读
    什么是<b class='flag-5'>质量</b>闸门?

    探讨AI编写代码技术,以及提高代码质量的关键:静态代码分析工具Perforce Helix QAC &amp; Klocwork

    的过程,并回答这个问题: AI会取代程序员吗? 什么是AI代码生成? 近年来,生成式AI的应用呈爆炸式增长,这主要因为现在有足够的计算能力来运行深度学习算法,而且训练机器学习模型所需的海量数据也增加。 AI代码生成是指使用生成
    的头像 发表于 06-05 14:10 364次阅读

    代码静态测试工具 Klocwork 2024.1版新功能解读

    Klocwork 2024.1为Perforce的持续安全和代码合规性平台Validate引入了新的功能和改进。现在,Validate的升级过程更快、更稳健、对用户更友好。您可以去除项目、优先迁移、无需服务器重启单独迁移项目、无
    的头像 发表于 04-26 10:42 490次阅读
    <b class='flag-5'>代码</b><b class='flag-5'>静态</b>测试工具 <b class='flag-5'>Klocwork</b> 2024.1版新功能解读

    代码静态测试工具 Helix QAC 2024.1版新功能解读

    Helix QAC 2024.1改进了对C++20和C23语言特性的支持,并增加了分析使用多个编译器的项目的新功能。此外,Validate增强了对于搜索功能和角色权限的用户体验,并且包括一个
    的头像 发表于 04-25 12:32 536次阅读
    <b class='flag-5'>代码</b><b class='flag-5'>静态</b>测试工具 <b class='flag-5'>Helix</b> <b class='flag-5'>QAC</b> 2024.1版新功能解读

    Klocwork—符合功能安全要求的自动化静态测试工具

    KlocworkPerforce公司产品,主要用于C、C++、C#、Java、 python和Kotlin代码的自动化静态分析
    的头像 发表于 01-16 16:26 616次阅读
    <b class='flag-5'>Klocwork</b>—符合功能安全要求的自动化<b class='flag-5'>静态</b>测试工具

    代码静态测试工具Helix QAC 2023.4新发布

    Helix QAC 2023.4 为新的 MISRA C++:2023 指南推出了 100% MISRA C++:2023® 规则覆盖率。此版本还包括扩展的 C++20 语言支持、数据流分析的性能改进
    的头像 发表于 01-13 12:25 437次阅读
    <b class='flag-5'>代码</b><b class='flag-5'>静态</b>测试工具<b class='flag-5'>Helix</b> <b class='flag-5'>QAC</b> 2023.4新发布

    Helix QAC—软件静态测试工具

    Helix QACPerforce公司(原PRQA公司)产品,主要用于C/C++代码的自动化静态分析
    的头像 发表于 01-10 17:35 624次阅读
    <b class='flag-5'>Helix</b> <b class='flag-5'>QAC</b>—软件<b class='flag-5'>静态</b>测试工具

    什么是DevOps的持续测试?持续测试如何融入DevOps

    持续测试(CT) 是整个软件开发生命周期(SDLC) 自动测试软件应用程序和组件的实践 DevOps
    的头像 发表于 01-09 09:10 534次阅读
    什么是<b class='flag-5'>DevOps</b><b class='flag-5'>中</b>的持续测试?持续测试如何融入<b class='flag-5'>DevOps</b>?