模拟测试中的可变网络条件

时间:2010-11-02 00:41:31

标签: java google-app-engine testing networking

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

测试环境如何包含这种可变性?是否有任何好的工具可以为appengine处理这个?

4 个答案:

答案 0 :(得分:3)

看看WANem:

  

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

http://wanem.sourceforge.net/

答案 1 :(得分:3)

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

退出他们的网站:

  

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

答案 2 :(得分:1)

netem是Linux主要版本的一部分。您可以以某种可能性丢弃,复制,重新排序和延迟IP数据包。错误模型不是那么现实,但应足以测试应用程序。 Sloppy似乎也很有用,但我没有尝试过。

答案 3 :(得分:0)

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

当然,可变网络条件需要从现实中收集。