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

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

3天内不再提示

基于模型的方法缩小了开发和测试之间的差距

星星科技指导员 来源:嵌入式计算设计 作者:Dominic Tavassoli , 2022-06-28 15:38 次阅读

智能产品的时代正在迎来嵌入式产品设计,其功能增加、复杂性增加和交付窗口压缩。这些产品通常需要遵守严格的开发法规,才能用于飞机、汽车或医疗设备等安全或任务关键型应用。

基于模型的开发通过统一建模语言 (UML) 和系统建模语言 (SysML) 等图形符号提高了开发人员的生产力,以帮助管理复杂性并在开发生命周期的早期发现设计异常。在许多情况下,这使得测试难以赶上。它通常是项目中最大的时间和预算项目,因此最先被削减。尽管如此,测试成本仍在增加;许多测试仍然植根于手动的、基于代码的方法,这些方法不容易扩展到今天的需求。

模型驱动开发的成熟力量

使用模型,软件工程师可以更清楚地理解和分析需求,做出架构权衡,定义设计规范,通过仿真验证和验证行为,并生成代码以直接部署在目标硬件上。模型的一个关键好处是在设计发生变化时保持整个设计的一致性和正确性。使用 UML,每个图都可以在不同抽象级别捕获模型的不同视图,同时在这些视图之间保持一致。建模语言的语义加强了团队的一致性并帮助自动化生命周期任务,包括代码生成。

可重复的流程是提高协作和生产力同时降低证明合规性成本的关键。Embedded Market Forecasters 的 Jerry Krasner 于 2011 年进行的一项嵌入式开发研究发现,模型驱动的开发通常可将因延迟而损失的开发时间减少 40% 以上,从而为典型的项目节省 250,000 美元。

在生命周期的每一步提高质量

最大化生产力和敏捷性的下一个自然步骤是改进测试过程。解决这个问题的“常见嫌疑人”是缺陷的后期检测(和解决),以及团队之间发生变化和检测到缺陷时的沟通和一致性问题。

及早识别缺陷对于降低开发成本和满足上市时间目标至关重要。在开发的早期阶段,设计中引入了许多缺陷,但随着缺陷解决的延迟,修复成本呈指数增长。延迟缺陷解决不仅会损害项目的财务绩效,后期返工的高强度还会破坏交付计划和交付质量。缺陷解决必须与缺陷发现密切相关,因为修复刚刚发现的缺陷通常比在进一步的更改掩盖了原始原因后尝试修复要容易得多。

成功的开发项目必须交付满足客户需求的产品,达到所需的质量水平。将单元、集成、验证和验证测试与需求联系起来是基础,而自动化可追溯性是在发生变更和检测到缺陷时有效执行项目的关键。

基于模型的测试和 UML 测试配置文件

基于模型的测试使用建模来构建和执行必要的工件来执行软件测试。UML 测试概要扩展了 UML 的适用性以包括基于模型的测试。使用此配置文件,可以根据系统接口的定义为系统自动创建测试架构。可以使用序列图、状态图或活动图以图形方式定义符合最新要求的测试用例,提供通用建模语言来定义测试输入和预期结果(参见图 1)。这种方法加强了需求、设计元素和测试之间的联系,从而促进了更好的可追溯性,这对敏捷性和影响分析都有好处。测试用例可以在开发者的桌面和目标上执行,提高测试效率。

图 1:基于模型的测试使用图表指定测试用例。

pYYBAGK6sCeAFTAvAARifN9IIWo829.png

加强发展与质量管理的纽带

这种向基于模型的开发人员测试的转变不会直接使质量保证 (QA) 团队受益,因为 QA 工程师通常不希望他们成为 UML 专家,也不应该强迫他们成为 UML 专家。所需要的是一种允许 QA 工程师利用基于模型的测试资源而无需创作和拥有它们的方法。这可以通过将测试链接到 QA 测试管理环境的模型驱动测试工具来实现。这些工具允许从测试管理工具就地执行测试,并将结果自动传递到测试管理存储库。然后在一个位置管理测试,避免重复的不一致和低效,并且可以在开发过程中的任何时候执行。

将测试结果数据带回测试管理环境可以自动化缺陷解决过程,进一步优化开发和测试过程。QA 测试管理环境还应支持与需求管理工具的链接,以确保可以将测试链接回特定需求。这将促进测试覆盖自动化,使测试集能够根据需求或更改自动定义。

