イントラネット Web アプリケーションのテストを開始しようとしています。具体的には、アプリケーションのパフォーマンスを判断する必要があります。
アプリケーションのパフォーマンスを判断する方法について、公式/非公式の基準を提案してください。
イントラネット Web アプリケーションのテストを開始しようとしています。具体的には、アプリケーションのパフォーマンスを判断する必要があります。
アプリケーションのパフォーマンスを判断する方法について、公式/非公式の基準を提案してください。
ストレスおよび負荷テスト用のツールを使用します。Java を使用している場合は、JMeterをご覧ください。アプリケーションのパフォーマンスをテストするさまざまな方法を提供します。以下に焦点を当てる必要があります。
興味があれば、これから始めてください。他の種類のテストもあります。
「具体的には、アプリケーションのパフォーマンスを判断する必要があります....」
これは、要件の問題、つまり合理的で効果的と見なされるものに対するユーザー コミュニティの期待に完全に帰着します。要件には多くのコンポーネントがあります
応答時間やその他の測定値が絶対的なものではないことに気付くでしょう。シックス シグマの製造原則から 1 ページ取ると、100 万分の 1 の例外から 10 億分の 1 の例外に移行するためのコストは並外れたものであり、例外をゼロにするためのコストは通常、平均的な組織では耐えられないコストです。組織固有のアプリケーションの許容応答時間と見なされる時間は、公共のインターネットに面したアプリケーションである高度にコモディティ化された製品とはまったく異なる可能性があります。非常に競争力のあるソリューションの場合、インターネットでの応答時間の期待は、ユーザーの放棄が大幅に増加する 2 ~ 3 秒の範囲に向かっている傾向にあります。これは、過去 10 年間で 8 秒から 4 秒に減少し、現在は 2 ~ 3 秒の範囲になっています。Facebook などの一部のアプリケーションは、競争上の理由から、1 秒未満の範囲でほとんど感知できない応答時間を目指して撮影します。厳しい基準を探している場合、それらは存在しません。
スタイル、形状、機能に関するいくつかの業界ベンチマークを読むことで、理解を深めることができます。
ニーズを表す堅固な一連のパフォーマンス テストを設定することは、簡単なことではありません。QA 作業のこのフェーズを担当するスペシャリストを雇うことができます。
ツールの選択では、できるものを入手してください
上記の 4 つの要素のいずれかが失敗した場合、市場で最も高価なツールを購入し、最も高価な会社を雇ってそれを展開したことになります。
幸運を!
本当に重要なのは応答時間だと思いますが、他の指標として、プロセッサとメモリの使用量と同時ユーザー/プロセスの数を比較します。また、通常の負荷とピーク負荷の下で、すべてが期待どおりに機能していることも確認します。負荷が高くなると、さまざまな要求が互いに影響し合い、アプリケーション エラーが発生するシナリオが発生する場合があります。
本当に詳細な情報を取得したい場合は、さまざまな種類の負荷/ストレス テストを実行する必要があります。おそらく、ステップ ロード テスト (時間の経過とともにシステム上のユーザーが徐々に増加する) とスパイク テスト (以前はほとんど誰もアクセスしていなかった場所に多数のユーザーが同時にアクセスする) を確認することをお勧めします。また、サーバーを再起動した直後にサーバーに対してテストを実行して、それがシステムにどのように影響するかを確認します。
また、HEAT (Hostile Environment Application Testing) と呼ばれる概念も検討することをお勧めします。これは実際に、システムの一部がオフラインになったときに何が起こるかを示しています。システムは正常に劣化しますか? これは重要な基準となるはずです。
私の本当に大きな提案の 1 つは、テストを行う前にシステムが何をすべきかを確立することです。主な理由は説明責任です。システムが何かを行うことになっていることを人々に認めてもらい、それが正しいかどうかをテストします。これは重要です。なぜなら、人々はすぐに結果を確認し、それが許容範囲の基準となるからです。
フロントエンドをテストするには、ユーザーの観点からページの読み込みにかかる時間の統計を取得するのに YSlow が最適です。これは、特定の HTTP リクエストごとの統計、所要時間などに分類されます。http://developer.yahoo.com/yslow/ で入手できます。
もちろん、Firebugも不可欠です。プロファイル ボタンを押すと、JS を明示的またはリアルタイムでプロファイリングできます。必要に応じて最適化を行い、すべての機能の実行にかかる時間を確認します。これにより、JS コードのパフォーマンスを測定する方法が変わりました。http://getfirebug.com/js.html