【Simulink Test】模型自动测试

  • Test Manager简介
  • 构建一个测试模型
  • 使用TestManager新建一个测试模板
    • 打开Simulink Test Manager
    • 通过教程创建一个测试用例
  • 修改测试输入输出进行测试
    • 测试表格说明
    • 编辑表格内信息
    • 执行测试
    • 结果分析
    • 模拟测试与预期不一致情况
    • 测试报告生成
  • 结束语

本文介绍如何使用Simulink Test Manager构建一个测试工程,实现对模型的自动测试。

Test Manager简介

Test Manager是Matlab Simulink建模功能的子模块,用于检测逻辑流程图的功能。其在生成Test项目时会根据所选模型生成两个文件,一为mldatx文件,用于记录测试中的设置;二为xls(xlsx)表格文档文件,我们可以在表格中设置某个时间的输入值,并给出输出预测,模块运行后就会根据给定的输入值运行,并将真实输出值与预测输出值进行比较,最终生成测试结果。

构建一个测试模型

构建一个测试模型,如下图,该模型实现的功能为档IN1为真时OUT1=1,当IN1为假时,OUT1=0;

并在模型上添加IN/OUT Port口;

使用TestManager新建一个测试模板

打开Simulink Test Manager

在Simulink上面选择APPS->Simulink Test,在新的TESTS工具栏中选择Simulink Test Manager

通过教程创建一个测试用例

第一步,在新生成的Test Manager窗口中选择“基于电子表格中指定的数据创建新测试”,通过这个选项可以额外生成Excel表格文档文件,方便后续的测试。

随后开始创建测试文件。在第一步中,如果已有现成的Excel表格文档文件,则选择上方选项,并在路径中选择要使用的表格;若没有,则选择下方的创建选项。

第二步,选择Model和Harness。若事先创建过Test Harness,就可在下方的选项中选择要测试部分,未创建或不选择将默认为“None”,本选项会测试该模型中的所有内容。
这里如果需要测试模型中的某一部分功能,可以对该部分模型创建Test Harness,这样可以选择该Test Harness进行针对性测试,不选择则是对整个模型进行测试。

第三步,选择数据来源。“Parameters”仅在信号线名称与数据字典关联后显示。默认“Inputs”和“Parameters”已勾选。需要手动勾选最后一个“Comparison”选项,否则生成的表格中将没有预测输出部分。后续也无法将实际输出和预测输出进行比对。下侧为测试范围选择,Yes选项会选择所有项目,No选项选择后可以选择屏蔽不参与测试的内容。
这里“Parameters”可以不勾选,目前实际测试过程中未使用过相关内容。

第四步指定生成的表格所包含的单元表页数及其名称。

第五步设定所生成文件的位置和名字,上方为mldatx文件,下方为xlsx文件。

创建成功后结果:

修改测试输入输出进行测试

测试表格说明

图中表格的A列“time”即为输入信号的时间,初始只有0和10两个时间点(单位为秒),可手动添加。右侧B列起的内容为输入信号名称,通过修改本列中对应时间行的数值即可改变该信号在特定时间的不同输入值,不可为空。C列第二个time后为输出预测部分,其右侧D列内容为输出信号在特定时间的输出预测值,可以通过修改这部分的内容完成对输出的预测,并在测试中与实际输出值比对。

编辑表格内信息

在左侧的输入信号下添加时间和输入值,并在更改右侧的预测值。可以写成函数形式,但是可能会对后续的修改造成影响,所以除非输入输出的关系特别简单,否则一般不推荐使用。
注意:编辑表格时应注意输入的变化应在一个周期内变化,我这里设置的步长为0.01S,所以输入每次均在0.01S变化,若超过步长则会默认为斜线变化导致与预期不一致。
编辑结果如下图所示:

执行测试

选中需要测试的Test Case点击Run执行测试。

结果分析

默认配置下仅包含Baseline Criteria Result和Sim Output,Baseline Criteria Result右侧为测试结果和预期结果的比对。

默认配置下仅包含输出部分,如果需要输入部分的曲线,需要勾选测试用例中INPUTS部分的Include input data in test result选项。

勾选后的测试结果如下:

模拟测试与预期不一致情况

修改测试表格如下:

测试结果:

可以看到测试失败,右侧预期与模拟的结果显示不一致,蓝色线为预期的输出,红色线为模拟输出,下面的差别也能看出来实际结果与预期的不一致。

测试报告生成

选中测试结果,点击上方TESTS->Report

在新的窗口中选择测试报告的相关信息并Create测试报告

结束语

使用这种方式已经可以对模型进行全方位的测试,并且可以实现自动化测试。但是这种方式也存在一些弊端,主要是使用起来不是很方便,但是这种生成输入输出excel表格的方式很实用。

