スケーラビリティ テストとは例で学ぶ

スケーラビリティテスト

スケーラビリティテスト は、ユーザー リクエストの数を増減させたときのシステムまたはネットワークのパフォーマンスを測定する非機能テスト方法です。スケーラビリティ テストの目的は、システムがユーザー トラフィック、データ量、トランザクション カウント頻度などの予測される増加を処理できることを確認することです。これは、増大するニーズを満たすシステム能力をテストします。

これはパフォーマンステストとも呼ばれ、大規模なシステムにデプロイされたときや過度の負荷下でテストされたときのアプリケーションの動作に焦点を当てています。 ソフトウエアエンジニアリング, スケーラビリティテストは、アプリケーションがどの時点でスケーリングを停止するかを測定し、その原因を特定することです。

スケーラビリティテストを行う理由

  • スケーラビリティ テストを使用すると、ワークロードの増加に応じてアプリケーションがどのように拡張されるかを判断できます。
  • Web アプリケーションのユーザー制限を決定します。
  • クライアント側の低下と負荷時のエンド ユーザー エクスペリエンスを判断します。
  • サーバー側の堅牢性と劣化を判断します。

スケーラビリティテストのイメージ

スケーラビリティテストで何をテストするか

スケーラビリティ テストの属性をいくつか示します。

  • 反応時間
  • 画面遷移
  • スループット
  • 時間 (セッション時間、再起動時間、印刷時間、トランザクション時間、タスク実行時間)
  • 多数のユーザーによるパフォーマンス測定
  • XNUMX 秒あたりのリクエスト、XNUMX 秒あたりのトランザクション、XNUMX 秒あたりのヒット数
  • 多数のユーザーによるパフォーマンス測定
  • ネットワークの使用
  • CPU / メモリ使用量
  • Web サーバー (XNUMX 秒あたりのリクエストとレスポンス)
  • 負荷時のパフォーマンス測定

スケーラビリティ テストのテスト戦略

スケーラビリティ テストのテスト戦略は、テストされるアプリケーションの種類によって異なります。 アプリケーションがデータベースにアクセスする場合、テスト パラメーターはユーザー数などに関連したデータベースのサイズをテストします。

スケーラビリティ テストの前提条件

  • 負荷分散機能– 負荷テスト ツールにより、複数のマシンから負荷を生成し、中央点から制御できるかどうかを確認します。
  • Operaティングシステム- 何をチェック OS 負荷生成エージェントと負荷テスト マスターを実行します。
  • プロセッサ– 仮想ユーザー エージェントと負荷テスト マスターに必要な CPU のタイプを確認する
  • メモリ– 仮想ユーザー エージェントとロード テスト マスターに十分なメモリ量を確認します。

スケーラビリティテストの実行方法

  1. アプリケーションのライフサイクル全体にわたってスケーラビリティ テストを実行するための反復可能なプロセスを定義する
  2. スケーラビリティの基準を決定する
  3. 負荷テストの実行に必要なソフトウェア ツールの候補リストを作成する
  4. テスト環境を設定し、スケーラビリティ テストの実行に必要なハードウェアを構成する
  5. テストシナリオとスケーラビリティテストを計画する
  6. ビジュアルスクリプトの作成と検証
  7. 負荷テストのシナリオを作成して検証する
  8. テストを実行する
  9. 結果を評価する
  10. 必要なレポートを生成する

スケーラビリティテスト計画

実際にテストを作成する前に、詳細なテスト計画を作成します。 これは、テストがアプリケーション要件に従っていることを確認するための重要なステップです。

明確に定義された テスト計画 スケーラビリティテスト用。

  • スクリプトの手順: テスト スクリプトには、ユーザーが実行する正確なアクションを決定する詳細なステップが必要です。
  • ランタイムデータ: テスト計画では、アプリケーションと対話するために必要な実行時データを決定する必要があります。
  • データ駆動型テスト: スクリプトの実行時にさまざまなデータが必要な場合は、このデータを必要とするすべてのフィールドを理解する必要があります。

スケーラビリティテストと負荷テスト

スケーラビリティテスト 負荷テスト
  • 増大するニーズに対応するためにシステムのサイズやボリュームが変更された場合の、Web サイト、ソフトウェア、ハードウェア、アプリケーションのパフォーマンスに焦点を当てます。
  • 負荷テスト は、高負荷下でのアプリケーションのテストに重点を置き、システム応答時間がどの時点で失敗するかを判断します。

製品概要

  • これは、増大するニーズに対応するためにシステムのサイズ/ボリュームが変更された場合に、システム、ネットワーク、またはプロセスの能力をテストするソフトウェア テストの一種です。
  • スケーラビリティ テストの背後にある考え方は、アプリケーションがどの時点でスケーリングを停止するかを測定し、その背後にある理由を特定することです。
  • スケーラビリティ テストのテスト戦略は、テストされるアプリケーションの種類によって異なります。