自动化测试平台,Matlab或Python?

时间:2015-09-21 14:32:36

标签: python matlab unit-testing

我有一个系统,让我们说一个必须在其嵌入式平台上测试的产品固件。为此我可以使用C库访问平台,我需要控制一些仪器(函数发生器,万用表,示波器)来进行一些测量。

为了更具体地了解我的应用程序,让我们想象一下,我想检查并联机器人的固件是否完美正常工作。除了固件源代码中的独立单元测试外,我还需要做更多涉及物理反馈的测试。例如,我可以测量臂对传感器的压力或测量反电动势电压。其中一些测试很关键(这意味着整个测试过程将失败而没有第二次机会)。其他一些不仅通过 - 失败,他们可以发出警告,测试可以继续。

因为一些例程是在低级C中实现的,所以它们是我用Matlab / Python解决的API的一部分。所以这些例程可能会失败,我将不得不将错误代码捕获到try / catch中。

在不同的级别,我的测试也可以在某些方面被打破。如果发生故障,我想记录完整的追溯。哪个测试单元,哪个类实例,哪个方法和哪个API函数。

我发现两种似乎非常适合用于此目的的技术:Matlab和Python。我可以访问C dll,我可以绘制图表,我可以通过VISA端口控制仪器。

要在python中编写一系列测试,我可以使用unittestHTMLTestRunnerlogging的组合。

在Matlab中,现有的软件包似乎很差。我发现log4m和Matlab2015提供了单元测试的原生函数。但是,我的感觉是Python更适合我想要做的事情。

我不得不说我已经拥有大量的Matlab许可证,在这种情况下,钱不是问题。

我最近发现Matlab和Python提供了两个接口来互相交流。此外,我已经读到这两种技术在测试中变得非常流行。

我想找到可靠的论据和具体的例子来帮助我找到合适的技术。

我目前的感觉是Matlab不会给我任何帮助来自动化我的测试平台,例如Git / ClearCase存储库上的外部挂钩。建立HTML报告并获得良好的回溯信息并不容易实现。

是否有可能在我的模块中获得良好的回溯信息,良好的记录器以及可以由matlab中的外部脚本触发的测试类?

1 个答案:

答案 0 :(得分:3)

如果不收集有关特定用例的更多详细信息并了解更多关于如何设置环境的信息,则很难说。只是看看你在python中使用的是什么,我们有单元测试框架,一个日志框架和一个HTML测试运行器。

正如你所说,MATLAB我们有单元测试框架,它本身也有日志记录功能(12)。可以使用吗?还没有(还)有HTML报告,但您可以:

  1. 使用XMLPlugin生成JUnit样式xml并执行XSLT以从中创建html。
  2. 使用JUnit或TAP插入CI系统,这些系统通常具有报告功能。使用Jenkins执行此操作的示例是herehere
  3. 最终,CI系统链接会如何自动运行测试,我可以告诉您,单元测试框架提供的诊断(即追溯)信息已经并且将继续进行大量投资。框架中的日志记录功能可以用于测试日志记录而不是模块间日志记录,因此我不确定这是否适用于您想要的内容,但也有像您所说的log4m。