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。我们很乐意为您提供建议和技巧。

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

    关注

    4983

    文章

    18286

    浏览量

    288509
  • 汽车
    +关注

    关注

    12

    文章

    2991

    浏览量

    36076
收藏 人收藏

    评论

    相关推荐

    广告电商+超级云APP结合 # 软件开发# 模式开发# 小程序开发# App开发

    软件开发APP
    jf_01576396
    发布于 :2024年04月09日 17:42:13

    Cadence宣布与Arm合作,提供基于芯粒的参考设计和软件开发平台

    中国上海,2024 年 3 月 19 日——楷登电子(美国 Cadence 公司,NASDAQ:CDNS)近日宣布与 Arm 公司合作,提供基于芯粒的参考设计和软件开发平台,以加速软件定义汽车(SDV)取得创新。
    的头像 发表于 03-19 11:41 320次阅读

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

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

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

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

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

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

    区块链系统软件开发与应用

    区块链技术是近年来备受瞩目的创新技术,被广泛应用于金融、供应链管理、物联网等领域。区块链系统软件开发是实现区块链应用的关键,它不仅需要掌握区块链的基本原理,还需要具备良好的软件开发能力和项目管理经验
    的头像 发表于 01-10 18:18 979次阅读

    嵌入式软件开发流程

    电子发烧友网站提供《嵌入式软件开发流程.ppt》资料免费下载
    发表于 11-17 14:37 1次下载
    嵌入式<b class='flag-5'>软件开发</b>流程

    AUTOSAR软件开发流程简介

    AUTOSAR软件开发流程简介 AUTOSAR软件开发流程是指在AUTOSAR架构下进行软件开发的一系列步骤和方法。它包括以下几个主要阶段: 需求分析:在这个阶段,根据汽车电子系统的需
    的头像 发表于 10-27 15:55 1725次阅读
    AUTOSAR<b class='flag-5'>软件开发</b>流程简介

    AUTOSAR软件开发环境之EB tresos Studio简介

    EB tresos是一款经典的AUTOSAR软件开发环境,依赖于一致的单一工具环境来通过汽车开放系统架构 AUTOSAR 开发电子控制单元 (ECU);它能够实现配置、验证和生成 ECU 基础
    的头像 发表于 09-19 10:06 3982次阅读
    AUTOSAR<b class='flag-5'>软件开发</b>环境之EB tresos Studio简介

    软件开发必读!华为云软件开发生产线 CodeArts 深度体验指南

    7 月 7 日-9 日,随着华为开发者大会 2023 的到来,华为云软件开发生产线 CodeArts 也走进了很多开发者的视野。 开发者都比较好奇,什么是华为云 CodeArts?Co
    的头像 发表于 08-25 13:43 786次阅读
    <b class='flag-5'>软件开发</b>必读!华为云<b class='flag-5'>软件开发</b>生产线 CodeArts 深度体验指南

    RTX低功耗软件开发(三)

    软件开发
    橙群微电子
    发布于 :2023年07月11日 15:48:14

    AI大模型重塑软件开发,有哪些落地前景和痛点?

    AI First 和数据优先的思维方式,使得更多的需求能在软件内部自动产生,而不是事先规划。而在软件开发自动驾驶的方面,一个人配合一个 AI 团队,可以实现软件开发的全自动驾驶,这可能是未来
    的头像 发表于 06-15 16:39 727次阅读

    详解自动驾驶安全软件开发流程

    自动驾驶汽车开发越来越重视性能、质量和性价比,自动驾驶口碑成为新技术应用取得市场成功的关键,而口碑的建立依赖于相关软 件开发流程、周期、时间和质量。一家汽车企业只有拥有或者其
    发表于 06-01 11:38 0次下载
    详解自动驾驶安全<b class='flag-5'>软件开发</b>流程

    电动汽车初创公司如何降低软件开发成本和风险

    现在是电动汽车初创公司明智地减少浪费的时候了。随着通货膨胀造成供应链波动,市场监管壁垒越来越高,电动汽车软件开发团队现在必须优化支出并培养其工具和流程的弹性。 Perforce 静态分析
    的头像 发表于 05-15 10:56 265次阅读
    电动<b class='flag-5'>汽车</b>初创公司如何降低<b class='flag-5'>软件开发</b>成本和风险

    安全软件开发的最佳实践

    安全的软件开发最佳实践是必要的,因为安全风险无处不在。在网络攻击盛行的时代,它们可以影响每个人,包括个人、公司和政府。因此,确保软件开发的安全性至关重要。 在这里,我们将解释了什么是安全软件,如何确保
    的头像 发表于 05-08 10:51 490次阅读
    安全<b class='flag-5'>软件开发</b>的最佳实践