3

アプリケーションのクライアント側で外部 Web サービスからのデータを統合する作業を行っています。サービスが利用できないかダウンしている場合の状態をテストするよう誰かに依頼されました。テストを実行してサービスがどのように低下​​するかを確認している間、このサイトを一時的にブロックする方法について何かヒントがあれば教えてください。

好奇心旺盛な方のために、Virtual Earth と Google Maps をテストしていますが、これは同様に複雑な外部サービスにも当てはまります。

どんな考えや提案も大歓迎です

4

3 に答える 3

5

いくつかの Mock-Webservice クラスまたはインターフェースを作成します (そしてそれを注入 します)。そこでは、Web サービスの障害に対するシステムの応答と、Web サービス要求が予想よりも長くかかったり、実際にタイムアウトした場合に何が起こるかをテストできます。

模擬テストに関する DeveloperWorks の記事: http://www.ibm.com/developerworks/library/j-mocktest.html

于 2009-11-24T00:20:12.300 に答える
4

これについては、最も一般的な障害モードを必ずテストする必要があります。

  1. DNS ルックアップが失敗する
  2. IP 接続が失敗する (DNS ルックアップが成功すると)
  3. 200 以外の HTTP レスポンス
  4. HTTP 応答が不完全またはタイムアウト
  5. HTTP 応答 200 ですが、返された RPC またはドキュメントが無効です

これらは、私が考えることができるいくつかの一般的な障害モードにすぎません。これらはすべて、アプリケーションで明示的に処理する必要があるさまざまな動作で現れます。

呼び出し元とそれらの間をルーティングするサービスの間にコンピューターを設定すると、これらの各障害モードを個別にシミュレートし、それらを処理するようにアプリケーションを変更できます。

于 2009-11-24T00:41:21.307 に答える
1

hostsファイルに無意味なエントリを入れて、問題のドメイン名をブロックするのはどうですか?

于 2009-11-24T00:19:18.900 に答える