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

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

3天内不再提示

参数——汽车软件开发中最大的挑战之一

北汇信息POLELINK 2023-02-14 15:30 次阅读

一个参数很少单独出现。

我们的许多客户已经在他们的应用程序中实现了成百上千个参数,以便在车辆中参数化(即应用)软件。这不仅体现在动力系统和发动机的开发上,还体现在汽车开发的所有领域,如驾驶辅助、车身和舒适性以及能源管理。

软件的应用通常是在软件用于多个型号和迭代的车辆时完成的。参数为开发提供了必要的灵活性,通过巧妙地调整软件来补偿系统变量,从而使软件可重用。

因此,参数支持面向产品线的软件开发。

运用到软件中的每个参数都伴随着软件开发过程中日益增长的复杂性。因此,测试带参数的软件更加需要注意。

什么是参数?

参数是在运行时具有常量值的变量。

它在软件程序开发过程中使用,以便能够调整目标系统中程序的反应。因此,开发团队可以为不同的应用场景高度灵活地集成软件程序,而不必更改代码基础。

在程序执行前,由开发人员对参数进行调整和测试。如果检测到不利的行为,则应用其他参数值对并再次测试。重复该过程,直到软件适合所选的部署场景。

它们在代码中取代魔数,主要用于建模限制(阈值),作为调优参数和激活功能行为。

参数与信号(如温度、速度等)和常数有什么不同?

信号随着时间的推移不断变化,并反映周围的系统。常量(或定义)是在构建软件时定义的,然后只能通过重新构建软件来更改。从技术上讲,参数正好介于两者之间。在软件运行期间,参数的值通常不会改变——它就像一个常数。

参数可以在技术上进行更改,例如,在车间中、在测试驱动期间或在软件更新期间,甚至在运行时,因此在开发和操作期间提供了高度的灵活性。

汽车参数化的典型例子:

  1. 闭环控制器

PID控制器常用于汽车系统中。比例分量的增益K_p是参数调优的一个典型例子。

  1. 限制值或开关阈值

在许多应用中,物理值必须计算和建模。作为标量的参数用于描述阈值。当超过阈值时,软件的行为会发生变化。

在我们的灯光控制器示例中,使用了几个参数来区分分段的光强,例如明暗。如果你想在一个软件中集成不同车辆的不同传感器,你应该使用参数来适应软件。

同样常见的是使用特征曲线或矩阵形式的多维参数。在电池控制器中,开路电压特性用于估计电池单元的荷电状态(SOC)。

  1. 功能的激活

在发动机开发中,参数被用于在相同的力学条件下实现不同的性能,也用于编码可选的车辆功能,例如辅助加热系统的存在。

通过调整参数,可以针对不同的工况或要求对车辆进行优化,提升驾驶体验,优化车辆性能。

在测试参数化软件时,应特别注意以下主题:

1. 改变参数的默认值:检查基本功能是否仍然存在。如果参数在单元和模块边界上大量使用,则应该启动一个新的完整的测试运行。在低使用率的情况下,单元测试和下一个更高级别的软件集成测试通常足以进行验证。

2. 在其他代码段中添加新参数或使用现有参数:在添加参数时应使用功能测试,以检查参数是否具有正确的效果。在测试中,要通过参数的具体值变化来判断参数是否被设置在正确的位置。

3.避免参数干扰:阈值参数往往分割相同的信号。应用程序参数化指南显示了参数的正确使用,并指定了一个参数通常应该和必须如何设置以及与另一个参数的关系。这样的指南有时并不为人所知,因此可能导致出现在文档中已经处理和排除的问题。

4. 避免过多的测试:测试所有可能的值和参数组合非常耗时,而且通常不切实际,特别是当有许多参数时。相反,测试人员通常只测试最重要或最常用的值和参数组合,以确保软件正常工作。

5. 小心测试用例中的参数更改:有时参数的值在测试用例中直接更改。这可能会导致测试运行中出现意想不到的错误。所以要注意在测试中在何时及在何处进行了参数更改。

如何在TPT中对广泛参数化的软件进行测试?

在TPT中,当软件第一次连接时,软件中使用的所有参数都是已知的。它们被导入到声明编辑器中,因此也可以通过自动完成在所有测试和评估中的使用、修改和引用。

poYBAGPq7WeAQu9hAAES9AjwMTg125.png

对于每次测试运行,默认情况下使用声明编辑器上参数的默认值。

为了在TPT中测试参数的变化,有以下几种可能:

  1. 在初始化测试用例时更改参数(在初始值选项卡中)。
  2. 更改测试运行的参数(在执行配置中通过加载参数集)。从TPT 19(即将发布)开始,参数可以定义为Multi-Execution,并且具有任意值范围的多个参数的组合可以在每个测试用例中迭代。
  3. 修改映射编辑器中的参数
  4. 在声明编辑器中更改参数

似乎这还不够:您还可以在测试运行时的任何时间更改参数。

如何实现的详细过程可以在TPT用户指南中找到。这将在每个版本中更新。如果您有任何问题,我们的支持团队将很乐意为您提供帮助。

您不希望不必要地增加测试的数量?请随时与我们联系,并在今天试用TPT。我们很乐意为您提供建议和技巧。

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

    关注

    5082

    文章

    19119

    浏览量

    305103
  • 汽车
    +关注

    关注

    13

    文章

    3511

    浏览量

    37301
