【问题标题】:Simulating variable network conditions in tests在测试中模拟可变网络条件
【发布时间】:2010-11-02 00:41:30
【问题描述】:

我正在使用 GWT 在 GAE/J 上编写应用程序。在我的开发机器上,一切正常 - RPC 总是成功返回,并且顺序相同。当我部署到 appengine 时,一些 RPC 失败,并且它们经常以不同的顺序返回。

测试环境如何融入这种可变性?有没有什么好的工具可以为 appengine 处理这个问题?

【问题讨论】:

    标签: java google-app-engine testing networking


    【解决方案1】:

    NIST Net是成熟的网络模拟器。

    退出他们的网站:

    NIST Net 网络模拟器是一种通用工具,用于模拟 IP 网络中的性能动态。该工具旨在允许在简单的实验室环境中使用网络性能敏感/自适应应用程序和控制协议进行受控、可重复的实验。通过在 IP 级别运行,NIST Net 可以模拟各种广域网情况(例如拥塞丢失)或各种底层子网技术(例如 xDSL 和电缆调制解调器的非对称带宽情况)所施加的关键端到端性能特征)。

    【讨论】:

      【解决方案2】:

      看看WANem:

      WANem 是一个广域网模拟器,旨在在 LAN 环境中的应用程序开发/测试期间提供广域网/互联网的真实体验。通常,应用程序开发人员在 LAN 上开发应用程序,而其预期目的可能是客户端通过 WAN 甚至 Internet 访问相同的应用程序。因此,WANem 允许应用程序开发团队设置一个透明的应用程序网关,该网关可用于模拟 WAN 特性,如网络延迟、数据包丢失、数据包损坏、断开连接、数据包重新排序、抖动等。WANem 可用于模拟广域数据/语音流量的网络条件,并在广泛接受的 GPL v2 许可下发布。

      http://wanem.sourceforge.net/

      【讨论】:

        【解决方案3】:

        netem 是主要 Linux 发行版的一部分。您可以以一定的概率丢弃、复制、重新排序和延迟 IP 数据包。错误模型不是那么现实,但应该足以测试应用程序。 Sloppy 好像也很好用,不过我没试过。

        【讨论】:

          【解决方案4】:

          我认为JMockit 是您模拟可变网络条件的好工具。但我不确定它是否适合您的开发环境。

          多变的网络状况,当然需要从现实中收集。

          【讨论】:

            猜你喜欢
            • 2019-01-26
            • 1970-01-01
            • 2016-08-14
            • 2012-06-28
            • 2010-10-03
            • 2015-04-08
            • 1970-01-01
            • 1970-01-01
            • 2011-01-02
            相关资源
            最近更新 更多