单元测试的目的
创建完模型后,我们需要验证模型的行为,即仿真结果,是否跟我们预期的一致,这样才能保证由模型生成的代码在嵌入式系统中执行得到结果跟我们预期的一致。单元测试主要是以模型或者模型内的子系统为单位进行测试。
虽然单元测试不能发现所有的问题,比如实际系统中的接口信号跟我们预期的不符,或者一些性能方面的需求。但是单元测试个人感觉还是必须的,测试用例设计的越全面,即把自己能想到的所有情况都测试一遍,后续在实车上出现非预期的情况就越少。
并且在模型单元测试中找问题会比在后续的集成测试,以及实车测试中找问题容易的多,所以尽量能在单元测试中发现的不能就不应该流出到后续的开发流程中。
做好单元测试会极大的提高开发效率。
现在Matlab的Simulink Test工具箱做的也越来越完善,只需要简单几步就可以创建出测试环境,方便的修改测试用例,结果的可视化和报告功能也做得很好了,下面就具体介绍一下用法。 创建Test Harness测试模型
Test Harness 模型可以理解为一个测试框架。由被测试模型,信号输入和信号输出组成。
如果一个模型不是很复杂的话,可以直接对一个模型整体创建一个Test Harness模型,进行测试。具体方法是在模型最外层的空白处,点击鼠标右键,选择Test Harness -> Create for Model…
如果模型很复杂的话,也可以对模型中的各个子系统分别创建Test Harness模型,然后分别单独测试这些子系统。具体方法是选中想要测试的子系统,点击鼠标右键,选择Test Harness -> Create for 'subsystem name'
点击后,就会出现如下的配置界面:
其中,{Name}是给出Test Harness模型的名称{Save test harness extern}如果不勾选 ,那么这个test harness模型就不会单独的生成一个文件,而是保存在原模型里面。
{Save test harness extern}如果勾选,那么这个test harness模型就以一个单独的文件保存。
Test Harness模型的可以选择的输入输出如下:
这样就会自动生成Test Manager的测试文件和测试用例的excel文件。
Test Manager的测试文件打开后,如下图。
Test Suite:每一个测试文件中,都可以定义若干个Test Suite,可以把同一类型或同一功能的测试用例放到一个Test Suite中。
Test Case:每一个Test Suite中,可以定义若干个Test Case,Test Case中规定了测试详细的执行信息。实际测试执行的时候也针对每一个Test Case进行测试的。
Create Test Case from External File:测试用例的具体信息从excel模板中提取,这篇文章重点介绍以这种形式来创建测试用例。
小锁标记:表示这些设置是通过excel文件中的设置固定的,无法在该页面进行修改,只能通过excel文件进行修改。
*标记:提示这些设置是有过修改。