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

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

3天内不再提示

“软件质量”,构筑企业值得信赖的护城河

jf_21561199 来源:jf_21561199 作者:jf_21561199 2024-09-11 09:40 次阅读

【摘要】 引子质量是产品的生命线,质量问题不仅会导致企业财产损失,还可能引发业务中断、客户满意度下降、企业品牌声誉受损等负面影响。如何在软件开发过程中全方位构建产品质量防护盾,是各行业保障产品高质量的重要课题。如何保障软件质量?保障高质量的产品研发,需要在软件开发生命周期中实现有效的质量管理与控制,让缺陷在开发、测试、部署各阶段无处遁形。从华为公司自身实践来看,需要从代码质量、CI/CD 流程质量、持...

1 引子

质量是产品的生命线,质量问题不仅会导致企业财产损失,还可能引发业务中断、客户满意度下降、企业品牌声誉受损等负面影响。如何在软件开发过程中全方位构建产品质量防护盾,是各行业保障产品高质量的重要课题。

2 如何保障软件质量?

保障高质量的产品研发,需要在软件开发生命周期中实现有效的质量管理与控制,让缺陷在开发、测试、部署各阶段无处遁形。从华为公司自身实践来看,需要从代码质量、CI/CD 流程质量、持续反馈与改进三个方面入手,构建全流程质量管理能力。

3 1、代码质量如何保障?

首先,要对代码进行检视。《代码大全》的研究结果显示,各种研发活动中,代码检视的代码检测率高达 60%,可以有效提前发现显而易见的错误随代码上库,提升代码质量,并且实现高级开发人员的知识传递,增强团队意识。

其次,要建立代码上库流程。在软件生命周期中,缺陷发现越早、修复越早,缺陷的影响和修复代价就越小。数据显示,产品发布后每个缺陷的平均修复成本是验证阶段的 6 倍以上。为提前拦截产品缺陷,避免有缺陷的代码合入主干,同时保证代码符合不同企业的流程规范,灵活有效的门禁控制是必不可少的。

然后,作为门禁看护的重要步骤,要进行代码检查。软件开发事前预防的成本远低于事后补救。如果程序员在代码编写阶段能够及时修正软件缺陷和安全隐患,避免缺陷流向后端,就可以有效提升产品质量。

1. 提前发现问题:代码检查能发现逻辑、语法错误和性能问题,预防系统崩溃。

2. 提高代码质量与安全性:确保代码符合标准,通过自动化检查工具快速定位并修复问题,增强系统稳定性和安全性。

3. 持续集成与预防:作为 CI/CD 流程的一部分,代码检查有助于快速响应修复,同时积累经验预防未来问题,提升软件长期稳定性。

最后,要进行单元测试。单元测试是软件开发过程中的一种重要测试方法,可以针对程序模块进行测试从而检验其正确性。。

1. 确保功能正确:单元测试验证代码单元功能,确保预期输出,提高代码质量。

2. 早期发现与自动化:早期发现问题,自动化回归测试,支持持续集成,减少系统级问题。

3. 促进维护与重构:增强代码可维护性,支持重构,提高开发效率,提升用户信心。

4 2、CI/CD 流程质量如何保障?

首先,要建立分层的质量门禁措施。Policy As Code(策略即代码)是一种通过代码来定义和管理自动化策略的方法,基于代码的自动化而不是依赖手动流程来管理策略,允许团队更快地交付并减少人为配置错误的可能性,是一种提高软件交付质量的最佳实践。

其次,针对开源软件要进行风险治理。据调查,全球超过 90%的企业在其软件开发过程中使用了开源软件,开源软件的风险直接影响到产品软件。开源软件使用面临 3 大威胁:网络安全,开源软件供应链面临持续漏洞/恶意代码攻击风险,过去三年针对软件供应链的攻击平均年增长高达 742%;供应安全,部分场景下无法继续参与或获取开源软件;合法合规,违反开源 License 会引发相应法律纠纷或诉讼。除了使用软件成分分析工具对软件进行扫描,识别使用的开源软件,进行风险治理,从前端开源软件引入阶段进行开源管控可以更有效的进行开源风险管理。同时要对开源软件进行漏洞扫描。软件漏洞不仅会带来严重的安全隐患,还会给企业和用户造成巨大的损失。

最后,通过灰度发布,企业可以在保持发布效率的同时降低潜在的负面影响。灰度发布模式包括蓝绿发布、金丝雀发布、滚升发布等。同时整个发布过程可视化,通过发布单实时观测微服务的健康情况,异常情况可一键回滚至旧版本;从而全方位保证发布的质量和安全。

5 3、如何通过测试持续改进软件质量?

