2009-08-13 9 views
3

私たちのテストシステムはかなり初歩的です。ブラウザを起動して、動作しているかどうかを確認してください。最近、私たちは、アプリケーションの中でユーザーの数が減速したアプリケーションを使って、クライアントが見つけた問題に遭遇しました。アプリケーションは、基本的には、同時にすべてのバージョンを編集する人々がいる巨大なWord文書です。この問題の一部は、複数のインスタンスを同時にテストする方法を知らないことに由来しています。私のパートナーと私はこれをテストする方法を考えました。 1つのアイデアは、インターネットカフェを借りて、アプリを叩くために1時間学生を雇うことでした。Webアプリケーションのスケーラビリティをテストするためにどのような方法を使用しますか?

Webベースのアプリケーションのテストで並行性をエミュレートしようとした他の方法は何ですか?ここでのアドバイスのほとんどは、特定の方法論のためのものです。私は、それが動作することを確認するためにあなたはどのようにテストするのですか?

答えて

3

Seleniumをチェックアウトしたことがない場合は、これにより、ブラウザーを介した自動Webテストが可能になります。さて、最初の問題は解決しました。

これで、同じスクリプトを使用して、複数のボックスにロードして一気に実行して、何らかの負荷テストを行うことができます。幸いなことに、誰かが既にこのことを考え出していますが、それは有料サービスです:Browser Mob。しかし、とにかくこれを行うために少しお金を費やす意志があったように見え、おそらくより良い、より反復可能な結果を​​得るでしょう。

2

我々は通常、質問、Webサーバー上でシミュレートされたHTTP負荷を生成するためにJMeterを使用することにより、「Webアプリケーションは一度に複数のことを行うことができます」と答えます。

私はいくつかの異なるタイプのテストを区別することを検討することが役立つことがわかりました。 (システム内の2つのイベントが衝突するとどうなるか)、容量(重複する要求が多い場合どうなるか)、ボリューム(データがシステムに蓄積するとどうなるか)...

巨大な一般的なスローダウンSLAの外にある応答時間は、通常、容量の問題(一般的な原因としての競合)またはボリューム(多くのユーザー、多くのデータ、システムは時間の経過とともに遅くなります)に関係します。前者は通常、ある種のマルチスレッド要求ストリームを必要とします。後者の場合、ボリュームをプリロードしてから、単一のユーザーが経験した応答時間を測定することで、通常管理できます。

ロード・ジェネレータを実際の測定/計測器から分離することは良い考えです。典型的な負荷を発生させるためのブラックボックスと、典型的なユースケースの応答性を測定するストップウォッチを使用してここに座っているように簡単にすることができます。

+0

これらのことについて私が指摘できるリソースはありますか(私は本を読むのが好きですが、URLはそうします)。私はデスクトップ・コンピューティングのプログラミング環境から来ています。そこでは、並行性はあなた自身のアプリのマルチスレッド性を指していました。私は、Web開発者が典型的に直面している課題(とそれらの課題に対する解決策)についてもっと学ぶことに興味があります。 – Avery

関連する問題