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

    文章

    4985

    浏览量

    74594
  • Klocwork
    +关注

    关注

    0

    文章

    10

    浏览量

    7881
  • devops
    +关注

    关注

    0

    文章

    157

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Perforce 静态分析现已正式支持 Rust语言!

    您是否正计划通过 Rust 编程来提升内存安全性,却又担心它无法覆盖所有的安全漏洞?Perforce QACKlocwork 现在已支持分析 Rust
    的头像 发表于 04-08 15:38 548次阅读
    <b class='flag-5'>Perforce</b> <b class='flag-5'>静态</b><b class='flag-5'>分析</b>现已正式支持 Rust语言!

    C语言安全编码指南:MISRA C、CERT C、CWE 与 C Secure 标准对比与Perforce QAC应用详解

    如何编写真正安全的C语言代码?指南涵盖MISRA C、CERT、CWE等国际安全编码标准对比,以及如何借助Perforce QAC自动检测漏洞。推荐给嵌入式/汽车/工业软件的开发者!
    的头像 发表于 01-26 17:38 1239次阅读
    C语言安全编码指南:MISRA C、CERT C、CWE 与 C Secure 标准对比与<b class='flag-5'>Perforce</b> <b class='flag-5'>QAC</b>应用详解

    Perforce QAC 2025.4 的新特性

    Code 扩展也已更新,为桌面用户提供了 AI 辅助的代码修复功能,利用 QAC质量分析结果为建议的修复提供信息,从而提供更快速的查找和修复
    的头像 发表于 12-30 13:50 827次阅读
    <b class='flag-5'>Perforce</b> <b class='flag-5'>QAC</b> 2025.4 的新特性

    汽车网络安全开发语言选型指南:C/C++/Rust/Java等主流语言对比+Perforce QAC/Klocwork工具支持

    汽车网络安全如何选编程语言?C、C++、Rust、Java……谁更适合AUTOSAR、ISO/SAE 21434?一文了解8种主流语言的优劣与适用场景,以及Perforce QAC/Klocw
    的头像 发表于 12-26 11:13 761次阅读
    汽车网络安全开发语言选型指南:C/C++/Rust/Java等主流语言对比+<b class='flag-5'>Perforce</b> <b class='flag-5'>QAC</b>/<b class='flag-5'>Klocwork</b>工具支持

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

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

    高频电流探头电源质量与谐波分析的应用

    现代电力系统,电源质量对设备运行稳定性、系统能效以及设备寿命有着直接影响。随着非线性负载和电力电子设备的广泛应用,谐波污染、电压波动、三相不平衡等电能质量问题愈发突出。高频电流探头作
    的头像 发表于 11-06 10:52 425次阅读
    高频电流探头<b class='flag-5'>在</b>电源<b class='flag-5'>质量</b>与谐波<b class='flag-5'>分析</b><b class='flag-5'>中</b>的应用

    外部UPS电能质量在线监测装置是如何工作的?

    外部 UPS(不间断电源)电能质量在线监测装置的核心作用是 **“市电异常时无缝切换供电,确保装置不掉电、数据不中断”**—— 通过内置蓄电池组存储电能,市电正常时稳压供电并充电
    的头像 发表于 11-05 11:02 593次阅读

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

    本文将为您详解什么是CVE、CVE标识符的作用,厘清CVE与CWE、CVSS的区别,介绍CVE清单内容,并说明如何借助合适的静态分析工具(如Perforce QAC/
    的头像 发表于 10-31 14:24 917次阅读
    什么是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 822次阅读
    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 1048次阅读
    霍尔元件<b class='flag-5'>在</b>汽车电动尾<b class='flag-5'>门</b><b class='flag-5'>中</b>的应用

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

    很高兴为大家呈现这场高质量的技术分享!涵盖游戏引擎跨界应用、#P4版本管理、合规性实践等等。我们不只提供#Perforce工具,更赋能工具的落地深化。
    的头像 发表于 09-01 13:18 1053次阅读
    【聚焦汽车软件开发】从版本管理到<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 1444次阅读
    汽车软件团队必看:基于<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 1559次阅读
    <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认证)

    CMOS的逻辑如何应用在电路

    CMOS的逻辑如何应用在电路 前言 如今的电子电路,CMOS逻辑有着接近零静态功耗和超
    的头像 发表于 06-19 16:07 2033次阅读
    CMOS的逻辑<b class='flag-5'>门</b>如何应用在电路<b class='flag-5'>中</b>

    2025年汽车行业趋势解读:AI汽车软件开发的应用、代码安全挑战等(附Perforce QAC / Klocwork工具推荐)

    随着AI技术深入嵌入式系统,汽车软件已成为智能出行的核心要素。根据Perforce发布的《2025年汽车软件开发现状报告》,全球650多名汽车从业者共同揭示了AI汽车行业的演进趋势、挑战与应对策略。
    的头像 发表于 06-13 15:03 1961次阅读
    2025年汽车行业趋势解读:AI<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'>Klocwork</b>工具推荐)