将项目提升到一个新的水平

通过实施与测试管理相关的基于模型的测试工具,嵌入式开发团队可以采取以下切实步骤,使他们的项目更加成功,同时为创新腾出宝贵的时间:

一致性:整个开发组织的中央测试存储库将提高效率并带来更高的质量。与单个测试工程师通过容易出错的手动复制过程创建多个测试版本不同,测试只需编写一次,并在整个开发过程中根据需要重复使用。测试的单一真实来源也可以帮助协作并最终提高交付质量,因为测试在整个开发生命周期中更可用,从而鼓励更频繁的测试。

沟通:质量管理环境中基于模型的测试执行意味着 QA 工程师可以运行测试并根据结果采取行动,而无需成为建模专家。他们可以从失败的测试导航到相关需求以及设计模式或相关代码中的问题根源。这在分布式和离岸开发环境中特别有用,它可以帮助在原本孤立的开发人员、测试人员和质量专业人员之间产生协作并建立同理心。

自动化:提高测试创建、执行和结果管理的自动化将显着降低测试成本和时间。这允许进行更多测试,从而降低复杂项目中出现回归问题的风险。同样,自动化缺陷跟踪/解决将基于模型的测试与质量管理联系起来,并具有从需求到代码的可追溯性骨干。这可确保开发人员获得及时和定量的信息来修复缺陷,并了解缺陷对交付功能的影响。随着团队努力变得更加敏捷,必须将缺陷解决优先于新功能,以避免积累技术债务。

敏捷性:使用与设计活动相同的建模符号和工具进行的基于模型的测试有助于测试驱动的开发。从需求到测试的可追溯性将是量化结果的关键,有助于回答任何项目中的关键问题:“我们准备好发货了吗?”

号召性用语

基于模型的测试可以被认为是将测试效率与模型驱动开发相提并论的第一步。虽然它的直接影响是自动化开发人员测试环境(与 QA 环境正确链接),但它可以带来更广泛的好处。通过在 QA 环境中为测试执行、测试版本管理和结果管理提供工具支持,再加上生命周期可追溯性,可以实现更高程度的测试自动化,消除开发生命周期中的关键瓶颈。

为了实现这些好处,嵌入式开发团队应该:

使用支持 UML 测试配置文件的工具(例如 IBM Rational Rhapsody)将他们的建模能力从设计扩展到测试。

确保他们的建模和测试管理环境通过工具紧密连接,例如用于实时和嵌入式软件开发的 IBM Rational 解决方案。

采用、实施并持续改进通过开发和测试工具支持的可重复流程。

通过这种方式,团队可以实现更好的协作、生产力和敏捷性,帮助他们以更低的成本更快地交付更高质量的产品。

作者:Dominic Tavassoli ,Jonathon Chard

审核编辑:郭婷

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

    关注

    5057

    文章

    18965

    浏览量

    301853
  • UML
    UML
    +关注

    关注

    0

    文章

    122

    浏览量

    30837
