百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Simulink集成模型测试太慢怎么办?

nanshan 2024-10-09 13:06 37 浏览 0 评论

Tips:

现阶段模型开发大部分采用Simulink,为了验证模型实现了相关功能,需要对模型进行测试。模型测试(MiL)有单元测试和集成测试之分。单元测试中模型复杂度低,信号参数数量少,测试用例数量少,用例时间短,通常为开环测试,测试用例运行总时长在可接受范围内。但是集成测试不同,由于模型结构复杂,信号参数数量庞大,加之测试用例时间长,导致需要处理大量信号数据(很多情况包含被控对象),测试运行总时间往往很长。

最近,有小伙伴向我们反馈,集成测试由于模型复杂度高,测试用例多,导致执行耗时非常长,TPT有没有加速测试的方法。

当然有了,有需求就会有解决方案。接下来向大家介绍TPT中加速运行的方法。



TPT结合Simulink自带的加速测试功能


1)TPT调用Simulink “Accelerator”或“Rapid Accelerator”模式

在TPT18中,可以指定Simulink的运行模式,分别为“Normal”、“Accelerator”和“Rapid Accelerator”,我们可以选择“Accelerator”或“Rapid Accelerator”模式,加速运行。

使用Simulink自带的demo集成模型进行演示,运行相同的用例,并统计不同模式的运行时间。

在TPT中选择运行模式。


以上结果可知,选择“Accelerator”或“Rapid Accelerator”模式后,运行速度有一定程度的提升。


2)TPT调用Simulink “Fast Restart”

我们也可以勾选“Fast restart”来提高运行速度。需要注意的是,“Rapid accelerator”模式不支持“Fast restart”。

Tips:

Fast restart:即快速重启,可避免再次编译。当以迭代方式仿真模型时,开启“Fast restart”后无需每次迭代时编译模型,提高测试速度。

Rapid Accelerator:Rapid Accelerator模式会根据被测模型创建可执行文件,使用external mode与Simulink进行通讯。



TPT多核运行模式


默认情况下,TPT运行时只会选择一个CPU内核进行测试。当测试用例较多时,可以选择多核模式,开启多个MATLAB运行测试。

在运行配置中点击“Use one core”。


填写想要使用的数量,比如2核。


我们可以看到,同时有2条测试用例在执行。


可用核数取决于电脑配置,可以在设备管理器中的处理器查看。



合并报告


在集成测试时,测试用例执行总时间很长。当遇到某条测试用例出现问题时,为了获取完整的测试报告,修改测试用例之后还需运行全部的测试用例。这样做的时间成本很高,还有没有其他的方式呢?答案是肯定的。

在TPT中,支持合并报告,如下进行说明。

首次运行工程后,存在未通过测试用例。


修改“Test_Case_002”测试用例,并运行。


选择所有测试用例,在“Run”处点击“Generate overview report”即可生成包含所有测试用例的报告。


最后,可以看到,测试报告包含全部测试用例。


通过以上方法,TPT能够使得测试提速,减少时间成本。TPT提速测试并不局限于上述内容,如果着眼于整个测试过程,状态机测试用例的可视化、功能需求与测试用例和评估的双向追溯关系、适用于全局的评估等都能够加速测试。此外,TPT能够集成Jenkins部署CICT,实现自动化的测试流程。

相关推荐

CentOS 7 搭建 Harbor2.4.1 Docker镜像仓库

上一篇文章我们使用了registry镜像来搭建Docker私有镜像仓库,但是使用体验不是很好,没有一个可管理的UI界面,管理很麻烦。本篇文章将介绍一个新的搭建Docker镜像仓库的工具叫做Har...

简单认识认识mqtt及mosquitto(mqtt报文解析)

某项目中使用了MQTT作为进程间的通信方式,之前没用过,这两篇笔记我们就来一起学习一下这种方式。MQTT的一些介绍以下介绍内容来自《[野火]《LwIP应用开发实战指南》MQTT协议全称是Messa...

