Estratégias para bloquear um serviço da web externo para simular "Down" durante um cenário de teste?

StackOverflow https://stackoverflow.com/questions/1787006

Pergunta

Estou trabalhando para integrar dados de um serviço da Web externo no lado do cliente do meu pedido de aplicação. Alguém me pediu para testar a condição quando o serviço não estiver disponível ou diminuído. Alguém tem alguma dica sobre como bloquear este site temporariamente enquanto executamos o teste para ver como o serviço se degrada?

Para aqueles curiosos, estamos testando contra a Terra Virtual, mas o Google Maps, mas isso se aplicaria a qualquer serviço externo igualmente complicado.

Quaisquer pensamentos e sugestões são bem -vindos

Foi útil?

Solução

Você precisa ter certeza de testar os modos de falha mais comuns para isso:

  1. A pesquisa do DNS falha
  2. A conexão IP falha (quando a pesquisa do DNS for bem -sucedida)
  3. Resposta HTTP Além de 200
  4. Resposta HTTP incompleta ou tempo limite
  5. Resposta HTTP 200 Mas RPC ou documento retornado é inválido

Esses são apenas alguns modos de falha comuns que eu consegui pensar que todos se manifestam com comportamentos diferentes que você pode querer lidar com o seu aplicativo explicitamente.

Se você configurar um computador entre o chamador e o serviço que rotula entre eles, poderá simular cada um desses modos de falha distintamente e modificar seu aplicativo para lidar com eles.

Outras dicas

Crie alguma classe ou interface de mock-webservie (e injetar isto). Lá, você pode testar a resposta do seu sistema às falhas do WebService e também o que acontece, se uma solicitação de serviço da Web levar mais tempo do que o esperado ou realmente tempo limite.

Artigo de desenvolvedores sobre testes simulados: http://www.ibm.com/developerworks/library/j-mocktest.html

Que tal bloquear o (s) nome (s) de domínio (s) em questão, colocando uma entrada sem sentido no hosts Arquivo?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top