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

审核编辑:郭婷

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

    关注

    5186

    文章

    20166

    浏览量

    329095
  • UML
    UML
    +关注

    关注

    0

    文章

    123

    浏览量

    31508
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    利用NVIDIA Cosmos开放世界基础模型加速物理AI开发

    NVIDIA 最近发布了 NVIDIA Cosmos 开放世界基础模型(WFM)的更新,旨在加速物理 AI 模型测试与验证数据生成。借助 NVIDIA Omniverse 库和 Cosmos,
    的头像 发表于 12-01 09:25 550次阅读

    上海控安:基于模型测试用例生成

    在当今复杂多变的软件开发环境中,软件系统的规模和复杂度不断攀升,传统测试方法面临着诸多挑战。如何高效、准确地生成测试用例,以确保软件系统的质量和可靠性,成为软件
    的头像 发表于 08-28 14:30 527次阅读
    上海控安:基于<b class='flag-5'>模型</b>的<b class='flag-5'>测试</b>用例生成

    迅为RK3568开发模型推理测试实战LPRNet 车牌识别

    迅为RK3568开发模型推理测试实战LPRNet 车牌识别
    的头像 发表于 08-25 14:55 1077次阅读
    迅为RK3568<b class='flag-5'>开发</b>板<b class='flag-5'>模型</b>推理<b class='flag-5'>测试</b>实战LPRNet 车牌识别

    知识分享 | 敏捷方法在基于模型的软件开发项目中的应用

    传统的瀑布式软件开发流程存在诸多局限,这使得应用敏捷原则变得尤为重要,尤其是面对复杂且不断变化的开发环境时。作为最高效的软件开发方法之一,基于模型
    的头像 发表于 07-16 16:52 1063次阅读
    知识分享 | 敏捷<b class='flag-5'>方法</b>在基于<b class='flag-5'>模型</b>的软件<b class='flag-5'>开发</b>项目中的应用

    模型捉虫行家MV:致力全流程模型动态测试

    随着基于模型设计(MBD)开发量的增长,其对应的测试需求也显著提升。此前,在《您的模型诊断专家MI:助力把好模型质量关》一文中详述了
    的头像 发表于 07-09 16:37 885次阅读
    <b class='flag-5'>模型</b>捉虫行家MV:致力全流程<b class='flag-5'>模型</b>动态<b class='flag-5'>测试</b>

    提高SEA模型PBNR计算精度的方法及策略

    方案即声学包对整车噪声传递的影响,同时克服了NR方法中由于声源特性、声源处麦克风安装位置等因素给测试带来的不利影响,PBNR已广泛用应用于整车SEA模型对标及声学包目标的设定及分解工作中,故而在数字
    的头像 发表于 06-30 09:30 930次阅读
    提高SEA<b class='flag-5'>模型</b>PBNR计算精度的<b class='flag-5'>方法</b>及策略

    国产 vs 进口贴片固态电容:技术差距缩小,本土化替代加速

    差异、市场表现及未来趋势,探讨国产替代的机遇与挑战。   1.性能对比:国产技术迎头赶上   (1)关键参数差距缩小   - ESR(等效串联电阻):早期国产固态电容的ESR较高,影响高频性能,但近年来,如风华高科(FH)、宇阳科技(EYANG)等企业已推出超低ESR系列
    的头像 发表于 05-27 16:25 1035次阅读
    国产 vs 进口贴片固态电容:技术<b class='flag-5'>差距</b><b class='flag-5'>缩小</b>,本土化替代加速

    KaihongOS操作系统FA模型与Stage模型介绍

    FA模型与Stage模型介绍 KaihongOS操作系统中,FA模型(Feature Ability)和Stage模型是两种不同的应用模型
    发表于 04-24 07:27

    基于RV1126开发板的按键测试方法与例程

    RV1126开发板的按键测试方法与例程详细描述
    的头像 发表于 04-15 17:03 840次阅读
    基于RV1126<b class='flag-5'>开发</b>板的按键<b class='flag-5'>测试</b><b class='flag-5'>方法</b>与例程

    深度对比:全国产电脑替代方案VS进口设备,性能差距缩小至15%的真相

    在工业、金融、能源等领域,进口电脑设备长期占据主导地位,但高昂的成本和技术依赖风险成为企业痛点。如今,以华颉工控机为代表的全国产电脑替代方案,通过CPU、操作系统、芯片组的全面国产化,将性能差距从过去的50%以上缩小至15%以内,同时成本直降40%。
    的头像 发表于 03-27 13:43 2866次阅读
    深度对比:全国产电脑替代方案VS进口设备,性能<b class='flag-5'>差距</b><b class='flag-5'>缩小</b>至15%的真相

    分享 |迅为基于RK3588开发板部署测试DeepSeek模型

    分享 |迅为基于RK3588开发板部署测试DeepSeek模型
    的头像 发表于 02-18 14:26 2085次阅读
    分享 |迅为基于RK3588<b class='flag-5'>开发</b>板部署<b class='flag-5'>测试</b>DeepSeek<b class='flag-5'>模型</b>

    添越智创基于 RK3588 开发板部署测试 DeepSeek 模型全攻略

    和NPU的利用率,可以看到CPU的占用率已经降了下来,并且调用了NPU的3个核心进行加速推理: 通过以上两种方法,我们掌握了在 RK3588 开发板上部署并测试 DeepSeek 模型
    发表于 02-14 17:42

    【「基于大模型的RAG应用开发与优化」阅读体验】+大模型微调技术解读

    今天学习<基于大模型的RAG应用开发与优化>这本书。大模型微调是深度学习领域中的一项关键技术,它指的是在已经预训练好的大型深度学习模型基础上,使用新的、特定任务相关的数据
    发表于 01-14 16:51

    AD5934用于测试水体时,测量值与实际值差距巨大是怎么回事?

    您好,目前设计的一个水体电导率测试产品,按CN-0349参考设计,使用纯电阻校准,测试纯电阻精确度不错! 但现在发现用于测试水体时,测量值与实际值差距巨大, 校准
    发表于 12-19 08:47

    Verilog 测试平台设计方法 Verilog FPGA开发指南

    Verilog测试平台设计方法是Verilog FPGA开发中的重要环节,它用于验证Verilog设计的正确性和性能。以下是一个详细的Verilog测试平台设计
    的头像 发表于 12-17 09:50 1563次阅读