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

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

3天内不再提示

应用程序生命周期管理软件增强产品开发测试和可追溯性

星星科技指导员 来源:嵌入式计算设计 作者:Peter Varhol 2022-06-28 15:18 次阅读

15 或 20 年前,许多嵌入式系统由一个 8 位处理器和几 KB 内存以及可能有几百行代码组成。今天,汽车、ATM、手机和其他设备中嵌入式系统的爆炸式增长已经极大地改变了这种动态。在以太网上看到多个 32 位和 64 位多核处理器并在这些系统中运行总计数十万行代码的多个应用程序的情况并不少见。

随着这些设备变得越来越复杂,项目团队确认软件需求已经过测试并且测试可以追溯到需求已经成为一个重大负担。在许多情况下,即使进行了广泛的测试,团队也可能不知道他们是否已成功满足所有产品要求。

高度复杂性和对更高系统可靠性的需求也将质量放在首位。较旧的嵌入式系统要么足够简单,要么不够重要,无法花时间查找、跟踪和修复软件缺陷。今天,嵌入式系统中的缺陷与企业应用程序中的缺陷一样普遍,甚至更为重要。由于更高的复杂性,能够通过测试用例和需求追溯缺陷变得更加重要,这样团队就可以提高对问题及其影响的特性的透明度。

当今复杂的嵌入式系统可能有成百上千的需求,以及尽可能多或更多的测试用例。跟踪和执行这些测试用例,并使用这些信息来确保满足要求,成为必须更好地控制其流程的团队真正关心的问题。为了应对这一挑战,团队需要一种自动化的方式来链接工件,以便有关一个工件的数据成为其他工件的信息。应用程序生命周期管理 (ALM) 软件可以提供帮助。

可追溯性的价值

可追溯性是将需求链接到风险、测试用例、缺陷甚至源代码等下游工件的实践。链接支持在相关工件之间进行更改和进度的双向通信

例如,一旦产品有需求,验证它的人就需要编写测试用例,以确保正在开发的产品满足设计要求。如果测试用例失败,产生的缺陷会记录在问题跟踪系统中。

可追溯性使产品团队和利益相关者能够理解并从产品开发工件之间的关系中获取有价值的信息。通过查看缺陷,可以确定尚未满足哪些要求。团队可以将此信息用作确定产品是否可以发货的重要指南,还可以对缺陷进行分类以首先满足最重要的要求。

但是有效的可追溯性可以为项目做更多的事情。如果安全风险被识别为产品的一部分,则这些风险可以与非功能性需求相关联,然后可以追踪到下游工件。源代码可以追溯到缺陷并返回到需求,从而关闭了设计、开发和测试之间的循环。同样,当缺陷修复被重新检入源代码控制并运行测试以确认修复时,团队和其他产品利益相关者非常清楚地知道相应的要求已经得到满足。

可追溯性还提供了通常无法以任何其他方式获得的基本项目信息。它为测试人员提供了一种易于理解和可报告的产品质量衡量标准。通过了解哪些需求仍未得到满足,以及它们是否记录了针对它们的问题,测试人员可以估计完成产品的剩余时间。最后,可追溯性使团队能够更好地了解剩余的工作,以及剩余工作的产品功能区域。

使用 Microsoft Word 或 Excel 管理需求、测试用例和缺陷已经足够具有挑战性了。但是如果没有真正的跟踪系统,就不可能通过测试用例跟踪需求到缺陷再回到需求。

将可追溯性构建到嵌入式项目中

产品团队如何建立可追溯性?它从需求开始。一旦定义了功能需求,风险分析和缓解就开始了,测试人员生成测试用例,使他们能够确定正在开发的产品是否满足这些需求。

当测试人员运行测试用例时,通过的用例表明相关要求已得到满足。如果测试用例失败,测试人员会记录与这些测试用例相关联的缺陷,并通过链接记录到被测需求。缺陷与相关的测试用例和测试运行相关联,提供了返回测试阶段的链接。

