3

クライアント側で様々なテクノロジをサポートすることを目標としているため、サーバーと通信するさまざまなプログラミング言語(Java、.NET/Silverlight、Flash、Javascript)でクライアントを作成しました。彼らが実行するはずの機能は同じです。さまざまなプログラミング言語のクライアントをサーバーでテストする最良の方法は何ですか?

私たちが現在直面している主な課題の1つは、このさまざまなクライアントテクノロジをサーバーに対してテストするための単純で効果的なアプローチを見つけることです。現在、私たちはJSTestDriver、Flexmojo、NPandayなど、私たちが独自に開発した多くのMavenプラグインを利用してmavenを使用しています。より良いアプローチはありますか?

利用可能なフレームワーク/ツールや革新的なアイデアを参考にしてください。あなたが必要なもの

おかげ

+0

サーバーの意味を具体的に説明してください。あなたはウェブサービスを意味しますか? –

+1

それは別々のフィールドであるように思えます。あなたのAPIのユニットテストと統合テストをしてください。適切な言語/フレームワーク/環境で各クライアントの単体テストを行います。その中には、統合テストの一部としてライブサーバーに対して実行されるものがあります。 – deceze

+0

私が意味するのは、サーバーとは、スタンドアロンクライアントだけでなく、Webブラウザからも要求を受け取り、クライアントの技術とは独立した特定のコンテンツで応答するサーバーです。しかし、サーバは異なる技術のためにそれ自体の内部で異なるコードを実行してもよい。たとえば、ブラウザクライアント(javascript)ではhttpヘッダーを処理する必要がありますが、Java、.NET、およびFlashクライアントでは必ずしもそうする必要はありません。 – Ali

答えて

7

は、そうでない場合は、すべてが台無しですし、一緒にすべてをテストする必要があり、クリーンなデザインです。

サーバーには、他のシステム(ブラウザ、デスクトップアプリケーション、モバイルアプリケーション)とのインターフェイスがあり、このAPIを十分にテストする必要があります。サーバーで使用されているテクノロジに応じて、適切なフレームワークを使用してこれを行うことができます。これはあなたの主なテストの努力であるべきですし、APIを安定した状態に保つようにしてください。サーバの新しいバージョンごとに回帰テストを実行するだけです。

一方、同じAPIを使用するモックサーバーを作成することで、クライアントアプリケーションだけをテストすることができます。

最後に、サーバーとクライアントアプリケーションのライブバージョンを実行し、統合テストを実行する統合テストを行います。

+0

ありがとうございました!優れた一般的なガイドライン – Ali

0

expectは、クライアントとサーバーの対話などのプログラム外部テキストインターフェイスをテストするための優れたフレームワークです。これは純粋にブラックボックスのロジックレベルでTclで策定されたテストで動作します。

関連する問題