負荷テストとストレステストの違いは何ですか?
Wikipedia onload testing(太字は私のものです):
[...]負荷テストは通常、特定のexpected loadの下でのシステムの動作を理解するために行われます。この負荷は、設定された期間内に特定の数のトランザクションを実行するアプリケーションの予想される同時ユーザー数になります。このテストは、すべての重要なビジネスクリティカルトランザクションの応答時間を示します。[...]
および ストレステスト :
上限を理解するシステム内の容量。この種のテストは、システムの堅牢性をextreme loadで判断するために行われ、アプリケーション管理者が現在の負荷がかかった場合にシステムが十分に動作するかどうかを判断するのに役立ちます予想される最大値をはるかに上回ります。
要するに、通常の予想される負荷をテストしている場合(一度に最大100人のユーザーがシステムを使用することがわかっている場合)、これは負荷テストです。ただし、極端な負荷(DoS、 スラッシュドット効果 )でシステムがどのように動作するかを判断したい場合、および破損した場合、これはストレステストです。
「ストレステスト」と「負荷テスト」という用語は、ソフトウェアテストエンジニアによって同じ意味で使用されることがよくありますが、実際にはまったく異なります。
ストレステスト
ストレステストでは、リソースを圧倒するか、リソースを奪うことで、テスト対象のシステムを破壊しようとします(この場合、ネガティブテストと呼ばれることもあります)。この狂気の背後にある主な目的は、システムが失敗して正常に回復することを確認することです-この品質はrecoverability。 ORとして知られていますストレステストは、プログラム/テスト対象システム(SUT)を使用してリソースを削減し、標準機能テストを実行してSUTの動作を調べます。これは、通常の状況では発生しない問題を明らかにすることを目的としています。たとえば、マルチスレッドプログラムは、通常の状況では正常に動作しますが、CPUの可用性が低下する状況では、タイミングの問題が異なり、SUTがクラッシュします。ストレステストで削減される最も一般的なタイプのシステムリソースは、CPU、内部メモリ、および外部ディスクスペースです。ストレステストを実行する場合、これらの3つのリソースEatCPU、EatMem、およびEatDiskをそれぞれ削減するツールを呼び出すのが一般的です。
一方、負荷テスト
負荷テストの場合負荷テストは、通常、複数のユーザー(負荷ランナーを使用)をシミュレートすることにより、SUTに重い負荷をかけるプロセスです。「ユーザー」とは、人間ユーザーまたは仮想/プログラムユーザーを意味します。負荷テストの最も一般的な例では、Webベースまたはネットワークベースのアプリケーションを数千人のユーザーによる同時ヒットにさらします。これは通常、ユーザーをシミュレートするプログラムによって実現されます。負荷テストには主に2つの目的があります。SUTのパフォーマンス特性を判断することと、SUTが正常に「壊れる」かどうかを判断することです。
Webサイトの場合、負荷テストを使用して、システムが処理できるユーザー数と十分なパフォーマンスを維持しているユーザーを判断し、極端な負荷で何が起こるかを判断します。ユーザー、またはWebサーバーが炎上でクラッシュしますか?
負荷テスト:負荷テストは、しきい値の限界に達するまでシステムの負荷を絶え間なく着実に増やしてシステムをテストすることを目的としています。
例たとえば、アプリケーションの電子メール機能を確認するために、一度に1000人のユーザーであふれる可能性があります。現在、1000人のユーザーがさまざまな方法で電子メールトランザクション(読み取り、送信、削除、転送、返信)を実行できます。ユーザーごとに1時間に1つのトランザクションを実行すると、1時間に1000トランザクションになります。 1ユーザーあたり10トランザクションをシミュレートすることで、1時間あたり10000トランザクションで占有することにより、電子メールサーバーの負荷テストを行うことができます。
ストレステスト:ストレステストでは、システムを破壊しようとして、過剰なジョブで既存のリソースを過負荷にするさまざまなアクティビティが実行されます。
例:例として、OpenOffice.orgのWriter1.1.0のようなワードプロセッサは、レター、プレゼンテーション、スプレッドシートなどの開発に使用されます。ストレステストの目的は、文字。
これを行うために、大量のテキストを処理するしきい値制限に達するまで、データの行を繰り返し貼り付けます。文字サイズが65,535文字に達すると、それ以上のデータの受け入れを拒否します。 Writer 1.1.0でのストレステストの結果は、ストレス下でクラッシュせず、状況を適切に処理し、厳しいストレス条件下でもアプリケーションが正しく動作することを確認するという結果をもたらします。
->ユーザーと入力の最大数でアプリをテストすることは負荷テストとして定義されます。最大数を超えるユーザーと入力でアプリをテストする場合、ストレステストとして定義されます。
->負荷テストでは、ユーザーの量に基づいてシステムのパフォーマンスを測定します。ストレステスト中に、システムのブレークポイントを測定します。
->負荷テストは、次の基準のいずれかを含む可能性のある特定の負荷要件についてアプリケーションをテストします。
.Total number of users.
.Response Time
.Through Put
サーバー/アプリケーションの状態を確認するためのいくつかのパラメーター。
->ストレステストでは、アプリケーションの予期しない負荷をテストしています。含まれています
.Vusers
.Think-Time
例:
アプリが500人のユーザー向けにビルドされている場合、負荷テストでは最大500人のユーザーをチェックし、ストレステストでは500人以上をチェックします。
負荷テスト=特定の時間、サーバーに指定された量の負荷をかけます。 10分間で100人の同時ユーザー。ソフトウェアの安定性を確保します。ストレステスト=ソフトウェアがクラッシュするまで負荷の量を着実に増やします。サーバーがクラッシュするまで2分ごとに増加する10人の同時ユーザー。
重量挙げと比較するには:1 rep(ストレステスト)で何ができるかを確認するために体重を「最大化」し、その後、10回の3セット(負荷テスト)で最大値の85%を通常のトレーニングで行います。
負荷テスト:-負荷テストは、しきい値の限界に達するまでシステムの負荷を絶え間なく着実に増やしてシステムをテストすることを意味します。
ストレステスト:-ストレステストでは、システムを破壊しようとして、過剰なジョブで既存のリソースを過負荷にするさまざまなアクティビティが実行されます。
基本的な違いは以下の通りです
負荷テスト:大量のユーザーストレステスト:ユーザーが多すぎる、データが多すぎる、時間が少なすぎる、スペースが少なすぎる