Simulink Function模块竟可以这样测

Simulink

Simulink是美国Mathworks公司推出的一种强大的可视化仿真工具,现已应用到包括汽车、航空、工业自动化等领域。Simulink不仅提供了多种特定功能的模块,还提供Simulink Function,Function Caller等模块,便于用户在开发过程中,定制化一些常用函数,摆脱了Simulink中固有Block的功能限制,有效的提升了开发效率。

这个功能无疑十分强大,但这却给测试工作提出了很大的挑战:受软件开发架构限制,Function的定义可能放置在软件底层,以便于上层软件进行多次调用。但当用户对上层软件的单元层级进行测试时,往往面临着无法调用底层定义的Function的窘态(有枪无弹)。此外,当客户在测试底层单元模块时,由于Function只有定义没有被调用,往往无法对Function的内部逻辑进行测试(有弹无枪)。

针对这两种测试场景,自动化的软件动态测试工具——TPT提供了便捷的解决方案。

图2 单元模块内部结构

图 4 Import 模型接口、参数 ![在这里插入图片描述](https://img-blog.csdnimg.cn/963d77bb12d7464ba04fee00b3d6ebd9.png” />
图 5 识别callFunc函数

该函数会被直接加载到 Functions 中, 以便于在编写测试用例时调用。

图 7 添加channel本地变量 ![在这里插入图片描述](https://img-blog.csdnimg.cn/1cb1ccaba94e42de83540bcb00dbaf6d.png” />
图 8 测试用例

运行结果和信 曲线如下图所示,compare是简单的评估,结果可见模型的输出符合期望,由信 曲线可以观察到local量的值即函数的输出值。

图 11 被测函数逻辑

自动化测试工具TPT提供了m文件的接口,可以在配置测试环境或者测试执行过程中进行一些预处理,这就为测试该函数逻辑提供了绝佳的途径。

图 13 m文件加载及函数调用 ![在这里插入图片描述](https://img-blog.csdnimg.cn/a197e3d1ea8e4f5dba1c978da2ea1cc4.png)
图 14 模型中自动配置FunctionCaller

依次在TPT中配置测试环境,导入接口时即可发现模型中出现了Simulink Function调用的相关接口信息。上一步中加载的m文件,实现了自动创建所测Function对应接口信息,以及Function Caller模块的功能,这些新建的模块和Function在同一层级,这样就能够对Simulink Function逻辑进行测试。

图 16 测试用例

该函数是简单的计算风阻的函数,F=1/2 CρSV^2,其中C取0.3,S取2.05,编写评估验证该用例:

图 18 测试结果

两者的信 曲线也是完全重合:

【北汇信息】TPT | 需求管理

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年1月21日
下一篇 2022年1月21日

相关推荐