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

审核编辑:郭婷

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

    关注

    4981

    文章

    18281

    浏览量

    288401
  • UML
    UML
    +关注

    关注

    0

    文章

    122

    浏览量

    30750
收藏 人收藏

    评论

    相关推荐

    微软下架最新大语言模型WizardLM-2,缘因“幻觉测试疏忽”

    对此,微软技术人员在X平台发表声明,表示因对新模型发布流程不够了解,且忽略了幻觉测试环节,导致模型被紧急下线。目前,开发团队正在全力以赴进行测试
    的头像 发表于 04-22 14:15 97次阅读

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

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

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

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

    在TC3XX系列中,safety manual中写着DTSCLIM和PMS-DTSLIM之间差距大于9摄氏度,为什么?

    在TC3XX系列中,safety manual中写着DTSCLIM和PMS-DTSLIM之间差距大于9摄氏度,认为此时是异常的,要触发alarm。请问为什么要设计成这样,这个阈值为啥是9摄氏度
    发表于 01-22 06:36

    三元电芯与铁锂电芯的价格差异不断缩小

    三元电芯与铁锂电芯之间的价差正在不断缩小
    的头像 发表于 01-03 11:29 632次阅读

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

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

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

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

    关于AD8529开环增益模型相关问题

    您好。我在使用AD8529设计一个同向放大电路,其后将驱动电容性负载,因此希望获得AD8529的开环增益模型来预计系统瞬态响应性能并添加适当的补偿。测试方法参照《基于运算放大器和模拟集成电路
    发表于 11-23 06:02

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

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

    瑞萨推出业界首款基于Arm Cortex-M85处理器的MCU

    RA8系列产品具备业界卓越的6.39 CoreMark/MHz测试分数,缩小了MCU与MPU之间的性能差距
    的头像 发表于 11-07 09:08 472次阅读

    基于模型方法在民机机载软件中的应用

    机载软件适航标准对软件研制过程、生命周期数据以及符合性证据等都提出了明确的要求。然而,这些过程要求都是建立在欧美80~90年代软件工程实践的基础上,以文本需求+代码为主要的开发方式。随着近些年模型技术的进步,很多研制方法中通过
    的头像 发表于 10-27 15:30 257次阅读
    基于<b class='flag-5'>模型</b>的<b class='flag-5'>方法</b>在民机机载软件中的应用

    浅谈嵌入式开发测试用例的调试和测试方法

    调试和测试方法主要还是结合开发人员,比如软件工程师在代码中通过CLI增加【调试接口】,让调试人员可以通过CLI发送指令进行调试。
    发表于 10-18 11:04 186次阅读
    浅谈嵌入式<b class='flag-5'>开发</b>中<b class='flag-5'>测试</b>用例的调试和<b class='flag-5'>测试</b><b class='flag-5'>方法</b>

    iTOP-RK3588开发板更新RKNN模型

    RKNN 是 Rockchip NPU 平台(也就是开发板)使用的模型类型,是以.rknn 结尾的模型文件。 RKNN SDK 提 供 的 demo 程 序 中 默 认 自 带 了 RKNN 模 型
    发表于 09-21 11:39

    pytorch模型转换需要注意的事项有哪些?

    什么是JIT(torch.jit)? 答:JIT(Just-In-Time)是一组编译工具,用于弥合PyTorch研究与生产之间差距。它允许创建可以在不依赖Python解释器的情况下运行的模型
    发表于 09-18 08:05

    求助,请问有人测试过ETH0网口的速度吗?

    请问有人测试过ETH0网口的速度吗? 在开发版上使用iperf3测试,得到的结果大约为54M左右,离100M的差距不小,想问是不是有方法改善
    发表于 09-01 09:14