嵌入式C项目模块级测试的测试用例和测试自动化

时间:2015-10-06 05:44:26

标签: testing tdd automated-tests code-testing

我正在开发一个汽车项目,该项目具有不同功能的不同模块。每个模块都有一组预定义的API,用于实现其预期的功能。 (如果您了解AUTOSAR及其模块,我说的是相同的。)

我正在开发Watchdog模块。它的功能和API是预定义的。模块开发包括静态代码和生成的代码(配置)。静态代码是用嵌入式C编写的,它实现了模块的功能。生成的代码由两个文件组成 - “Cfg.C”和“Cfg.h”。 “Cfg.h”具有宏和预编译选项。 “Cfg.c”具有全局变量和常量的值。这些文件是基于XML配置文件生成的。

目前,模块测试是通过在C中编写手动测试用例并使用静态和生成的代码进行编译来完成的。为每个功能编写了一个测试用例。这些测试用例仅包含预定义的API调用,并且不使用内部API。在执行测试用例时,它将给出结果是通过还是失败。

我的任务是自动生成测试用例并测试该模块。测试用例生成是为了生成大量测试用例来测试功能以及所有可能的场景。测试用例生成包括生成测试用例和配置文件以及使用这些的组合进行测试。

自动化测试用例和执行测试自动化有哪些不同的方法?

行业中用于测试用例自动化和测试的最佳实践是什么?

行业如何进行模块级测试以验证模块的功能?

首先,针对上述情况,是否有可用于测试用例自动化和测试自动化的工具。

1 个答案:

答案 0 :(得分:0)

当我编写嵌入式C语言时,我使用C ++ Boost单元测试框架测试代码。当然不是在目标上,只是在我的开发PC上。这意味着我必须坚持在目标平台上运行的C部分(ARM内容,使用一些称为KEIL的IDE构建)和我的开发PC(Ubuntu,GCC和Make)。

我将每个C模块与特定于测试的存根模块相链接,该模块实现了所有缺失的符号。单元测试,被测单元和存根将被编译并链接到可执行文件,可在代码到达目标硬件之前用于TDD,CI和回归测试。它非常简单的单元测试,或者甚至更好的TDD。

这是针对消费电子产品开发的,这些电子产品的标准比我所知的适用于汽车的更宽松,所以我猜你必须采用这种方法来匹配你的编码标准。