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

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

    关注

    5209

    文章

    20664

    浏览量

    337124
  • 汽车
    +关注

    关注

    15

    文章

    4234

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    2026汽车软件发展现状报告(Perforce公司出品,第章)

    2026年,全球450+汽车软件开发专业人士分享了当前实践和行业趋势。在全球经济和地缘政治压力下,开发团队需要有效工具来保证安全、功能可靠和合规性,同时保持创新速度。本报告由Perforce发布
    的头像 发表于 04-24 12:03 1078次阅读
    2026<b class='flag-5'>汽车</b><b class='flag-5'>软件</b>发展现状报告(Perforce公司出品,第<b class='flag-5'>一</b>章)

    易特驰亮相2026软件定义汽车论坛暨AUTOSAR中国日

    随着汽车软件规模的指数级增长与工程效率的下降,如何利用人工智能(AI)技术重塑传统的汽车软件开发流程,已成为行业亟待解决的核心课题。传统的AUTOSAR工程模式正面临工程复杂度失控、问
    的头像 发表于 04-07 11:26 402次阅读
    易特驰亮相2026<b class='flag-5'>软件</b>定义<b class='flag-5'>汽车</b>论坛暨AUTOSAR中国日

    网络分析仪程控软件开发工具平台介绍

    测试效率、保障数据致性的关键环节。本文将梳理当前主流的网分程控软件开发工具,分析其适用场景与优劣,为测试工程师提供选型参考。 是德网络分析仪 、主流网分程控软件开发工具解析 在网分
    的头像 发表于 03-06 18:05 974次阅读
    网络分析仪程控<b class='flag-5'>软件开发</b>工具平台介绍

    零代码软件开发平台ATECLOUD如何实现仪器程控软件开发

    在电子测试领域,仪器控制软件开发是硬件工程师开展测试工作的核心环节之一。面对这需求,多数硬件工程师的第反应是借助成熟的编程工具与语言,
    的头像 发表于 03-02 15:59 1682次阅读
    零代码<b class='flag-5'>软件开发</b>平台ATECLOUD如何实现仪器程控<b class='flag-5'>软件开发</b>?

    ADC模数转换实战:硬件设计与软件开发要点指南!

    为实现高精度、高稳定性的ADC模数转换,硬件与软件设计均需遵循特定原则。硬件层面需优化信号调理、参考电压及抗干扰设计;软件层面需合理配置采样参数、实现数据滤波及异常处理。本文将结合实际开发
    的头像 发表于 12-16 13:25 575次阅读
    ADC模数转换实战:硬件设计与<b class='flag-5'>软件开发</b>要点指南!

    CW32嵌入式软件开发的必备知识

    嵌入式软件开发作为计算机科学和电子工程的交叉领域,要求开发人员具备系列的专业知识和技能。 而基于CW32的嵌入式软件开发必备知识包括以下部分: 1 、编程语言 熟练掌握C(C++
    发表于 11-28 07:48

    工程师变身AI“指挥者”,吉利与阿里云的软件开发变革实验

    的生产力提升。 50年后,汽车行业正在经历软件工程史上最大规模的挑战之一。 吉利汽车数智中心AI
    的头像 发表于 11-13 10:43 513次阅读
    工程师变身AI“指挥者”,吉利与阿里云的<b class='flag-5'>软件开发</b>变革实验

    芯科科技推出Simplicity Ecosystem软件开发套件

    Silicon Labs(芯科科技)今日在深圳盛大举办享誉业界的Works With开发者大会,同时宣布推出Simplicity Ecosystem软件开发套件,它不仅是下代模块化的软件开发
    的头像 发表于 10-27 16:45 1576次阅读

    十大北京软件开发公司推荐:有哪些优点和缺点

    十大北京软件开发公司推荐:有哪些优点和缺点
    的头像 发表于 10-04 09:44 4114次阅读
    十大北京<b class='flag-5'>软件开发</b>公司推荐:有哪些优点和缺点

    2025北京软件开发公司推荐汇总:盘点10家优秀软件定制开发公司

    2025北京软件开发公司推荐汇总:盘点10家优秀软件定制开发公司
    的头像 发表于 09-30 09:16 2949次阅读
    2025北京<b class='flag-5'>软件开发</b>公司推荐汇总:盘点10家优秀<b class='flag-5'>软件</b>定制<b class='flag-5'>开发</b>公司

    汽车软件开发阶段安全的意义与原则

    上海磐时PANSHI“磐时,做汽车企业的安全智库”好书分享/《本书读懂智能汽车安全》汽车软件开发阶段安全的意义与原则本文节选自SASETE
    的头像 发表于 09-05 16:16 1120次阅读
    <b class='flag-5'>汽车</b><b class='flag-5'>软件开发</b>阶段安全的意义与原则

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

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

    基于瑞萨64位MPU RZ/G2L进行32位应用软件开发

    本文主要介绍基于瑞萨64位MPU RZ/G2L进行32位应用软件开发的介绍,用于解决客户32位软件移植相关问题,供客户参考。
    的头像 发表于 06-26 15:48 2199次阅读
    基于瑞萨64位MPU RZ/G2L进行32位应用<b class='flag-5'>软件开发</b>

    2025年汽车行业趋势解读:AI在汽车软件开发中的应用、代码安全挑战等(附Perforce QAC / Klocwork工具推荐)

    随着AI技术深入嵌入式系统,汽车软件已成为智能出行的核心要素。根据Perforce发布的《2025年汽车软件开发现状报告》,全球650多名汽车
    的头像 发表于 06-13 15:03 1755次阅读
    2025年<b class='flag-5'>汽车</b>行业趋势解读:AI在<b class='flag-5'>汽车</b><b class='flag-5'>软件开发</b>中的应用、代码安全<b class='flag-5'>挑战</b>等(附Perforce QAC / Klocwork工具推荐)

    找电机控制软件开发兼职

    软件开发兼职人员,我现在有个永磁无刷电机控制,220V,需要有相关经验的人来开发,兼职费用可以议谈,产品是增压泵相关产品,有兴趣给我留言,谢谢
    发表于 05-07 17:43