收藏 人收藏

    评论

    相关推荐

    我国软件开发者数量超过940万

    在近日举办的开放原子开发者大会上,工业和信息化部负责人传来了则令人振奋的消息:我国软件开发者数量已经突破940万大关。这数据不仅彰显了我国在软件
    的头像 发表于 12-23 11:08 126次阅读

    【征集令】2025年全球汽车软件开发状况调查,500美金等你拿!

    本次Perforce联合北汇信息,诚挚邀请中国汽车软件开发专业人士参加该报告2025年的调查。这项调查涵盖了发现汽车软件工作人员面临的最新趋势、挑战
    的头像 发表于 11-08 09:17 144次阅读
    【征集令】2025年全球<b class='flag-5'>汽车</b><b class='flag-5'>软件开发</b>状况调查,500美金等你拿!

    北京软件开发公司有那些?做软件的公司有哪些?

    北京作为中国的科技创新中心之一,拥有众多提供软件开发服务的公司。以下是些在北京地区较为知名的软件开发公司: 华盛恒辉科技有限公司:是家专
    的头像 发表于 10-28 15:02 390次阅读

    ECU电控软件开发及测试介绍

    本文重点介绍符合AutoSar架构的应用软件开发、MBD开发模式下的软件质量评估与优化方案、复杂场景下的ECU性能压力测试方案。
    的头像 发表于 09-26 14:25 3343次阅读
    ECU电控<b class='flag-5'>软件开发</b>及测试介绍

    Jama Connect for Automotive,汽车行业需求管理解决方案,加速汽车软件开发

    软件开发
    龙智DevSecOps
    发布于 :2024年08月05日 13:55:24

    嵌入式软件开发与AI整合

    嵌入式软件开发与AI整合是当前技术发展的重要趋势之一。随着人工智能技术的快速发展,嵌入式系统越来越多地集成了AI算法,以实现更复杂的智能功能。以下是关于嵌入式软件开发与AI整合的详细分析
    的头像 发表于 07-31 09:25 710次阅读
    嵌入式<b class='flag-5'>软件开发</b>与AI整合

    2024 ACT汽车软件与安全技术周 龙智即将携全方位汽车软件开发解决方案亮相,助力应对汽车软件开发功能安全

    ,分享推动汽车软件开发与功能安全的创新实践。 ATC作为汽车技术会议领域的领先平台,专注于汽车电子与软件版块的技术交流将近10年历程,深耕行
    的头像 发表于 07-08 16:17 557次阅读
    2024 ACT<b class='flag-5'>汽车</b><b class='flag-5'>软件</b>与安全技术周 龙智即将携全方位<b class='flag-5'>汽车</b><b class='flag-5'>软件开发</b>解决方案亮相,助力应对<b class='flag-5'>汽车</b><b class='flag-5'>软件开发</b>功能安全

    【《软件开发珠玑》阅读体验】+ 心得

    的财富。 人类是单线程工作的,同时只能完成项任务。感慨颇深。只能根据优先级选择重要的任务了(或事情)。需要养成单日单任务的习惯。 此外,《软件开发珠玑》还强调了团队协作和沟通的重要性。在软件开发
    发表于 06-23 17:56

    上位机软件开发用什么语言

    上位机软件开发是指开发用于与下位机(如PLC、单片机等)进行通信、控制和数据处理的计算机软件。上位机软件在工业自动化、物联网、智能家居等领域有着广泛的应用。选择合适的编程语言对于
    的头像 发表于 06-06 10:44 1815次阅读

    如何通过人工智能(AI)克服汽车软件开发挑战

    关于“如何通过人工智能(AI)克服汽车软件开发挑战”的网络研讨会,本文总结了研讨会的关键观点以及相关白皮书和专访,帮助读者更好地了解汽车软件
    的头像 发表于 02-28 15:01 1236次阅读
    如何通过人工智能(AI)克服<b class='flag-5'>汽车</b><b class='flag-5'>软件开发</b><b class='flag-5'>挑战</b>?

    2024年全球汽车软件开发状况调查-首次中国汽车软件开发专业人士问卷征集

    今年,Perforce联合北汇信息起,首次诚挚邀请中国汽车软件开发专业人士参加该报告2024年的调查。这项调查涵盖了发现汽车软件工作人员面
    的头像 发表于 01-29 15:47 479次阅读
    2024年全球<b class='flag-5'>汽车</b><b class='flag-5'>软件开发</b>状况调查-首次中国<b class='flag-5'>汽车</b><b class='flag-5'>软件开发</b>专业人士问卷征集

    keil arm软件开发指南

    电子发烧友网站提供《keil arm软件开发指南.pdf》资料免费下载
    发表于 01-26 15:51 7次下载

    汽车软件开发CAEdge框架关键技术

    软件定义汽车中,汽车功能主要通过软件实现,不再仅仅依赖硬件。这种将软件与硬件解耦的方式使得新功能和软件
    发表于 01-24 14:16 574次阅读
    <b class='flag-5'>汽车</b><b class='flag-5'>软件开发</b>CAEdge框架关键技术

    嵌入式软件开发软件开发的区别

    嵌入式软件开发软件开发是两个不同的概念,它们在些关键方面有着明显的区别。嵌入式软件开发是指开发嵌入在硬件设备中的
    的头像 发表于 01-22 15:27 2283次阅读

    基于ASPICE模型的汽车软件开发质量管理设计

    当前汽车领域正处于个极具挑战性的历史时刻,随着电动化、智能化、网联化和共享化等不断变化的应用场景,大量新兴的业务和技术需求急速增长,汽车正日益成为
    的头像 发表于 01-08 09:06 1643次阅读
    基于ASPICE模型的<b class='flag-5'>汽车</b><b class='flag-5'>软件开发</b>质量管理设计