ソークテストとは? 定義、意味、例

浸漬試験

浸漬試験 非機能テストの一種で、長期間にわたって大量の負荷がかかった状態でソフトウェア アプリケーションのパフォーマンスを測定するために使用されます。 Soak テストの目的は、ソフトウェア アプリケーションが大量の使用に耐えられるかどうかを確認し、設計の想定外で何が起こるかを確認することです。

下の画像は、浸漬テストがどの段階で行われるかを示すテスト サイクルを示しています (性能試験の種類) はアプリケーション上で実行されます。

パフォーマンステスト画像の種類

このタイプのテストでは、基本的に監視されるのは、システム内のアプリケーションによるメモリ使用率です。 システム レベルでテストを行って、システムが非常に大量の使用に耐えられるかどうかを確認し、設計の想定外で何が起こるかを確認します。

このチュートリアルでは、次のことを学びます。

ソークテストを行う理由

システムは 2 時間使用すると正常に動作する可能性がありますが、同じシステムを 10 時間以上連続して使用すると、障害が発生したり、異常/ランダム/クラッシュしたりする可能性があります。 このような故障を予測するために、ソークテストが実行されます。

ソークテストはいつ行うのですか?

浸漬テストは次のように行う必要があります。wing シナリオ: –

  1. ビルドがクライアントにデプロイされる前、つまり特定のプラットフォームでアプリケーションをリリースする前に、高いトラフィック レベルまたは同等のトラフィック レベルで一連の負荷テストを成功させる必要があります。 その後 浸漬テストが実行されます。 これは、特定のアプリケーションを長期間実行する方法を決定するのに役立ちます。 期間中、つまりソーク中にメモリ リークやメモリ破損などの問題が見つかった場合は、すぐに報告する必要があります。
  2. アプリケーションは一昼夜にわたって実行状態にある必要があるため、ソーク テストを行うのに最適な時期は週末です。 それはテスト状況の制限に完全に依存します。 浸漬テストは、すべての企業が非常に厳密に従う必要がある最も重要なコンプライアンス要件の XNUMX つです。

浸漬テスト戦略

ロング セッション ソーク テストは、システムに長時間負荷がかかる戦略です。

簡単な例としては、ユーザーが多数のビジネス トランザクションを実行するために長時間システムにログインしたままになる場合があります。 このようにして、大量のデータが作成されます。 システム/データベース サーバーに大量の負荷がかかる可能性があり、その結果、システム/データベース サーバーが停止またはクラッシュする可能性があります。

ロング セッション ソーク テストでは、複数日 (たとえば 30 日間) のアクティビティが、制限された時間枠 (たとえば 2 日間) 内で実行されます。 この制限された期間内のトランザクション数は、数日分のトランザクションと一致するか、それを超える必要があります。 処理されたトランザクションの数に注目する必要があります。 ソーク テストの最も重要な部分は、CPU で利用可能なメモリと使用されるメモリの量を確認することです。 ソーク テストの開始時と終了時のメモリ使用量を記録する必要があります。 必要に応じて、次のような機能のメモリ使用量 Java 仮想マシンも重要であり、監視する必要があります。

以下は、ソーク テストを開始する前にユーザー/テスターが実行する必要があるさらにいくつかのチェックです。

a) データベースのリソース消費を監視します。

b) サーバーのリソース消費 (CPU 使用率を除く) を監視します。

c) ソーク テストは現実的なユーザーの同時実行で実行する必要があります。

浸漬試験の特徴

標準的な浸漬試験方法は次のようになります。wing 特徴: –

  • ほとんどの浸漬テストの期間は、多くの場合、利用可能な時間によって決まります。
  • 長時間を必要とするアプリケーションは、中断することなく実行する必要があります。
  • 利害関係者によって合意されたすべてのシナリオをカバーする必要があります。
  • ほとんどのシステムには定期的なメンテナンス ウィンドウ期間があり、そのウィンドウ期間の間の時間がソーク テストの範囲を決定する重要な要素となります。

浸漬試験の例

  • 販売者からの大量のデータがある銀行ドメインの場合、テスターはシステムに 70 時間から 150 時間継続的に負荷をかけ、この負荷期間中にアプリケーションがどのように動作するかをチェックします。
  • 33,000 件のログインがあり、システムを介して処理する必要があると仮定すると、これは 60 日半のアクティビティに相当します。この場合、70 ~ 6 時間の浸漬テストは金曜日の夕方 XNUMX 時頃までに開始でき、次の時間までに完了できます。 Monday 朝6時。このようなテストを行うことでのみ、制御された条件下でのパフォーマンスの低下を観察することができます。
  • ビデオゲームの場合、 モバイル アプリケーションなどでは、アプリケーションが継続的に予想される負荷を処理できるかどうかを確認するために、アイドリングやタイトル画面での一時停止など、さまざまな操作モードでゲームやアプリケーションを長時間実行状態にしておくことを伴います。 。

ソークテスト中に観察される一般的な問題

  1. メモリ割り当て (最終的にはメモリ クライシスや時間の経過とともに現れる丸め誤差を引き起こすメモリ リーク)。
  2. データベース リソースの使用率 (特定の条件下でデータベース カーソルを閉じることができず、最終的にシステム全体が停止する可能性があります)。
  3. また、パフォーマンスの低下につながる可能性もあります。つまり、長期間の継続的なアクティビティ後の応答時間がテストの開始時と同じくらい良好であることが保証されます。
  4. 状況によっては、多層システムの層間の接続を閉じることができず、システムの一部またはすべてのモジュールが停止する可能性があります。
  5. 長時間のテスト中に内部データ構造の効率が低下するため、一部の関数の応答時間が徐々に低下します。

まとめ

  • In ソフトウエアエンジニアリング, ソークテストは、テスト対象のアプリケーションが継続的な負荷に耐えられるかどうかを判断するために行われます。
  • パフォーマンステストの一種です。
  • これは、システムが非常に大量の使用に耐えられるかどうかを判断するのに役立ちます
  • このタイプのテストでは、基本的に監視されるのは、システム内のアプリケーションによるメモリ使用率です。
  • ソーク テストを開始する前にユーザー/テスターが実行する必要があるチェックには次のものがあります。
  • データベースのリソース消費を監視します。
  • サーバーのリソース消費 (CPU 使用率を除く) を監視します。
  • ソーク テストは、現実的なユーザーの同時実行性で実行する必要があります。