阻止外部Web服务在测试场景中模拟“关闭”的策略?

时间:2009-11-24 00:15:59

标签: testing networking progressive-enhancement

我正在努力在我的应用程序的客户端集成来自外部Web服务的数据。当服务不可用或关闭时,有人让我测试条件。在我们运行测试以查看服务如何降级时,任何人都有关于如何暂时阻止此站点的任何提示?

对于那些好奇的我们正在测试虚拟地球,但谷歌地图,但这适用于任何同样复杂的外部服务。

欢迎任何想法和建议

3 个答案:

答案 0 :(得分:5)

创建一些Mock-Webservice类或接口(以及inject it)。在那里,您可以测试您的系统对Web服务失败的响应,以及如果Web服务请求花费的时间超过预期或实际超时,会发生什么。

DeveloperWorks关于模拟测试的文章:http://www.ibm.com/developerworks/library/j-mocktest.html

答案 1 :(得分:4)

您需要确保测试最常见的故障模式:

  1. DNS查找失败
  2. IP连接失败(DNS查询成功后)
  3. 200以外的HTTP响应
  4. HTTP响应不完整或超时
  5. HTTP响应200但RPC或文档返回无效
  6. 这些只是我能想到的几种常见故障模式,它们都会表现出不同的行为,您可能希望明确处理您的应用程序。

    如果在调用者和服务之间设置一台计算机,它们可以在它们之间进行路由,您可以清楚地模拟这些故障模式,并修改应用程序来处理它们。

答案 2 :(得分:1)

如何通过在hosts文件中放入一个无意义的条目来阻止有问题的域名?