【Simulink Test】模型自动测试相关推荐

  1. [Simulink] 基于模型的测试与验证学习笔记_Step 3: Detecting Desig Errors

    文章目录 Simulink Design Verifier 对模型做死逻辑检测 问题分析 模型除以零的检测 自动设计错误检测 总结 [注] 本文为2018 Mathworks 年会上机教程学习笔记, ...

  2. [Simulink] 基于模型的测试与验证学习笔记_Step 4:Testing By Simulation

    文章目录 仿真测试 Test Harness 创建Test Harness 导入测试用例 构建Test Harness模型 执行测试.分析结果 利用SDI进行结果的验证 Model Verficati ...

  3. TransRepair:自动测试及修复神经网络翻译模型的不一致性问题

    ⬆⬆⬆              点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 机器翻译是计算语言学的一个分支,是人工智能的终极目标之一,具有重要的科学研究价值.同时,机器翻译又具有 ...

  4. matlab2017b怎么进行sil测试,基于Matlab的模型自动测试方法与流程

    本发明属于航空发动机控制律模型全自动测试领域. 背景技术: : 目前,Matlab工具软件在航空发动机控制领域使用非常广泛,发控项目都是采用Matlab工具进行模型开发设计.控制律模型都是人工开发,随 ...

  5. matlab cuda的.cu文件应该放在那里_无人机基于Matlab/Simulink的模型开发(连载一)

    "一切可以被控制的对象,都需要被数学量化" 这是笔者从事多年研发工作得出的道理,无论是车辆控制,机器人控制,飞机控制,还是无人机控制,所有和机械运动相关的控制,如果不能被很好的数学 ...

  6. matlab做信号实验需要安装那些模块_无人机基于Matlab/Simulink的模型开发(连载一)...

    "一切可以被控制的对象,都需要被数学量化" 这是笔者从事多年研发工作得出的道理,无论是车辆控制,机器人控制,飞机控制,还是无人机控制,所有和机械运动相关的控制,如果不能被很好的数学 ...

  7. 【CarMaker学习笔记】TestManager自动测试实验

    实验介绍 既然是做实验,肯定要有对比分析,手动一次次改参数后运行,要花费大量时间,而CarMaker为大家准备了贴心的自动测试功能,搭建好一次实验环境,准备好每次实验的不同参数,就可以自动进行实验,并 ...

  8. 软件自动测试框架,软件自动化测试框架的研究和实现

    摘要: 软件自动化测试是软件工程领域的一项重要课题.随着软件工程理论的不断发展,软件自动化测试在理论上也不断达到新的高度.目前最为成熟的软件自动化测试技术是使用自动测试框架来指导自动化测试的实现.迄今 ...

  9. OpenVINO2021.4+YOLOX目标检测模型部署测试

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 引言 本文基于YOLOX的ONNX模型分别测试了YOLOX-Small与YOLOX-Tiny版本的模型 ...

最新文章

  1. ThinkPad -- Intel 无线网卡网络连接方法限制及无法用 Fn + F5 控制的问题
  2. 自制Ghost XP SP3 启动光盘(一)
  3. 百度安全 Rust TrustZone SDK正式成为 Apache Teaclave 子项目
  4. 程序员每天少吃 能活120岁
  5. java取下一天的零点
  6. html背景图平移显示一次,js实现单张图片平移切换效果
  7. Linux内核移植漫谈——你不是第一个想移植Linux内核的人
  8. ssh mysql视屏_ssh+mysql实现的Java web在线订电影票系统项目源码附带视频指导教程...
  9. linux常用命令全集sed,Linux常用命令之find详解
  10. java for语句_Java for循环语句
  11. 需要两张图片合成一个PDF文件(两页)
  12. linux scp 自动脚本,scp自动运行脚本
  13. mcgscom口针脚定义_【各种接口针脚定义]
  14. ajax请求参数为数组解决方案
  15. 运动蓝牙耳机什么牌子好?性价比高的无线蓝牙耳机
  16. 广东2018c语言二级答案,2018年3月全国计算机二级C语言练习题及答案(2)
  17. 将知网caj格式转换成pdf格式
  18. teamviewer注册版和免费版有什么区别_TeamViewer最终年度版本有什么不同?
  19. 手机上如何将图片转换成PDF文档
  20. 创新,有时是不经意间开放的花朵——访2013 CCF青年科学家奖获得者朱军

热门文章

  1. MySQL繁忙度查询_mysql 慢查询优化
  2. 软件开发人员(程序员)的出路
  3. 2017年Ledger售出100万个加密货币硬件钱包引来三星和谷歌的投资
  4. 如何统计复制微信号转化次数?微信号复制统计?
  5. 继续循环continue
  6. 坐标系统与投影变换及在ARCGIS中的应用
  7. Solaris配置多个IP
  8. LINUX网络配置基础
  9. Deepson在Jetson Nano上进行视频分析的入门
  10. 应对IBM V7000磁盘故障,你只差这一步!