全源码打造高性能 LNMP 架构: 实战教程(2025最新版)

适用场景:企业生产环境、自建Web服务、深度性能调优操作系统:CentOS7/8、RockyLinux、Debian、Ubuntu(本文以CentOSStream9为例)技术栈:N...

Nacos3.0重磅来袭!全面拥抱AI,单机及集群模式安装详细教程!

之前和大家分享过JDK17的多版本管理及详细安装过程,然后在项目升级完jdk17后又发现之前的注册和配置中心nacos又用不了,原因是之前的nacos1.3版本的,版本太老了,已经无法适配当前新的JD...

Ubuntu24.04.2 企业级MinIO存储系统部署指南

一、概要1.1MinIO架构解析MinIO是一款高性能的云原生对象存储系统,采用Golang开发并遵循ApacheLicensev2.0协议。其核心架构基于纠删码(ErasureCode)技...

从零打造自己的 国产鸿蒙(OpenHarmony)定制系统-完整可落地流程

适用版本:OpenHarmony4.0/5.0Standard目标人群:想在x86PC、RK3568开发板或自有硬件上裁剪、加品牌、预装应用并生成可刷机镜像的开发者/团队目录环境准...

一次暂未成功的dify安装经历(dify怎么安装)

前几天在阿里云买了一台机,这几天一直在尝试安装dify,到现在还没安装上我是按这个教程装的https://blog.csdn.net/2401_82469710/article/details/14...

ZLMediaKit教程(五)支持webrtc(webrtc lib)

ZLMediaKit系列文章(共六篇):ZLMediaKit流媒体(一)编译安装ZLMediaKit教程(二)主程序和配置文件解析ZLMediaKit教程(三)URL规则ZLMediaKit教程...

Linux程序安装与管理指南(linux程序安装命令大全)

在Linux系统中,安装和管理程序主要通过包管理器和手动编译安装两种主要方式实现。以下是详细的操作指南,涵盖常见发行版(如Ubuntu/Debian、CentOS/RHEL、Fedora等)的用法。一...

离线状态下安装 Nginx 各个模块?这篇攻略让你轻松搞定

你是不是也在为离线状态下安装Nginx各个模块而发愁?在互联网大厂后端开发工作中,我们常常会遇到一些特殊的网络环境,比如公司内部的离线服务器,或是处于隔离状态的测试环境。当需要在这些离线环境中安装...

Rust实践:Win10环境下的openssl交叉编译

Rust支持跨平台,可以指定生成目标平台,交叉编译也是支持的。当然,想要交叉编译成功,还需要指定平台的编译器(如:msvc、gcc等)。openssl是C语言开发的库,如果在Rust代码中用到open...

Linux下Blackwell架构显卡(RTX5070/5090)编译PaddlePaddle指南

Blackwell显卡架构如RTX5070\5090等显卡当前Paddle预编译版本中包含的GPU架构(即SM架构)是有限的,比如常见的SM75(T4)、SM86(A10)、SM89(...

突破操作系统界限,掌握Linux的必备指南

#头条创作挑战赛#简介Linux是一种开源的操作系统,它的核心思想是自由和开放。Linux以其稳定性、可靠性和安全性而闻名,被广泛用于服务器和嵌入式设备中。Linux创始人Linux安装在安装Linu...

Linux日常高频使用的100条命令,强烈建议收藏

查看系统信息如何查看系统版本:uname-alsb_release-acat/etc/os-release如何查看系统内核信息:uname-r如何查看系统CPU信息:lscpucat...

Linux文件系统结构全解析(linux文件结构详解)

对Linux新手而言,“一切皆文件”的设计哲学常让人既兴奋又困惑——打开终端输入ls/,看到的bin、etc、var等目录到底有什么用?如何快速定位关键文件?本文将从Linux文件系统的底层逻...

取消回复欢迎 发表评论: