汽车系统开发中的软件质量计划

描述

  多年来,汽车行业一直肩负着提高质量的使命。在普通汽车中的软件应用程序激增,以及这些软件的大小、体积、交互性和互操作性的巨大增长的推动下,挑战在于将所有这些开发置于可控且稳健的环境中。OEM 和供应商需要确保他们对所有软件的质量有更好的可见性和控制,并越来越依赖工具和编码标准的使用来帮助为客户提供质量保证,并避免代价高昂的召回和开发延迟的风险。

  汽车领域的软件质量

  如今,汽车行业拥有 ISO 26262 功能安全标准和汽车行业软件可靠性协会的 C 编码标准 (MISRA-C –阅读更多关于 MISRA的信息) 的双重标准倡议,它们共同代表了汽车行业设定软件质量目标的坚实基础。

  ISO 26262 于 2011 年 11 月获得批准,它是对 IEC 61508 的改编,解决了汽车乘用车生产中的功能安全问题,并已被整个汽车行业广泛采用。它要求使用强大的防御性编码标准,例如 MISRA C。

  MISRA C 编码规则可以作为一个子集或全部部署,自 1998 年引入和 2012 年最近的第二次修订以来已经成为事实上的标准。MISRA C 用于组织的开发组和供应商之间、承包商和客户,以确保代码质量和合规性。

  MISRA C 的新版本主要支持使用 C 语言的 C99 标准以及 C90 以及为软件开发人员带来的额外好处,他们现在可以在其产品中利用 C99 在数据处理方面的增强功能。通过添加 C99 支持,该标准已更新为新规则、改进的解释和定义,以确保正确包含 C 语言并符合标准。

  软件质量测试的观点

  不同的利益相关者群体通常对软件质量有不同的看法和方法。然而,在日益多样化的软件生态系统中,有必要共享一个衡量质量的共同基础。

  对于汽车公司的高级管理人员来说,质量受监管要求和信托责任的影响很大,监控质量已变得与成本和进度一样重要。此级别需要的是软件质量的总体图景、通用和一致的测量标准,以及当前和过去项目的趋势线,特别关注即将发布的里程碑。

  软件工程团队需要更详细、更深入的质量关注点,但至关重要的是要与这一顶级衡量标准相匹配。

  对于项目负责人和经理,必须随时提供符合适用标准和总体质量目标的详细状态,并按开发人员和项目进行细分。

  对于开发人员来说,质量工具必须直接集成到他们的软件开发环境中,并针对最新的代码更改生成精确的质量建议。

  质量保证小组经常不得不依赖外部滞后指标,例如测试失败和错误数据收集。他们真正需要的是一个专注于真正领先测量的质量系统,例如详细的编码合规性、代码复杂性测量和其他固有的软件质量工件。

  部署陷阱

  部署质量系统解决方案时有许多常见的陷阱:

  · 适用于独立代码的开发人员的解决方案可能无法充分扩展到整个项目和整个组织

  · 分析必须产生接近于零的误报;所有诊断输出必须反映真实的可寻址条件

  · 同样,任何质量一致性领域都不应被忽视或遗漏;每个编码规则都必须通过有意义的诊断来解决

  · 必须认识到实现完全合规的现实限制;需要复杂且受控地偏离规则遵守

  · 较高组织级别的可见性必须与详细的低级别合规工作相匹配;利益相关者之间的任何脱节都将导致被剥夺权利

  汽车软件改进

  在过去十年中,汽车行业的软件使用出现了动态增长,最近该行业在质量获得和关注领域出现了一些深刻的趋势。

  虽然 QA·C 等分析工具在编写代码后一直应用于验证和验证模式,但近年来,开发人员在编写实际代码时强烈要求更多的前期使用——这清楚地体现了预防胜于治疗。这首先来自要求供应商预先证明符合行业最佳实践的客户。其次,从多样化和分布式的贡献者到主要基于软件的组件,他们希望减少不合规代码的破坏性返工影响。

  日本汽车市场正在对完全合规的偏离原则进行有趣的扩展。该行业正在联合起来组织一组非常严格控制的偏离完全符合 MISRA 的案例。必须商定每一个涉及偏差的案例,并预先说明其理由、安全案例和其他背景信息。仅允许在日本汽车行业中应用已商定的一组偏差,这标志着编码合规性的复杂性的扩展。因此,向全球市场供应产品的公司需要能够针对个别市场条件验证其代码库。

  自动化工具解决方案

  静态分析是实现代码质量的关键因素,是开发环境不可分割的一部分。将其扩展到整个企业需要一种能够识别不同级别的用户参与的方法。在 QA·Verify 中,PRQA 开发了一种工具,将 QA·C 和 QA·C++ 等静态分析工具的分析输出转化为一组视图,以覆盖更广泛的受众。

  以下是良好的质量管理报告系统所需的设施:

  · 审查诊断输出,提供给开发环境之外的受众,是绝对必要的

  · 探索潜在的不合规和代码错误可促进利益相关者之间的协作

  · 一项关键功能是呈现项目级指标的趋势图,涵盖合规性、复杂性和其他合适的度量,从而产生跨项目比较和发布前警告信号

  · 高级协作功能可以包括编码决策注释和所有相关利益相关者之间的共同理解,以及由源代码细节的复杂公开支持的根深蒂固的代码检查环境

  当采用这种使用自动化工具进行测试的整体方法时,可以提高生产力、代码质量和代码重用水平,从而加快新项目的上市时间并减少超支和返工。

  汽车系统自动化工具

  汽车行业正处于软件应用程序快速增长和成熟的时期。人们认识到需要将功能增强与质量计划相匹配,并将这一理念传播到供应链中。认识到部署此类系统的缺陷后,可以在复杂且功能强大的自动化工具解决方案中找到答案,这些解决方案可为所有利益相关者提供质量分析。

  审核编辑:郭婷

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分