gpt4 book ai didi

SIMULINK 中大型或中等复杂系统模型的单元测试和集成测试

转载 作者:行者123 更新时间:2023-11-28 20:31:47 27 4
gpt4 key购买 nike

问题

我有一个相当大的液压气动系统模型,由大约 20-25 个不同的子系统组成。然后,每个子系统都由数字逻辑、边沿延迟 block 和外部输出端口(实际输出)的网关组成。此外,一些小型构建 block 是作为 S 函数导入的遗留 C 代码,以最大限度地提高成本效益比。每个子系统模型都是在 SIMULINK 中使用基本模块集设计的,即没有使用附加商业模块集(例如航空航天、simscape、simMechanics 等)。

主要问题是我对 SIMULINK 中的测试模型了解不够。我知道 Mathworks 提供了一个用于测试和验证的定制单元测试框架。问题是我不太确定这与我的域有什么关系。此外,我的子系统本身非常复杂,对它们中的每一个进行单元测试是一场噩梦。但是,如果使用输入和输出进行黑盒测试是唯一的方法,那就这样吧,我很乐意接受。

虽然我的问题在于在 SIMULINK 中测试大型和复杂的系统,但我的目标是从经验丰富的 SIMULINK 用户那里获得建议,他们过去已经做过并且将来会经常这样做。我以前在 SIMULINK 中做过单元测试,但所有这些测试都离我的正确设计不近。

任何帮助将不胜感激!!

更新自@PHILGODDARD 的评论

上面忘记说了,我对HIL和PIL很熟悉。但是,只有当您的目标实时平台可用于循环测试时,这些才有效。如果有人想做一个软实时测试怎么办?

我正在等待一两天内参加 Mathworks 大型系统测试网络研讨会。希望我能通过它得到一些更好的答案/建议?

更新自@AM304 的评论

为了进一步阐明上下文,我们在不涉及任何物理设备的情况下对软件中的所有交互系统进行建模,即在软件中对所有系统进行建模和仿真,并在运算符(operator)/教师终端中显示输出.... . 例如我们有一起工作的电气、空调和液压气动系统,但我们已经在软件中对它们进行了建模。因此,当我们模拟它时,所有必要的信号都是从软件模型的行为中生成的,没有实际的硬件/物理设备参与提供这些行为输出。

最佳答案

我会调查 Simulink Design VerifierSimulink Verification&Validation .具体来说,它们提供了自动测试生成和覆盖率分析等功能,我认为这些功能适用于您的问题。

作为旁注...

关于matlab unit-testing framework您在帖子中提到的,这基本上是 xUnit 的 MATLAB 实现框架。因此,如果您希望能够将 xUnit 设计模式应用于 MATLAB 代码测试,它显然会派上用场。

该框架可用于为 Simulink 模型编写测试,但请记住,您必须能够在 MATLAB 代码中编写测试。所以这只是意味着使用 Simulink 命令行界面(例如 set_paramsim 之类的命令)来设置和运行您的模型,然后使用框架的验证方法(例如 verifyEqual)比较实际结果和预期结果。

关于SIMULINK 中大型或中等复杂系统模型的单元测试和集成测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18767825/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com