第1章:Simulink Test入门——工具箱安装与配置、Test Manager界面介绍、创建第一个测试用例
各位工程师朋友,欢迎来到《基于模型的测试》实战课程。
我是你们的老朋友,一个在汽车电子测试领域摸爬滚打了十几年的老兵。今天咱们聊点实在的——Simulink Test工具箱。说实话,我刚接触这个工具箱的时候,也觉得它不过是个“录制回放”的小工具。直到我在一个ADAS项目中,用它抓出了一个极其隐蔽的时序bug,才彻底改观。
嗯,咱们不扯虚的,直接上手。
1.1 工具箱安装与配置
首先,你得确保你的MATLAB环境里装了这个工具箱。我个人习惯是装MATLAB时就把所有和Simulink相关的工具箱都勾上,省得后面缺东少西。
安装步骤:
- 打开MATLAB,在顶部菜单栏找到 “附加功能”(Add-Ons)。
- 搜索 “Simulink Test”。
- 点击安装,等待进度条走完。
配置验证:
装完之后,怎么知道它能不能用?很简单,在MATLAB命令行敲一句:
ver('sltest')
如果返回了版本号,那就说明装好了。我曾经遇到一个同事,装完了一直报错,结果发现是路径没加进去。你想想看,工具箱装好了,但MATLAB找不到它,多冤啊。
1.2 Test Manager界面介绍
装好工具箱后,咱们来看看它的“大脑”——Test Manager。
打开方式有两种:
- 在MATLAB命令行输入
sltest.testmanager.view - 或者在Simulink菜单栏找到 “Apps” → “Simulink Test”
界面打开后,你可能会觉得有点眼花。别急,我帮你拆解一下。说白了,它就三个核心区域:
| 区域 | 名称 | 作用 |
|---|---|---|
| 左侧 | 测试浏览器 | 管理所有测试用例、测试套件和测试结果 |
| 中间 | 编辑器/详情面板 | 编辑测试用例的具体内容,比如输入、输出、评估标准 |
| 右侧 | 结果与日志 | 运行测试后,这里会显示通过/失败、覆盖率、日志等信息 |
为什么会这样设计?其实很符合咱们测试工程师的工作流:先选要测什么(左侧),再定义怎么测(中间),最后看结果(右侧)。
我个人最喜欢的是右侧的“结果与日志”面板。有一次我在调试一个电机控制模型,测试一直报错,但模型看起来没问题。后来点开日志一看,发现是测试输入信号的采样时间设错了。嗯,这种细节,日志里全都有。
1.3 创建第一个测试用例
光说不练假把式。咱们现在就来创建一个真正的测试用例。
步骤一:准备一个模型
随便建一个简单的模型,比如一个增益模块(Gain),输入是正弦波,输出放大两倍。保存为 myModel.slx。
步骤二:新建测试文件
在Test Manager中,点击 “New” → “Test File”。给它起个名字,比如 myFirstTest.mldatx。
步骤三:创建测试用例
在测试浏览器中,右键点击测试文件 → “Add” → “Test Case”。你会看到这样一个界面:
测试用例名称: TestCase_Gain_2x
测试类型: 基线测试 (Baseline Test)
关联模型: myModel.slx
输入: 使用工作空间变量 'inputSignal'
评估标准: 输出信号 'Gain' 的最终值应为 2.0
这里要注意,“基线测试” 是最常用的一种测试类型。说白了,就是给模型一组输入,然后看输出是不是和你预期的“基线”一致。
步骤四:定义输入与评估
在中间面板的 “Inputs” 选项卡中,添加一个信号:
- 信号名称:
inputSignal - 值:
1.0(一个常数,方便验证)
然后切换到 “Baseline” 选项卡,添加一个评估标准:
- 信号路径:
myModel/Gain - 预期值:
2.0 - 容差:
0.001(浮点运算嘛,总得有点容差)
步骤五:运行测试
点击工具栏上的绿色 “Run” 按钮。几秒钟后,你会看到结果面板里显示:
- 状态:通过 (Passed)
- 执行时间:0.23秒
如果显示“失败”,别慌。双击失败条目,它会高亮显示具体哪个信号、哪个时间点出了问题。我曾经用这个功能,帮同事定位了一个“控制器在特定工况下输出跳变”的bug,省了他三天排查时间。
知识体系总览
为了让你对本章内容有个整体印象,我画了一张图。这张图展示了从安装到运行测试的完整链路:
这张图把咱们今天讲的三块内容串起来了。你跟着这个流程走一遍,基本上就算入门了。
好了,今天的内容就到这里。你可以在Test Manager里多点点、多试试。下一章咱们会深入聊测试用例的类型和参数化设计,到时候见。