【问题标题】:Testing framework for functional/system testing for C/C++?用于 C/C++ 的功能/系统测试的测试框架?
【发布时间】:2009-01-13 12:40:16
【问题描述】:

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

以防万一:什么框架有助于测试您的 I/O 是否正常工作?我有一个手动系统,它创建临时文件夹,复制一堆数据,所以测试总是在同一个环境中完成,但在我花更多时间在我的自定义框架上之前——有没有好的已经有了吗?

【问题讨论】:

  • 目前是 Windows 和 Linux。我当前的测试框架是针对 .NET 2 编写的,并且适用于 Mono 的工作环境。

标签: c++ c testing system-testing


【解决方案1】:

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

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

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

一些提示:确保您的日志易于解析、详细但不太冗长。有一个健全的默认配置。轻松“重置”应用程序 - 您需要在每次测试后进行。

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

【讨论】:

    【解决方案2】:

    下面我列出了一些我知道的工具和更大的测试应用程序。如果您提供有关您的平台(操作系统等)的更多信息,我们可能会提供更好的答案。

    对于您需要的部分内容,Microsoft 提供了Application Verifier

    Application Verifier (AppVerifier) 是一种运行时验证工具,用于测试应用程序与 Microsoft Windows XP 的兼容性。此工具可用于在应用程序运行时测试各种已知的兼容性问题。本文详细介绍了使用 AppVerifier 作为应用程序开发和测试周期的有效补充的步骤。

    应用程序验证器可用于测试低内存条件、其他低资源和其他 API 使用情况。

    难题的另一部分是 Microsoft Detours 包,它可用于将 API 调用替换为您自己的代码(例如,为难以设置的测试返回错误代码很有用)。

    Detours 是一个库,用于在 x86、x64 和 IA64 机器上检测任意 Win32 函数。 Detours 通过重写目标函数的内存代码来拦截 Win32 函数。 Detours 包还包含用于将任意 DLL 和数据段(称为有效负载)附加到任何 Win32 二进制文件的实用程序。

    还有其他更大(且更昂贵)的综合软件包可用。 Borland 使 Silk.
    自动化软件使TestComplete。选择其中一种工具将取决于您的应用程序需求。
    IBM/Rational 提供了Rational Functional Tester,它可以跨许多平台使用,并且功能丰富。

    【讨论】:

    • Detours 的遗憾在于,虽然 v2.1 是免费的,但它仅用于研究、非商业、非生产。 3.0 版取消了这些限制,但价格为 9,999 美元 - 如果您不知道它是否满足您的需求,这是一笔巨额承诺。
    【解决方案3】:

    您好,我不确定我们提供的框架是否对您的情况有所帮助,但它与 Rational Functional Tester 挂钩,并允许用户创建各种数据集以附加到不同的测试,并在不更改脚本的情况下更改环境并重用以高效的方式实现自动化。 有兴趣可以看看: http://www.testpro.com.au/Test-Automation-Framework.html

    【讨论】:

    • 请在您推荐您的产品的帖子中添加免责声明。我看到您在个人资料中披露了您的从属关系,但并不是每个人都会想看。另请参阅faq
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-15
    • 1970-01-01
    • 1970-01-01
    • 2020-11-23
    • 1970-01-01
    • 2011-07-31
    相关资源
    最近更新 更多