【问题标题】:Testing a client-server application测试客户端-服务器应用程序
【发布时间】:2010-09-07 02:12:38
【问题描述】:

我正在使用 Eclipse 的 RCP 编写客户端-服务器应用程序。 我们在测试双方之间的交互时遇到了问题 因为它们都包含很多 GUI 并且不提供命令行或其他 远程 API。

有什么想法吗?

【问题讨论】:

    标签: eclipse testing rcp


    【解决方案1】:

    我有大约 1.5 年的 RCP 框架经验,我真的很喜欢它。我们只是简单地用 JUnit 进行测试...

    这有点陈词滥调,但如果不容易测试,也许设计需要一些重构?

    Java 和 RCP 框架为将 GUI 代码和逻辑代码分开提供了很好的工具。我们将 MVC 模式与 Java 中可用的观察者、可观察构造一起使用...

    如果您不了解 Java 中的观察者/可观察结构,我强烈建议您看一下:http://www.javaworld.com/javaworld/jw-10-1996/jw-10-howto.html,您将一直使用它,您的应用程序将更容易测试。

    【讨论】:

      【解决方案2】:

      作为一名前测试和调试经理,我强烈支持测试 API。它不会消除对用户界面测试的需求,但您将能够添加自动化测试和非回归测试。

      如果绝对不可能,我会设置一个测试代理,您将能够:

      • 什么都不做(透明代理)。您的应用应该正常运行。
      • 间谍/记录数据流量。添加过滤机制,这样您就不会抓住一切
      • 阻止特定消息。您的过滤系统在这里非常有用
      • 损坏特定消息(这更难)

      如果您需要某种网络测试:

      • 限制一般吞吐量(某些库会这样做)
      • 延迟消息(同注)
      • 更改数据包顺序(相当困难)

      【讨论】:

        【解决方案3】:

        您是否考虑过使用 UI 功能测试工具?您可以查看HP's QuickTest Professional,它涵盖了多种 UI 技术。

        【讨论】:

          【解决方案4】:

          我们正在使用 EJB(J2EE)技术、Eclips 和 MySQL(数据库)开发一个基于客户端-服务器的应用程序。请建议任何用于功能测试的开源测试工具。 谢谢 希特什·沙阿

          【讨论】:

            【解决方案5】:

            将您的客户端-服务器通信分离成一个纯逻辑模块(或包)。单独测试 - 要么有一个测试服务器,要么使用模拟对象。

            然后,让您的 UI 操作调用通信层。另外,看看command design pattern,使用它可能会对您有所帮助。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多