我有一个系统,让我们说一个必须在其嵌入式平台上测试的产品固件。为此我可以使用C库访问平台,我需要控制一些仪器(函数发生器,万用表,示波器)来进行一些测量。
为了更具体地了解我的应用程序,让我们想象一下,我想检查并联机器人的固件是否完美正常工作。除了固件源代码中的独立单元测试外,我还需要做更多涉及物理反馈的测试。例如,我可以测量臂对传感器的压力或测量反电动势电压。其中一些测试很关键(这意味着整个测试过程将失败而没有第二次机会)。其他一些不仅通过 - 失败,他们可以发出警告,测试可以继续。
因为一些例程是在低级C中实现的,所以它们是我用Matlab / Python解决的API的一部分。所以这些例程可能会失败,我将不得不将错误代码捕获到try / catch中。
在不同的级别,我的测试也可以在某些方面被打破。如果发生故障,我想记录完整的追溯。哪个测试单元,哪个类实例,哪个方法和哪个API函数。
我发现两种似乎非常适合用于此目的的技术:Matlab和Python。我可以访问C dll,我可以绘制图表,我可以通过VISA端口控制仪器。
要在python中编写一系列测试,我可以使用unittest
,HTMLTestRunner和logging
的组合。
在Matlab中,现有的软件包似乎很差。我发现log4m和Matlab2015提供了单元测试的原生函数。但是,我的感觉是Python更适合我想要做的事情。
我不得不说我已经拥有大量的Matlab许可证,在这种情况下,钱不是问题。
我最近发现Matlab和Python提供了两个接口来互相交流。此外,我已经读到这两种技术在测试中变得非常流行。
我想找到可靠的论据和具体的例子来帮助我找到合适的技术。
我目前的感觉是Matlab不会给我任何帮助来自动化我的测试平台,例如Git / ClearCase存储库上的外部挂钩。建立HTML报告并获得良好的回溯信息并不容易实现。
是否有可能在我的模块中获得良好的回溯信息,良好的记录器以及可以由matlab中的外部脚本触发的测试类?