首先,通过启发式测试策略与设计,生成高质量用例。及时识别并修正软件中的缺陷至关重要,因为这些缺陷如果在产品推向市场后才被察觉,其修复成本将显著上升。统计数据表明,修复市场发布后发现的缺陷的成本是产品测试阶段的六倍。这不仅会加大企业的财务压力,还可能损害产品形象和客户满意度。因此,增强测试的全面性,确保在产品发布前捕捉到所有潜在缺陷,是企业必须重点关注的战略问题。

其次,第一时间拦截现网问题,实时看护运行态质量。功能测试是质量保证中的重要环节,主要目的是验证软件的各项功能是否按设计要求正常运行。在功能测试的范畴内,冒烟测试是一种快速检查关键功能是否正常工作的方法,通常用于尽早发现可能影响主要功能的严重缺陷,保障测试环境与现网环境部署的质量。

然后,全面质量度量与评估,让质量管理不开盲盒。科学的质量管理离不开成熟的测试质量评估模型和规范,让产品质量可视化、可度量,“让质量暴露在阳光下”,达成高质量的目标。

最后,持续集成自动化测试,保障高质量部署。出色的自动化测试可以提高测试效率、覆盖率、降低成本,提供快速反馈,帮助开发团队了解代码更改的影响,快速定位问题并修复。自动化测试在持续集成环境中也是不可或缺的一部分,它可以在代码每次提交后自动运行,确保新代码不引入新的错误。

6 华为云软件质量保障方案

wKgaombGBfKAJntrAANnpRGJC7c704.png

华为云软件开发生产线CodeArts是华为 30 年研发实践的沉淀,其端到端质量保障的流程与方法一直在华为研发团队中打磨、精进,深入软件开发各环节,助力提升代码质量、DevOps 流程质量、产品质量,为企业打造可持续改进的、保障高质量产品的平台,助力企业效率提升,业务无忧。以下几个重点产品在软件生命周期质量管理中起到重要作用。

7 代码检视

华为云CodeArts Repo提供多维度的代码检视能力,以合并请求为维度,提供分散式协同检视,配合门禁系统保证检视意见的闭环,从局部层面确保在每次代码入库前的质量;以仓库为维度,提供团队集中检视,从全局层面对入库后的代码进行检视,持续保证代码质量。其检视功能支持多种角色协同配合,保证检视意见能够在不同的角色间灵活的流转,并且通过权限控制,确保检视意见可跟踪,有效闭环。

8 代码检查

华为云CodeArts Check为用户提供深度代码检查服务。从开发编码、代码合入、版本发布等多个研发阶段提供代码扫描服务,及时发现研发过程中出现的代码问题或潜在风险。不仅提供了开箱即用的 DevOps 解决方案,还提供了友好的 API 接口,为 CI/CD 提供快速接入能力。

9 测试计划

华为云CodeArts TestPlan提供需求覆盖率、需求通过率、用例执行率、遗留缺陷指数等 10 多个质量度量指标,支持按照功能、性能、可靠性等维度评估质量,还支持按照需求、缺陷等维度评估,测试评估从天级缩短到小时级。同时还提供了分支和测试计划两级测试质量看板和实时质量报告,全方位、可视化呈现研发测试过程和结果数据,支持产品研发阶段随时评估质量,方便研发团队及时、高效、准确的掌握产品质量现状,实时掌控产品的研发进度和风险。

10 灰度发布

华为云灰度发布提供模板化管理,可将发布流程预置为模板,提升发布编排效率,规范发布流程;支持多场景灰度发布模式,包括蓝绿发布、金丝雀发布、滚升发布等多种灰度策略编排。提供发布流程控制,将一次发布任务分解为多个步骤,发布与测试同步,通过监控浸泡进行步骤流转,降低发布风险。同时整个发布过程可视化,通过发布单实时观测微服务的健康情况,异常情况可一键回滚至旧版本,从而全方位保证发布的质量和安全。

从数字世界迈向智能世界,软件已经成为企业越来越重要的资产。守护软件质量,也就是守护企业长期构筑“值得信赖”的品牌。“软件质量”绝非一时兴起,而应该在企业中形成“软件质量”文化,并将质量保障相关的研发工具融入到企业软件生产过程中,使其每时每刻发挥作用,才能真正将“软件质量”落地。

审核编辑 黄宇


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

    关注

    3

    文章

    2438

    浏览量

    17335