理想情况下,此链接是自动完成的。虽然可以手动创建和维护项目工件之间的链接,但所涉及的工作是详细且持续的。每当需求或测试用例发生变化时,都必须手动重新建立链接。手动创建和维护需求、测试用例和缺陷之间的链接所需的工作量很大,尤其是在几乎每天都必须检查和更新这些链接的情况下。

在大多数项目中,测试人员在不同的测试运行中多次执行测试用例。当初始运行失败时重新运行测试,并且需要验证修复。随着嵌入式软件产品范围的扩大以满足更多要求,测试也会运行更多次以进行回归。

测试也可以手动执行,或者使用测试工具以自动化方式执行。在实践中,大多数团队两者都做。手动测试通常是第一次完成,并使用自动化工具进行记录。除非功能发生重大变化,否则后续测试通常会自动运行。测试结果通过缺陷或成功的测试结果为可追溯性信息提供了基础。两者都可以追溯到需求和其他工件。

通过自动化测试和可追溯性,测试团队有机会在高水平上执行,在产品计划内完成测试,并向产品利益相关者提供有关质量和需求满足的有价值信息。这使得测试与所有利益相关者更加相关,尤其是在产品开发的后期阶段。

理想情况下,这从需求开始,但还必须包含测试管理、缺陷跟踪和源代码管理。对于具有安全影响的产品,还应纳入风险管理和缓解措施。ALM 软件(例如 Seapine Software 的 TestTrack)提供了从设计和开发项目的开始到结束创建、管理和链接工件的能力。图 1 说明了可追溯性矩阵如何帮助团队轻松确定缺陷或需求更改如何影响项目的其他部分。

图 1: Seapine TestTrack 等应用程序生命周期管理解决方案的可追溯性使嵌入式项目团队能够快速轻松地了解缺陷和其他更改如何影响项目。

poYBAGK6q32AIvLfAAd6RmQ4YPA585.png

可追溯性和安全关键项目

可追溯性传统上用于具有数百名工程师和测试人员以及数千个需求的大型开发项目。这主要是商业和军用航空和太空系统领域,在这些领域中,对抗复杂性的信息需求超过了信息成本。这些系统可能需要数年时间才能开发并推向市场,这使得通过可追溯性获得的信息在团队成员离开和新成员到来时特别有价值。

但是通过自动化(例如 ALM 软件提供的自动化),可追溯性的成本和工作量可以降低到对较小的项目和更短的时间表有意义的程度。需求和下游工件之间的自动可追溯性,以及从缺陷到需求的上游追溯,使得识别和沟通开发障碍和问题更快、更透明。

智能手机、汽车系统和智能工业控制设备等项目受益于更好的可追溯性。随着越来越多的测试团队采用自动化 ALM 方法来收集和传播可追溯性信息,产品质量将继续提高,即使系统变得更加复杂。

审核编辑:郭婷

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

    关注

    68

    文章

    18024

    浏览量

    221530
  • 智能手机
    +关注

    关注

    66

    文章

    17988

    浏览量

    176864
  • 嵌入式
    +关注

    关注

    4962

    文章

    18145

    浏览量

    286500
