負荷テスト

負荷テスト（ふかテスト、英: load testing）は、システムに負荷を与え、その応答を測定する手順のこと。

ソフトウェア負荷テスト 
負荷テストという用語は、プロのソフトウェアテスト業界ではさまざまな方法で使用される。負荷テストとは、一般に、プログラムに同時にアクセスする複数のユーザーをシミュレートすることにより、ソフトウェアプログラムの予想される使用法をモデル化する方法を指す。 そのため、このテストはマルチユーザーシステムに最も関連性があります。多くの場合、ウェブサーバーなどのクライアント/サーバーモデルを使用して構築されたものである。ただし、他のタイプのソフトウェアシステムも負荷テストを行うことができる。たとえば、ワードプロセッサやグラフィックエディタは、非常に大きなドキュメントを強制的に読み取ることができる。または、財務パッケージは、数年分のデータを含むレポートを生成することがある。負荷テストを最も正確に行うには、理論的・分析的なモデリングを使用するテストとは反対に、実際の利用環境を模倣してテストを行う。

負荷テストでは、実際の顧客の行動に基づいてウェブサイトのサービス品質（QOS）のパフォーマンスを測定する。ほぼすべての負荷テストツールとフレームワークは、従来の負荷テストパラダイムに従う。顧客がウェブサイトにアクセスすると、スクリプトレコーダーが通信を記録し、関連する対話スクリプトを作成する。ロードジェネレータは、記録されたスクリプトを再生しようとする。スクリプトは、再生前にさまざまなテストパラメータで変更される可能性がある。再生手順では、ハードウェアとソフトウェアの両方の統計がコンダクターによって監視および収集される。これらの統計には、物理サーバーのCPU、メモリ、ディスクIOと応答時間、テスト対象システム（SUT）のスループットなどが含まれる。そして最後に、これらすべての統計が分析され、負荷テストレポートが生成される。

負荷テストやパフォーマンステストは、マルチユーザーオーディエンス向けのソフトウェアを分析する。これらのさまざまな負荷の下でパフォーマンス測定値を監視しながら、ソフトウェアをさまざまな数の仮想ユーザーとライブユーザーに適用する。負荷テストやパフォーマンステストは通常、ソフトウェアシステムの稼働が許可される前に、実稼働環境と同じテスト環境で実行される。

負荷テスト中のユーザーエクスペリエンス 
たとえば、テスト対象デバイス（DUT）が実稼働負荷（100 VUsers）になっている間に、ターゲットアプリケーションを実行する。ここでの対象アプリケーションのパフォーマンスは、負荷がかかった状態でのユーザーエクスペリエンスとなる。 DUTの応答の速さや遅さ、満足度やユーザーが実際にパフォーマンスをどのように認識しているかについてまとめる。

ブラウザレベルとプロトコルレベルのユーザー 
これまで、すべての負荷テストは、プロトコル層（プロトコルレベルのユーザーまたはPLUと呼ばれることが多い）での同時対話を通じてトラフィックをシミュレートする自動APIテストを使用して実行されていた。コンテナとクラウドインフラストラクチャの進歩により、実際のブラウザ（多くの場合、ブラウザレベルのユーザーまたはBLUと呼ばれる）でテストするオプションが提供されている。 それぞれの手法にはさまざまな種類のアプリケーションにメリットがあるが、通常、ブラウザレベルユーザーは、ウェブサイトが経験する実際のトラフィックに似ており、より現実的な負荷プロファイルと応答時間の測定値を提供することができる 。 一方、ラウザレベルユーザーはテスト実行の手法の中ではコストが掛かる方法であり、また、利用できるアプリケーションに制限がある。特にデスクトップクライアントやAPIベースのアプリケーションなどのウェブブラウザーからアクセスできないアプリケーションでは使うことができない。

負荷テストツール

物理的負荷テスト 

多くの種類の機械、エンジン、 構造、 モーターが負荷テストされている。指定された安全作業負荷（SWL）、最高負荷、またはそれ以上の負荷をかけることがある。準拠契約、技術仕様、テスト方法には、テストの実施の詳細が記載されている。機械的負荷テストでは、材料、ベース固定具を含む構造のすべての構成部品が仕様に適合し、それが設計された想定負荷に耐えられることを確認することが目的である。

車の充電システム 
負荷テストは、車のバッテリー状態の評価のも使用される。試験装置には、車のセルモーターと同様の抵抗を持つ大きな抵抗器と、無負荷状態と負荷状態の両方でバッテリーの出力電圧を読み取るメーターで構成される。試験装置を使用する場合は、最初にバッテリーの開回路電圧がチェックされる。開回路電圧が仕様（完全に充電されたバッテリーの場合は12.6ボルト）を下回る場合、バッテリーが最初に充電される。バッテリーの開回路電圧を読み取った後、負荷がかかる。適用すると、クランキング中に車のセルモーターを使う場合とほぼ同じ電流が流れる。バッテリーの指定されたコールドクランキングアンペアに基づいて、負荷がかかっている電圧が特定のポイントを下回った場合、バッテリーが不良であることがわかる。負荷テストは、走行中の車で、車のオルタネーターの出力をチェックするためにも使用される。

注釈

出典

関連項目 
 ソークテスト
 ストレステスト
 システムテスト
 ウェブアプリケーションテスト
 ウェブサーバーベンチマーク

外部リンク 
 Modeling the Real World for Load Testing Web Sites by Steven Splaine
 What is Load Testing? by Tom Huston
 4 Types of Load Testing and when each should be used by David Buch
 Performance, Load, Stress or Endurance Test? Which do you want? by Chris Jones

ソフトウェアテスティング
品質保証
検査