收藏 人收藏

    评论

    相关推荐

    大语言模型如何开发

    大语言模型开发是一个复杂且细致的过程,涵盖了数据准备、模型架构设计、训练、微调和部署等多个阶段。以下是对大语言模型开发步骤的介绍,由AI部
    的头像 发表于 11-04 10:14 48次阅读

    9月12日云技术研讨会 | ECU电控软件开发测试全流程解决方案

    解决方案,聚焦CP和AP架构下应用软件实现方法,基于模型的软件质量评估和优化方法、基于ECU级别的性能压力测试方法、软件质量和性能保证方案等
    的头像 发表于 09-26 14:18 1310次阅读
    9月12日云技术研讨会 | ECU电控软件<b class='flag-5'>开发</b>及<b class='flag-5'>测试</b>全流程解决方案

    LMH6554放大200MHz的周期单脉冲信号,没有起到放大的作用,反而缩小了,为什么?

    放大200MHz的周期单脉冲信号,没有起到放大的作用,反而缩小了
    发表于 09-14 07:57

    OPA847放大电路按照datasheet设置时增益没有放大反而缩小了,为什么?

    OPA847放大电路按照datasheet设置时增益没有放大,反而缩小了,是怎么回事?
    发表于 09-03 07:22

    ai大模型训练方法有哪些?

    方法增加数据多样性。 模型选择 选择合适的神经网络架构,如卷积神经网络(CNN)、循环神经网络(RNN)、长短期记忆网络(LSTM)等。 损失函数 选择合适的损失函数以衡量模型预测与实际值之间
    的头像 发表于 07-16 10:11 1266次阅读

    三星加强半导体封装技术联盟,以缩小与台积电差距

    据最新报道,三星电子正积极加强其在半导体封装技术领域的联盟建设,旨在缩小与全球半导体制造巨头台积电之间的技术差距。为实现这一目标,三星预计将在今年进一步扩大其2.5D和3D MDI(多芯片集成)联盟,计划新增十名成员。
    的头像 发表于 06-11 09:32 477次阅读

    性能测试的实现方法是什么

    性能测试是一种评估软件系统在不同负载下性能表现的测试方法。它可以帮助开发团队发现性能瓶颈,优化系统性能,确保软件在实际运行中能够满足用户需求。本文将详细介绍性能
    的头像 发表于 05-29 15:44 481次阅读

    商汤科技采购40000颗英伟达芯片,缩小中美算力差距

    徐冰认为,国产芯片崛起以及算力商品化带来的投资价值,使中美算力差距有望逐步缩小。只要中国持续在算力研发上投入资金及资源,便能拉近与美国的算力差距
    的头像 发表于 05-28 11:25 962次阅读

    如何使用EMC测试软件执行辐射抗扰度测试?(二)测试、校准方法及调制

    、频率变化模式测试方法 大多数EMC标准没有描述射频信号是否必须在测试频率之间打开和关闭,以及如何打开和关闭。 在现实世界中,射频场的转变经常发生。例如,打开手持式发射器或移动电话将会
    的头像 发表于 03-14 17:33 1042次阅读
    如何使用EMC<b class='flag-5'>测试</b>软件执行辐射抗扰度<b class='flag-5'>测试</b>?(二)<b class='flag-5'>测试</b>、校准<b class='flag-5'>方法</b>及调制

    三星显示CEO:中韩OLED显示器企业技术差距仅1年

    三星Display社长崔周善表示:“与中国显示器企业的技术差距缩小到1年或1年半。为了维持技术超差距,有必要聚集人才,提高研发的效率。”
    的头像 发表于 03-08 14:54 1004次阅读

    缩短连续传导模式与过渡模式功率因数校正器之间差距

    电子发烧友网站提供《缩短连续传导模式与过渡模式功率因数校正器之间差距.pdf》资料免费下载
    发表于 02-28 10:06 0次下载

    AI模型常见压缩及减量方式

    这辈子都难以看到实现的一天,但把超巨大的 AI 模型缩小但仍保持推论精度不变,还是有很多方法可以达到的。接下来我们就来帮大家简单介绍一下几种常见技术。
    的头像 发表于 12-16 15:19 870次阅读
    AI<b class='flag-5'>模型</b>常见压缩及减量方式

    韩荷签署“半导体同盟”协议,致力于缩小技术差距

    这份官方声明中详细列举了两国将如何携手缩小技术差距以及共同应对供应链风险。其中包括,通过定期的经济安全对话来加强外交领域的合作;同时两国商务部门也会设立对话机制,就芯片政策达成共识,并签署供应链合作谅解备忘录。
    的头像 发表于 12-15 10:01 336次阅读

    蓝牙耳机的声音变小了怎么办?多种方法详解

    蓝牙耳机的声音变小了怎么办?多种方法详解  蓝牙耳机声音突然变小了可能是由于多种原因引起的,包括连接问题、音量设置问题、设备故障等。在下面的文章中,我将详细介绍可能导致蓝牙耳机声音变小的几种原因
    的头像 发表于 12-09 14:23 6.6w次阅读

    业界首款基于Arm Cortex-M85的超高性能MCU

    瑞萨电子重磅发布了业界首款基于Arm Cortex-M85处理器的全新超高性能MCU:RA8M1系列微处理器。 RA8系列产品具备业界卓越的6.39 CoreMark/MHz测试分数,缩小了MCU与MPU之间的性能
    发表于 11-10 09:44 492次阅读