收藏 人收藏

    评论

    相关推荐

    什么是设备全生命周期管理系统?

    设备全生命周期管理系统是一款能够对设备进行全周期数字化管理软件平台,它通过将设备信息电子化,使得设备的
    的头像 发表于 02-26 14:21 167次阅读
    什么是设备全<b class='flag-5'>生命周期</b><b class='flag-5'>管理</b>系统?

    半导体测试设备大盘点:全生命周期无死角检测

    半导体产业作为现代电子工业的核心,其产品的全生命周期测试对于确保产品质量、提高生产效率和降低成本具有重要意义。半导体全生命周期
    的头像 发表于 02-02 09:46 348次阅读
    半导体<b class='flag-5'>测试</b>设备大盘点:全<b class='flag-5'>生命周期</b>无死角检测

    IBM ELM—系统工程全生命周期管理平台

    Lifecycle Management为一个统一的工程全生命周期管理策略,从需求管理、建模、测试管理和工作流程四个方面支持端到端的开发
    的头像 发表于 11-22 18:27 719次阅读
    IBM ELM—系统工程全<b class='flag-5'>生命周期</b><b class='flag-5'>管理</b>平台

    恭喜!华为云通过中国信通院《API 全生命周期管理能力评估》

    互联互通。为助力企业高质量管理 API 全生命周期的发展目标,中国信通院牵头制定了《API 全生命周期管理能力评估》标准并推出相关评估服务,规范企业 API 建设能力。 近日,华为云计
    的头像 发表于 10-26 09:16 428次阅读
    恭喜!华为云通过中国信通院《API 全<b class='flag-5'>生命周期</b><b class='flag-5'>管理</b>能力评估》

    数据包的生命周期

    电子发烧友网站提供《数据包的生命周期.pdf》资料免费下载
    发表于 10-13 14:44 0次下载

    基于工业互联网平台的PLM产品生命周期管理系统

    随着工业4.0时代的到来,工业互联网平台正逐渐成为制造业转型升级的重要驱动力。其中,产品生命周期管理系统(PLM)在实现产品生命周期
    的头像 发表于 09-20 16:46 294次阅读

    基于Rust语言中的生命周期

    Rust是一门系统级编程语言具备高效、安和并发等特,而生命周期是这门语言中比较重要的概念之一。在这篇教程中,我们会了解什么是命周期、为什么需要生命周期、如何使用生命周期,同时我们依然会
    的头像 发表于 09-19 17:03 580次阅读

    KAN252使用软件包进行产品生命周期管理

    本应用笔记介绍了软件包如何在整个产品生命周期管理(PLM)过程中为您提供帮助。 本文解释了软件包的主要优点,并将其与PLM联系起来。 使用P
    发表于 09-04 06:13

    安全性产品生命周期管理Product Life Cycle Management

    安全性产品生命周期管理Product Life Cycle Management
    的头像 发表于 08-10 11:15 410次阅读
    安全性<b class='flag-5'>产品</b><b class='flag-5'>生命周期</b><b class='flag-5'>管理</b>Product Life Cycle Management

    如何打造长生命周期的“爆款”智能终端?

    当前,因产能受限等因素,许多半导体器件的产品生命周期正在缩短。特别是面向消费类电子行业的芯片平台,大多数仅有可满足日常温度下运行的2~3年生命周期。但面对运行和维护周期长达数十年的工业
    发表于 07-20 11:16 279次阅读
    如何打造长<b class='flag-5'>生命周期</b>的“爆款”智能终端?

    C语言里变量的生命周期

    在C语言中,变量的生命周期指的是该变量存在的时间段,理解变量的内存释放时机,设计程序才能少出问题。
    的头像 发表于 07-11 09:12 911次阅读
    C语言里变量的<b class='flag-5'>生命周期</b>

    编译器的标准生命周期

    编译器的标准生命周期
    发表于 07-05 19:32 0次下载
    编译器的标准<b class='flag-5'>生命周期</b>

    从设计到部署:芯片生命周期管理如何优化整个IC生命周期

    效率并验证高可靠性应用的设计。虽然所有这些都大大提高了设计质量,但这仅仅是SLM之旅的开始。真正的SLM不能依赖在测试和鉴定期间收集的芯片数据,它必须在设计的整个生命周期内持续收集和分析数据。
    的头像 发表于 05-24 18:03 1510次阅读

    NAPI 类对象导出及其生命周期管理(下)

    NAPI 类对象导出及其生命周期管理(下)
    的头像 发表于 05-16 10:25 1434次阅读
    NAPI 类对象导出及其<b class='flag-5'>生命周期</b><b class='flag-5'>管理</b>(下)

    在S32G2 RM中有“生命周期”,生命周期的完整含义是什么?

    在S32G2 RM中,有“生命周期”。生命周期的完整含义是什么,我们应该如何使用它?
    发表于 04-23 10:37