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

    文章

    4941

    浏览量

    73135
  • Klocwork
    +关注

    关注

    0

    文章

    10

    浏览量

    7229
  • devops
    +关注

    关注

    0

    文章

    130

    浏览量

    12776
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【征集令】2026年全球汽车软件开发状况调查,500美金等你拿!

    、应用程序生命周期管理平台、敏捷规划软件以及用于静态代码分析KlocworkQAC等。
    的头像 发表于 11-12 10:02 480次阅读
    【征集令】2026年全球汽车软件开发状况调查,500美金等你拿!

    什么是CVE?如何通过SAST/静态分析工具Perforce QACKlocwork应对CVE?

    本文将为您详解什么是CVE、CVE标识符的作用,厘清CVE与CWE、CVSS的区别,介绍CVE清单内容,并说明如何借助合适的静态分析工具(如Perforce QAC/
    的头像 发表于 10-31 14:24 280次阅读
    什么是CVE?如何通过SAST/<b class='flag-5'>静态</b><b class='flag-5'>分析</b>工具<b class='flag-5'>Perforce</b> <b class='flag-5'>QAC</b> 和 <b class='flag-5'>Klocwork</b>应对CVE?

    C/C++代码静态测试工具Perforce QAC 2025.3的新特性

    Perforce QAC 2025.3 通过更新结果存储处理提供了性能改进,可以显著减少总分析时间,具体取决于项目结构和分析所使用的硬件设备。此版本还增强了对 QNX 8.0 编译器的
    的头像 发表于 10-13 18:11 344次阅读
    C/C++<b class='flag-5'>代码</b><b class='flag-5'>静态</b>测试工具<b class='flag-5'>Perforce</b> <b class='flag-5'>QAC</b> 2025.3的新特性

    霍尔元件汽车电动尾的应用

    霍尔元件汽车电动尾扮演着核心传感器角色,其应用贯穿于尾状态检测、运动控制及安全防护等关键环节,具体应用及原理如下: 一、尾状态检测
    的头像 发表于 09-29 16:21 435次阅读
    霍尔元件<b class='flag-5'>在</b>汽车电动尾<b class='flag-5'>门</b><b class='flag-5'>中</b>的应用

    【聚焦汽车软件开发】从版本管理到静态分析,详解Perforce工具链汽车嵌入式开发的全栈应用

    很高兴为大家呈现这场高质量的技术分享!涵盖游戏引擎跨界应用、#P4版本管理、合规性实践等等。我们不只提供#Perforce工具,更赋能工具的落地深化。
    的头像 发表于 09-01 13:18 605次阅读
    【聚焦汽车软件开发】从版本管理到<b class='flag-5'>静态</b><b class='flag-5'>分析</b>,详解<b class='flag-5'>Perforce</b>工具链<b class='flag-5'>在</b>汽车嵌入式开发<b class='flag-5'>中</b>的全栈应用

    汽车软件团队必看:基于静态代码分析工具Perforce QAC的ISO 26262合规实践

    ISO 26262合规指南,从ASIL分级到工具落地,手把手教你用静态代码分析Perforce QAC)实现高效合规。
    的头像 发表于 08-07 17:33 866次阅读
    汽车软件团队必看:基于<b class='flag-5'>静态</b><b class='flag-5'>代码</b><b class='flag-5'>分析</b>工具<b class='flag-5'>Perforce</b> <b class='flag-5'>QAC</b>的ISO 26262合规<b class='flag-5'>实践</b>

    Perforce QAC产品简介:面向C/C++的静态代码分析工具(已通过SO 26262认证)

    Perforce QAC专为C/C++开发者打造,支持多种编码规范、功能安全标准(ISO 26262)等,广泛用于汽车、医疗、嵌入式开发领域,可帮助快速识别关键缺陷、提升代码质量、实现
    的头像 发表于 07-10 15:57 828次阅读
    <b class='flag-5'>Perforce</b> <b class='flag-5'>QAC</b>产品简介:面向C/C++的<b class='flag-5'>静态</b><b class='flag-5'>代码</b><b class='flag-5'>分析</b>工具(已通过SO 26262认证)

    Helix QAC 2025.1 重磅发布!MISRA C:2025® 100%覆盖

    Helix QAC 2025.1新增功能 Helix QAC 2025.1实现了对新版MISRA C:2025®标准的 100% 覆盖,并提供对应的合规模块。此版本还扩展了对 CERT
    的头像 发表于 05-13 16:48 1112次阅读
    <b class='flag-5'>Helix</b> <b class='flag-5'>QAC</b> 2025.1 重磅发布!MISRA C:2025® 100%覆盖

    代码静态测试工具Perforce QAC 2025.1新特性

    Perforce QAC 2025.1实现了对新发布的MISRA C:2025®标准的100%覆盖,并提供了对应的新合规模块。该版本还扩展了对CERT C Level 1建议的覆盖范围,改进了与持续
    的头像 发表于 04-21 15:14 923次阅读
    <b class='flag-5'>代码</b><b class='flag-5'>静态</b>测试工具<b class='flag-5'>Perforce</b> <b class='flag-5'>QAC</b> 2025.1新特性

    Perforce品牌及产品名更新:涵盖版本控制Perforce P4(原Helix Core)、静态代码分析Perforce QAC(原Helix QAC)等

    Perforce推出全新P4平台及P4 One客户端!从广为人知的“P4”到Helix Core到Perforce P4,此次品牌重塑是一次初心回归,也是对开发者和数字创作团队需求的深度回应。一起来了解更多吧~
    的头像 发表于 03-28 15:04 1100次阅读
    <b class='flag-5'>Perforce</b>品牌及产品名更新:涵盖版本控制<b class='flag-5'>Perforce</b> P4(原<b class='flag-5'>Helix</b> Core)、<b class='flag-5'>静态</b><b class='flag-5'>代码</b><b class='flag-5'>分析</b><b class='flag-5'>Perforce</b> <b class='flag-5'>QAC</b>(原<b class='flag-5'>Helix</b> <b class='flag-5'>QAC</b>)等

    缓冲区溢出漏洞的原理、成因、类型及最佳防范实践(借助PerforceKlocwork/Hleix QAC静态代码分析工具)

    本期来认识软件漏洞的“常客”——缓冲区溢出,C/C++开发者尤其要注意!全面了解该漏洞的成因、类型、常见示例,以及如何借助KlocworkHelix QAC等SAST工具进行防护。
    的头像 发表于 03-04 16:39 1717次阅读
    缓冲区溢出漏洞的原理、成因、类型及最佳防范<b class='flag-5'>实践</b>(借助<b class='flag-5'>Perforce</b> 的<b class='flag-5'>Klocwork</b>/Hleix <b class='flag-5'>QAC</b>等<b class='flag-5'>静态</b><b class='flag-5'>代码</b><b class='flag-5'>分析</b>工具)

    如何保障自动驾驶卡车系统的安全?

    61508或ISO 26262的开发流程,需通过静态分析验证源代码Perforce Helix QA
    的头像 发表于 02-26 15:45 1564次阅读
    如何保障自动驾驶卡车系统的安全?

    TMR磁阻开关DT7801消防的应用

    TMR磁阻开关DT7801消防的应用主要体现在监测和控制消防的开闭状态,以确保建筑的安全。以下是TMR磁阻开关DT7801消防
    的头像 发表于 02-07 15:30 705次阅读
    TMR磁阻开关DT7801<b class='flag-5'>在</b>消防<b class='flag-5'>门</b>磁<b class='flag-5'>中</b>的应用

    如何提高嵌入式代码质量

    并提升代码质量。 遵循良好的软件工程实践 良好的软件工程实践是提高代码质量的基础,特别是
    发表于 01-15 10:48

    电能质量分析电力监测的应用

    对这些参数的分析,可以及时发现并处理电力系统的潜在问题,如电压波动、谐波污染等。 二、故障排查与诊断 电力系统,电能
    的头像 发表于 01-08 10:03 1344次阅读