代码之家  ›  专栏  ›  技术社区  ›  Rich Bradshaw

测试客户机服务器应用程序

  •  2
  • Rich Bradshaw  · 技术社区  · 17 年前

    我正在使用Eclipse的RCP编写客户机-服务器应用程序。 我们很难测试双方的互动 因为它们都包含大量的GUI并且不提供命令行或其他 远程API。

    有什么想法吗?

    5 回复  |  直到 17 年前
        1
  •  3
  •   mmattax    17 年前

    我有大约1.5年的RCP框架的经验,我真的很喜欢它。我们只是测试JUnit。。。

    说起来有点老生常谈,但如果不容易测试,也许设计需要一些重构?

    Java和RCP框架为保持GUI代码和逻辑代码分离提供了很好的工具。我们将MVC模式与observer结合使用,observable结构在Java中可用。。。

    如果您不知道Java中的observer/observate结构,我强烈建议您查看以下内容: http://www.javaworld.com/javaworld/jw-10-1996/jw-10-howto.html ,您将一直使用它,并且您的应用程序将更易于测试。

        2
  •  1
  •   Christian Lescuyer    17 年前

    作为前测试和调试经理,我强烈主张使用测试API。它并不消除用户界面测试的需要,但是您可以添加自动测试和非回归测试。

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

    • 不执行任何操作(透明代理)。你的应用程序应该正常运行。
    • 间谍/日志数据流量。添加一个过滤机制,这样您就不会获取所有内容
    • 阻止特定消息。你的过滤系统在这里很有用
    • 损坏的特定邮件(这比较困难)

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

    • 限制一般吞吐量(有些库这样做)
    • 延时信息(同注)
    • 更改数据包顺序(相当困难)
        3
  •  1
  •   Motti    17 年前

    你考虑过使用UI功能测试工具吗?你可以退房 HP's QuickTest Professional 它涵盖了各种各样的UI技术。

        4
  •  1
  •   hitesh shahhitesh shah    17 年前

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

        5
  •  0
  •   David Rabinowitz    16 年前

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

    然后,让UI操作调用通信层。还有,看看 command design pattern ,使用它可能会有帮助。