tag 标签: 模型开发

相关帖子
相关博文
  • 热度 4
    2024-6-20 10:41
    452 次阅读|
    0 个评论
    前言部分: 随着汽车电子技术的不断发展和普及,汽车电子系统的复杂度不断增加,对汽车电子系统的测试要求也越来越高,传统的测试方法已经无法满足对系统功能和性能的全面测试需求。TPT作为一种灵活、高效的测试工具,能够帮助测试工程师快速编写满足各类需求的测试用例,有效提高测试效率和覆盖率。 为了满足汽车行业日益增加的测试需求,走在测试技术前沿,TPT也在不断成长,以适应新的测试需求和挑战。 更新亮点 形式化需求 在TPT 19时我们已经体验到了形式化需求的高度自动化,在此基础上TPT 20支持MiL、SiL、PiL、HiL阶段所有平台使用形式化需求自动生成测试用例(例如:MATLAB、AUTOSAR、Lauterbach、CANoe、VeriStand等),这一优化无疑会对我们的测试质量和效率的提升有很大帮助。 另外,形式化需求的编写也得到了优化,提供了一些新的步骤以便于满足各类需求。 例如:当需要的测试结果是检测两个信号是否相等时,新增的‘Shall Signal Compare’步骤就可直接满足这一需求。 图 1 新增步骤示例 形式化需求还新增一种生成未通过测试用例功能(满足功能需求输入,未得到期望结果),可以通过在TASMO自动生成测试用例界面选择开启该功能。 图 2 选择生成Failed测试用例 选择生成Failed测试用例后,生成界面会显示哪些需求存在未通过的情况,通过分析模型/代码,这样就可以快速发现/定位问题啦。 图 3 形式化需求自动生成用例界面(生成Failed测试用例示例) 自动生成测试用例 除形式化需求自动生成测试用例有更新外,其他测试用例自动生成也做了优化改进。 以‘Generate Test Cases from Equivalence Classes’为例: 我们现在可以选用等价类单个随机值做接口测试,在用边界值方法设计测试用例的时候选取三点边界值,从映射中检索量化数据。 图 4 选择测试方式 图 5 选择映射 在TPT 20中,我们不再需要通过复杂的配置组合去实现多类测试用例的生成,而是可以通过简单选择直接生成所需测试用例。 另外TPT 20还针对组合方式和生成用例形式提供了多个类型来满足我们测试的多种工况。 组合方式: Single value:单个信号的单个代表为一组; Pair two values:选择一对信号为一组; Combine values:选择所需信号的代表值为一组; 步骤列表: Embedded:将所有组合作为嵌入信号步骤的示例点嵌入一个步骤列表; Merged:将组合合并到一个用例中,在各组合间设置等待时间; Separated:为每个组合单独生成一个测试用例。 图 6 信号组合和用例形式选择 新增的'Generate Test Cases for Interface Testing' 功能是同时支持'Generate Test Cases from Equivalence Classes'和'Generate Test Cases from Value Ranges'的功能生成测试用例,可以更好的实现功能安全要求的接口测试和边界值测试。 图 7 Generate Test Cases for Interface Testing AUTOSAR 现在AUTOSAR新增TPT Coverage(TASMO)覆盖度统计方式,该统计方式可以直接使用并查看代码的SC、CC、DC、MC/DC覆盖率,无需另外购买商用覆盖度统计工具,避免繁琐的配置过程,节约成本的同时提高测试效率。 图 8 AUTOSAR覆盖度设置 自动生成完成后,执行相应测试用例,可以直观的看到代码结构的覆盖情况。 图 9 代码覆盖度报告查看 同时,AUTOSAR还支持了TASMO自动生成测试用例,并且提供了新的覆盖度标准‘Function coverage’,它满足了功能安全集成测试阶段的覆盖度统计要求,以便测试人员更好地查看代码中的函数是否执行。 图 10 Generate Test Cases for C/C++ or AUTOSAR 新功能 项目元素共享 当一个项目有多个TPT工程时,可以通过在子项目中设置父项目,将父项目的声明、命名数据类型、映射、函数和需求与多个子项目共享。 图 11 设置父项目 为了提高效率,将一个模型的功能分给不同的人测试时,可以通过此方法共享测试元素,分别进行需求测试,当父项目更新时,父项目中的调整也将应用于所有子项目。 图 12 共享元素 Function Wizard改进 ‘Channel steps’ and‘ Parameter steps’ 现在都可以使用TPT函数,例如 :TPT.rampgradient()。此外,现在还可以为所有支持的整数数据类型生成Asymptote Functions 和 Ramp Functions以满足我们更复杂和多样的测试需求。 图 13 Function Wizard Python 3.0 TPT 20现在可支持Python 3.0用于测试评估。 图 14 新增功能函数 相比之前,TPT不仅可以使用Python 3.0来编写评估,Python 2.0在使用上也有优化。 举例: 现在可以将两个“TPTNumpy.array()”对象用“==”进行比较,也支持了几个与时间相关的信号的并行分配。 图 15 示例 TPT项目文件的差异和合并 TPT 20支持TPT项目文件的比较和合并。通过’Diff and Merge view’视图,可以比较两个加载的TPT项目文件,并将偏差从一个文件转移到另一个文件。 图 16 对比项目文件 在测试的过程中,大家肯定避免不了会尝试修改各种设置和用例等来实现测试结果,这一过程也许会产生多个版本的项目文件,待测试成功后就可以使用该功能查看我们修改过的内容并做出总结,以便下次应用。 TPTBIN文件优化 在TPT 20中,优化了文件存储形式。相比前期版本缩小了文件大小,节省了空间,提高了测试效率。 图 17 TPT 20的BIN文件 如图所示,相同的文件在TPT 19中显示为6KB,但是在TPT 20中为3KB,显著缩小了文件大小。 图 18 TPT 19的BIN文件 总结 TPT 20的新功能就先介绍到这里了,每一次的更新和优化都是为了更好满足我们的需求和功能实现,给我们带来新的感受和体验,如果各位想要进一步了解TPT,欢迎联系我们,也希望能给我们带来新的建议和反馈。
  • 热度 10
    2023-4-28 09:40
    819 次阅读|
    0 个评论
    在 TPT 19 中,首次有了最坏情况执行时间的早期预警系统 —— 这 已经在本地主机上用于测试执行。 基本原则 : 对每个测试步骤的执行时间进行测量。这使您可以快速轻松地确定哪些测试和哪些条件会影响本地主机上的执行时间。 指示器显示了哪些测试和哪些测试刺激 延长 了执行时间。因此,您可以使用指示器作为代码变更的早期预警系统推导出测量目标 板 上真实 WCET 的相关测试 。 这将节省你的时间,给你更快的反馈,并为你的开发者提供相关的见解。 它是如何工作的? 在平台配置器中开启执行时间测量,并测量和存储每个被调用函数的执行时间。 TPT 自动创建一个名为 suttimes 的结构体,并为每个函数添加结构体的一个元素。在信号查看器中,您可以查看和可视化测量结果。 此功能仅适用于 C 平台 ; 支持 C 和 C ++ 。 像往常一样,您可以使用我们流行的 Assesslets 对这些度量执行评估。 最坏情况下的执行时间 是用来做什么的 ? 通常,汽车环境中的应用程序由调度器 ( 在基本软件或操作系统中 ) 周期性地调用。调度器基于固定的时间规范工作 - 函数的调用时间在毫秒范围内。如果应用程序需要的时间超过调度器允许的时间,则应用程序的计算将被中止。这可能导致严重的错误。了解最坏情况下的执行时间可以让您相应地调整计划。 如何确定最坏情况下的执行时间 ? 有两种基本方法 : 目标环境的测量 为目标环境构建应用程序后的计算 对目标环境的测量 这很容易设置,通常在 PiL 测试期间完成,也就是说,当软件在目标 ECU 上执行时 完成 。不幸的是,为了确定最大的执行时间,必要的测试场景并不是很容易确定 —— 通常只测量已执行测试的最大执行时间。因此,真正的最坏情况执行时间可能无法确定。 为目标环境构建应用程序后的计算 这里,不需要测试数据和场景。因此,计算独立于测量,并基于对执行计算的控制器的代码和架构的分析。有一些产品制造商,如 Absinth 公司,提供专门的工具来精确地进行这样的计算。 如何从 TPT 的最坏情况执行时间指标中获益 ? 最坏情况执行时间指标可以作为一个早期预警系统 —— 在本地主机或持续集成环境的测试期间 运行 。即使它不会取代测量或计算方法。 但是在进行更改时,您不必等待真正的最坏情况执行时间,因此 即便 在 SiL 测试期间已经发生更改的情况下,您 也 可以获得更快的反馈。 对这项功能感兴趣?欢迎联系北汇信息获取 T PT19 试用。
  • 热度 5
    2022-12-14 10:28
    1448 次阅读|
    0 个评论
    随着ECU功能的增加和平台化的推广,标定的需求正在从动力系统和底盘系统向车身系统和娱乐系统扩展。由德国Vector公司提供的CANape主要用于ECU参数优化(标定),可在系统运行期间同时标定参数值和采集测量信号。 CANape与ECU的物理接口可以是使用CCP(CAN标定协议)的CAN总线,或者是使用XCP协议的其他总线。另外,CANape集成了强大的离线数据分析功能,通过数据挖掘,能够自动的批量分析,评估测量数据,并自动生成分析报告;其集成的CDMstudio工具提供图形化的视图,方便用户对标定参数文件(如PAR,DCM,CDFX等),HEX文件进行对比,修改,合并等。 客户 HOERBIGER是汽车传动和离合器方面的专家,在全球汽车行业中颇受赞誉。它致力于开发针对运动型轿车和高档轿车的双离器合系统以及针对乘用车和商用车的同步传动系统。 挑战 如何便捷地测试Simulink模型的行为? 在针对第二代双离合器传动的软件开发中,工程师将现有的、手动生成的C代码转换为MATLAB/Simulink模型。之后,由模型生成的代码直接集成于AUTOSAR RTE。每个软件模块都可以用Simulink模拟。然而,现有的MATLAB Scopes可视化选项不足以进行详细的数据分析。优化参数的过程也是费时而不便的,按要求需修改MATLAB Workspace中的值或生成特定的GUI元素。 解决方案 针对Simulink模型以及ECU内部数据的参数化和可视化,选择CANape作为 用户接口。 连接CANape和Simulink模型最简单的方法就是用Simulink XCP Server。用户使用时同与ECU连接时相同:从描述文件中选择测量量及标定量,并拖动到显示及标定窗口中显示。按下一个按钮,可从Simulink模型生成必要的A2L描述文件,无需额外的仪器就可读写模型中的参数。 优势 --Simulink模型可实现可视化和参数化 --高效、便捷 --CANape Option Simulink XCP Server非常适合于分析模型的行为: 在整个开发过程中,CANape配置同标准的XCP协议配置相同。无论模型、快速原型平台或ECU连接皆适用。 尽可能切合实际地测试模型,记录的测量数据可作为输入参数回放到模型中运行。 在CANape的各种窗口中很容易观测测量数据以及对标定数据进行修改。不需要针对模型的特定设备。 带CDM Studio的标定数据管理系统(Calibration Data Management)便于编辑和管理模型中的参数集文件。用户可以复制、合并不同的参数集,下载在Simulink模型中并将参数以不同的格式如MATLAB M-script格式保存。 仿真结果可用MDF格式保存。实现从汽车上测量的数据和从CANape中通过手动或自动评估得到的数据的直接对比。 解决方案是可扩展性的:针对计算量特别大的模拟,可以将处理器负载分布到2台计算机。