負荷対ストレステスト[クローズ]


80

負荷テストとストレステストの違いは何ですか?


1
私は同じ質問をしていることに気づき、パフォーマンステストタイプには多くの定義があることに気付きましたが、標準の「公式」定義はありません。
ドミニクアンタル2014

6
プログラミングに関するものではないので、この質問をトピック外として閉じることに投票します。それはテストの種類に関するものであり、そのトピックにはsqa.stackexchange.comで多くのQ&Aがあります
AdrianHHH

ここでこの質問に対する答えを見つける必要があります:パフォーマンスvs負荷vsストレステスト
ジェロームL

1
クローズされた質問には72票と110Kビューがあります。それは、閉じた人々に再考させるべきです..
ブレインストーミング

回答:


111

負荷テストに関するウィキペディア(太字は私のものです):

[...]負荷テストは通常​​、特定の条件下でのシステムの動作を理解するために実施されます 予想される負荷のされます。この負荷は、設定された期間内に特定の数のトランザクションを実行するアプリケーションの予想される同時ユーザー数である可能性があります。このテストは、すべての重要なビジネスクリティカルなトランザクションの応答時間を示します。[...]

ストレステストについて

システム内の容量の上限理解します。この種のテストは、極端な負荷に関するシステムの堅牢性を判断するために行われ、アプリケーション管理者が、現在の負荷が予想される最大値を大幅に上回った場合にシステムが十分に機能するかどうかを判断するのに役立ちます。

つまり、要点は次のとおりです。通常の予想負荷をテストしている場合(システムは一度に最大100人のユーザーによって使用されることがわかっています)、これは負荷テストです。しかし、極端な負荷(DoS、スラッシュドット効果)の下でシステムがどのように動作するかを判断したい場合、およびシステムが壊れた場合、これはストレステストです。


3
それで、それらは基本的に同じものですが、負荷は通常の負荷の下にあり、ストレスは通常の負荷よりも大きいのですか?彼らはシステムのさまざまな側面をテストすることではありませんか?
ニータ2012年

11
@Neeta:負荷テストは、リクエスト間にランダムな一時停止を挿入することにより、実際のユーザーをシミュレートします。ストレステストでは、できるだけ多くのリクエストを実行できます。ただし、テストシナリオは同じにすることができます。
Tomasz Nurkiewicz 2012年

@ Neetauser2197712の答えがより適切でしょう。私はそれを次のように理解しています。ストレステストは、システムが異常な環境で正常な入力に対してどのように動作するかを調べ、負荷テストは、システムが正常な環境で異常な入力に対してどのように動作するかを調べます。
ADTC

19

「ストレステスト」と「負荷テスト」という用語は、ソフトウェアテストエンジニアによって同じ意味で使用されることがよくありますが、実際にはまったく異なります。

ストレステスト

ストレステストでは、リソースを圧倒するか、リソースを奪うことで、テスト対象のシステムを破壊しようとします(この場合、ネガティブテストと呼ばれることもあります)。この狂気の背後にある主な目的は、システムに障害が発生し、正常に回復することを確認することです-この品質は、。回復可能ます。 またはストレステストは、テスト対象のプログラム/システム(SUT)にリソースを削減し、標準の機能テストを実行してSUTの動作を調べるプロセスです。これは、通常の状態では発生しない問題を明らかにすることを目的としています。たとえば、マルチスレッドプログラムは通常の状態では正常に動作しますが、CPUの可用性が低下している状態では、タイミングの問題が異なり、SUTがクラッシュします。ストレステストで削減される最も一般的なタイプのシステムリソースは、CPU、内部メモリ、および外部ディスクスペースです。ストレステストを実行するときは、これら3つのリソースをそれぞれEatCPU、EatMem、およびEatDiskに削減するツールを呼び出すのが一般的です。

一方、負荷テスト中

の場合には 負荷テストの負荷テストは、通常、複数のユーザーをシミュレートすることによって(ロードランナーを使用して)、SUTに重い負荷をかけるプロセスです。ここで、「ユーザー」は、人間のユーザーまたは仮想/プログラムユーザーを意味します。負荷テストの最も一般的な例は、Webベースまたはネットワークベースのアプリケーションを数千人のユーザーによる同時ヒットにさらすことです。これは通常、ユーザーをシミュレートするプログラムによって実行されます。負荷テストには、主に2つの目的があります。SUTのパフォーマンス特性を判断することと、SUTが正常に「破損」するかどうかを判断することです。

