测试C/C++的功能/系统测试框架?

Ant*_*eru 11 c c++ testing system-testing

对于C++,有很多好的单元测试框架,但我找不到一个好的功能测试框架.通过功能测试,我的意思是接触磁盘的东西,需要整个应用程序到位等.

以防万一:什么框架有助于测试I/O是否有效等问题?我有一个手动滚动系统,它创建临时文件夹,复制一堆数据,所以测试总是在相同的环境中完成,但在我花更多时间在我的自定义框架之前 - 是否有好的一个已经在那里?

小智 4

我已经从头开始编写了三次 - 两次用于测试使用 FIX 协议与交易所通信的 C++ 应用程序,一次用于 GUI 应用程序。

问题是,您需要模拟外部世界来进行适当的系统测试。我的意思不是“在您的代码之外”——在您的应用程序之外。这涉及模拟最终用户、外部实体、互联网等。

我通常使用 Perl 来编写系统测试框架和测试,主要是因为它可以很好地访问各种操作系统设施,并且正则表达式是一等公民。

一些提示:确保您的日志易于解析、详细但不要太冗长。有一个合理的默认配置。使“重置”应用程序变得容易 - 您需要在每次测试后执行此操作。

我通常使用的方法是使用某种“适配器”,将应用程序与外界的通信转换为某些可执行文件的标准输入/标准输出。然后我在此基础上构建一个 perl 框架,然后测试用例使用该框架。