收藏 人收藏

    评论

    相关推荐

    信雅达入选2024年度中国软件质量发展前百家企业

    ,提出针对性的政策建议。 报告同时综合评估遴选出了“2024年度中国软件质量发展前百家企业”名单,旨在树立行业榜样和典型示范,进一步促进我国软件产业高
    的头像 发表于 10-22 11:08 188次阅读

    软件正在我们眼前悄然被侵蚀

    在数字化时代,软件的稳定性与安全性构筑企业值得信赖护城河。作为全球领先的
    的头像 发表于 09-03 12:04 165次阅读
    <b class='flag-5'>软件</b>正在我们眼前悄然被侵蚀

    华为云软件质量保障方案构筑企业值得信赖护城河

    质量是产品的生命线,质量问题不仅会导致企业财产损失,还可能引发业务中断、客户满意度下降、企业品牌声誉受损等负面影响。如何在软件开发过程中全方
    的头像 发表于 08-28 09:35 381次阅读

    MES里面有质量模块,为什么还要实施质量管理软件QMS

    ​为什么一些知名头部的大厂,已经有了MES , 却还都去实施了质量管理软件(QMS)? 答:是这些MES里面的质量模块不能满足客户的需求。 ​ 那么来看看,从质量管理的角度来看,QMS软件
    的头像 发表于 07-29 12:16 300次阅读
    MES里面有<b class='flag-5'>质量</b>模块,为什么还要实施<b class='flag-5'>质量管理软件</b>QMS

    天合光能助推光伏行业走向高质量发展新阶段

    全面布局光储融合智慧能源,构建多元能力全面协同的护城河,拥有了更强的抗风险能力及穿越周期能力,将助推光伏行业走向高质量发展的新阶段。
    的头像 发表于 07-27 09:26 536次阅读

    中科驭数HADOS 3.0:以四大架构革新,全面拥抱敏捷开发理念,引领DPU应用生态

    一家成功的大算力芯片公司,其核心壁垒必须是软硬兼备的,既要有芯片架构的强大技术壁垒,更要有持久投入的、生态兼容完备的软件护城河。HADOS,就是中科驭数的软件护城河
    的头像 发表于 07-09 14:26 349次阅读
    中科驭数HADOS 3.0:以四大架构革新,全面拥抱敏捷开发理念,引领DPU应用生态

    SPC软件质量管理中的应用

    在当今这个追求高效、精准和稳定的生产环境中,质量管理早已成为企业立足市场的基石。然而,如何在复杂多变的生产过程中确保质量的稳定性和可靠性,一直是企业面临的难题。合肥迈斯
    的头像 发表于 06-27 09:43 594次阅读

    上位机监控软件如何提高质量

    上位机监控软件在工业自动化和智能制造领域中扮演着举足轻重的角色。它通过实时监控、数据采集、分析和处理,帮助企业实现生产过程的优化和自动化。然而,要提高上位机监控软件质量,需要从多个方
    的头像 发表于 06-07 09:14 364次阅读

    傲睿科技用MEMS喷墨打印芯片助力国产打印机新品上市

    打印行业护城河宽、专利技术壁垒高,美国和日本企业掌控着核心技术,形成行业垄断。
    的头像 发表于 05-27 10:05 670次阅读

    不锈钢钣金件焊接机上海厂商哪家值得推荐

    领域中的佼佼者。我们的产品质量优良、性能稳定、操作简易,已经为众多企业解决了焊接难题,成为了他们信赖的选择。 那么,为什么我们要向您推荐壹晨激光焊接机呢? 首先,壹晨激光焊接机采用先进的激光技术,能量集中,焊接
    的头像 发表于 05-10 15:32 394次阅读
    不锈钢钣金件焊接机上海厂商哪家<b class='flag-5'>值得</b>推荐

    值得信赖的工业主板制造商

    朗锐智科是一家值得信赖的工业主板制造商,为工业领域提供可靠的主板解决方案。我们的工业主板经过严格的行业标准测试和验证,以确保其在恶劣环境下的稳定性和耐用性。我们的产品具有广泛的兼容性和可扩展性,适合
    的头像 发表于 04-24 11:21 492次阅读
    <b class='flag-5'>值得</b><b class='flag-5'>信赖</b>的工业主板制造商

    适者生存,程序员最终会流向哪……

    程序员没有永远的护城河!!就目前的互联网大环境来看,it行业已经是……
    的头像 发表于 03-11 17:11 395次阅读
    适者生存,程序员最终会流向哪……

    2023年LED产业链企业IPO进展

    企业发展到一定的阶段,往往会选择通过获取资本的力量来为自己增设“护城河”,上市成为企业的不二之选。
    的头像 发表于 01-16 13:48 847次阅读
    2023年LED产业链<b class='flag-5'>企业</b>IPO进展

    什么是CUDA?谁能打破CUDA的护城河

    在最近的一场“AI Everywhere”发布会上,Intel的CEO Pat Gelsinger炮轰Nvidia的CUDA生态护城河并不深,而且已经成为行业的众矢之的。
    的头像 发表于 12-28 10:26 1.3w次阅读
    什么是CUDA?谁能打破CUDA的<b class='flag-5'>护城河</b>?

    浅谈IC工程师的护城河是什么?

    对IC工程师来说同理,日复一日地写代码、debug、画图走线,用这些来挖掘护城河是非常有限的。能紧跟先进工艺流片、不断积累学习协议和IP、接触不同应用场景的产品才行。
    的头像 发表于 12-13 10:11 418次阅读