Webサイトの場合、負荷テストを使用して、システムが処理でき、十分なパフォーマンスを維持できるユーザーの数を判別し、極端な負荷で何が起こるかを判別します。Webサイトは「ビジーすぎる」メッセージを生成します。ユーザー、またはWebサーバーが炎上してクラッシュしますか?


10

負荷テスト: 負荷テストは、しきい値の制限に達するまでシステムの負荷を絶えず着実に増加させることによってシステムをテストすることを目的としています。

たとえば、アプリケーションの電子メール機能を確認するために、一度に1000人のユーザーで溢れる可能性があります。現在、1000人のユーザーがさまざまな方法で電子メールトランザクション(読み取り、送信、削除、転送、返信)を実行できます。ユーザーごとに1時間に1つのトランザクションを実行すると、1時間に1000トランザクションになります。ユーザーあたり10トランザクションをシミュレートすることにより、1時間あたり10000トランザクションで占有することにより、電子メールサーバーの負荷テストを行うことができます。

ストレステスト: ストレステストでは、システムを破壊するために、既存のリソースを過剰なジョブで過負荷にするさまざまなアクティビティが実行されます。

例: として、OpenOffice.orgのWriter1.1.0のようなワードプロセッサは、文字、プレゼンテーション、スプレッドシートなどの開発に使用されます。ストレステストの目的は、過剰な文字をロードすることです。

これを行うには、大量のテキストを処理するしきい値の制限に達するまで、データの行を繰り返し貼り付けます。文字サイズが65,535文字に達するとすぐに、それ以上のデータの受け入れを拒否します。Writer 1.1.0でのストレステストの結果は、ストレス下でクラッシュせず、状況を適切に処理するという結果を生成します。これにより、厳しいストレス条件下でもアプリケーションが正しく機能することが確認されます。


3

->ユーザーと入力の最大数でアプリをテストすることは、負荷テストとして定義されます。最大数を超えるユーザーと入力でアプリをテストしている間、ストレステストとして定義されます

->負荷テストでは、ユーザー数に基づいてシステムパフォーマンスを測定します。ストレステストでは、システムのブレークポイントを測定します。

->負荷テストは、次の基準のいずれかを含む可能性のある特定の負荷要件についてアプリケーションをテストしています。

 .Total number of users.

 .Response Time

 .Through Put

サーバー/アプリケーションの状態をチェックするためのいくつかのパラメーター。

->ストレステストが予期しない負荷についてアプリケーションをテストしている間。含まれています

 .Vusers

 .Think-Time

例:

アプリが500ユーザー向けにビルドされている場合、負荷テストの場合は最大500ユーザーをチェックし、ストレステストの場合は500を超えるユーザーをチェックします。


2

負荷テスト=サーバーに指定された量の負荷を一定時間かける。10分間で100人の同時ユーザー。ソフトウェアの安定性を確保します。ストレステスト=ソフトウェアがクラッシュするまで負荷の量を着実に増やします。サーバーがクラッシュするまで、2分ごとに10人の同時ユーザーが増加します。

ウェイトリフティングと比較するには:体重を「最大」にして、1回の繰り返しで何ができるかを確認し(ストレステスト)、通常のトレーニングでは、3セットの10回の繰り返しで最大値の85%を実行します(負荷テスト)。


1

負荷テスト:-負荷テストは、しきい値制限に達するまでシステムの負荷を絶えず着実に増加させることによってシステムをテストすることを目的としています。

ストレステスト:-ストレステストでは、システムを破壊するために、既存のリソースを過剰なジョブで過負荷にするさまざまなアクティビティが実行されます。

基本的な違いは以下の通りです

正確な違いを確認するには、ここをクリックしてください


0

負荷テスト:大量のユーザー ストレステスト:ユーザーが多すぎる、データが多すぎる、時間が少なすぎる、スペースが少なすぎる


-1

負荷-最大負荷でS / Wをテストします。応力-S / Wの負荷を超えています。またはs / wの破壊点を決定します。


4
以前の回答と比較して、あなたの回答には何が新しいのですか?
Stepan Novikov 2017年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.