测试客户端 - 服务器应用程序

问题描述:

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

有什么想法吗?

我有大约1.5年的RCP框架经验,我非常喜欢它。我们只是用于测试的JUnit ...

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

Java和RCP框架为保持GUI代码和逻辑代码分离提供了很好的工具。我们在观察者中使用了MVC模式,在Java中有可观察的构造...

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

作为前测试&调试经理,我会强烈争论一个测试API。它不会消除用户界面测试的需要,但您可以添加自动化测试和非回归测试。

如果这是绝对不可能的,我会建立一个测试代理,在这里您将能够:

  • 什么也不做(透明代理)。你的应用应该正常运行。
  • 间谍/日志数据流量。添加一个过滤器机制,以便您不会抓住所有内容
  • 阻止特定消息。您的过滤系统是非常有用这里
  • 腐败特定的消息(这是比较困难的)

如果你需要某种形式的网络测试:

  • 限制一般吞吐量(一些库做到这一点)
  • 延迟消息(同样的评论)
  • 更改数据包的顺序(很难)

你有没有考虑过使用UI功能测试工具?您可以查看HP's QuickTest Professional,其中涵盖了各种各样的UI技术。

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

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

然后,让您的UI操作调用通信层。另外,看看command design pattern,使用它可以帮助你。