画面全体のレイアウト

JMeter GUI は大きく 4 つのエリアで構成されています。

エリア場所役割
メニューバー最上部File・Edit・Search・Run・Options など各種メニューにアクセス
ツールバーメニューバーの下実行・停止・クリア・保存などの頻用操作ボタン
テストプランツリー左ペインテスト全体の構成をツリー形式で表示・編集する
設定パネル右ペイン左ペインで選択したコンポーネントの詳細設定を表示・編集する

最下部にはログを確認できるコンソールエリアがあり、エラー発生時にはここに詳細が表示されます。右下の「▲」でサイズ調整が可能です。

テストプランツリー

テストプランツリーはJMeter の中心的な作業エリアです。ここにコンポーネントをツリー形式で配置することでテストシナリオを構成します。

典型的なテストプランのツリー構造は次のようになります。

📋 Test Plan
  └── 👥 Thread Group(仮想ユーザーグループ)
      ├── 🌐 HTTP Request(リクエスト1)
      ├── 🌐 HTTP Request(リクエスト2)
      ├── ✅ Response Assertion(アサーション)
      └── 📊 Summary Report(リスナー)

この階層構造には意味があります。Thread Group の直下に配置されたサンプラー(リクエスト)は、そのスレッドグループが制御する仮想ユーザー全員が実行します。 アサーションやリスナーも、どのレベルに配置するかによって適用範囲が変わります。

コンポーネントの種類と役割

JMeter のコンポーネントは機能別に分類されています。それぞれの役割を理解することで、適切なテストシナリオを構築できます。

Test Plan(テストプラン)
テスト全体のルートノード。テスト名・ユーザー定義変数・ライブラリのクラスパスなどを設定する。1つのテストに必ず1つ存在する。
Thread Group(スレッドグループ)
仮想ユーザーの単位。スレッド数(同時ユーザー数)・ランプアップ期間・ループ回数を設定する。複数作成して異なるユーザー行動を表現できる。
Samplers(サンプラー)
実際のリクエストを発行するコンポーネント。HTTP Request・JDBC Request・FTP Request など多数。負荷をかける処理の実体がここに相当する。
Logic Controllers(ロジックコントローラー)
リクエストの実行順序や条件を制御する。If Controller・Loop Controller・Transaction Controller・Random Controller など多数。
Listeners(リスナー)
テスト結果を収集・表示・保存するコンポーネント。Summary Report・View Results Tree・Aggregate Report など。
Config Elements(設定要素)
HTTP Header Manager・CSV Data Set Config・HTTP Cookie Manager など、リクエストに共通して適用する設定を定義する。
Timers(タイマー)
リクエスト間の待機時間を設定する。Constant Timer・Gaussian Random Timer など。実際のユーザーの操作感を模倣するために使う。
Assertions(アサーション)
レスポンスの内容を検証してテストの合否を判断する。Response Assertion・Duration Assertion・JSON Assertion など。
Pre / Post Processors
サンプラーの前後に実行する処理。レスポンスから動的な値(トークン等)を抽出する Regular Expression Extractor・JSON Extractor などがここに含まれる。

コンポーネントの追加方法

コンポーネントを追加するには、追加したい親ノードを右クリックし、コンテキストメニューから「Add」→ カテゴリ → コンポーネント名の順に選択します。

例えば、スレッドグループに HTTP Request を追加する手順は次の通りです。

  1. 左ペインの「Thread Group」を右クリック
  2. メニューから Add → Sampler → HTTP Request を選択
  3. 右ペインに HTTP Request の設定画面が表示される
  4. Server Name・Path・HTTP Method などを入力して設定完了

💡 コンポーネントの有効・無効切り替え

コンポーネントを右クリックして「Enable」/「Disable」を選ぶと、そのコンポーネントを一時的に無効化できます。無効化されたコンポーネントはグレーアウトして表示され、テスト実行時に無視されます。デバッグや段階的なテスト構築時に便利な機能です。

ツールバーの主要ボタン

ボタン / ショートカット機能
▶(Start)/ Ctrl+Rテストの実行を開始する
⏹(Stop)/ Ctrl+.テストを即座に停止する(スレッドを強制終了)
⏹(Shutdown)/ Ctrl+,現在のリクエストを完了してからテストを停止する(グレースフルシャットダウン)
🗑(Clear / Clear All)リスナーの結果をクリアする。テスト前に必ず実行する習慣をつける
💾(Save)/ Ctrl+Sテストプランを .jmx ファイルに保存する
📁(Open)/ Ctrl+O既存の .jmx ファイルを開く

⚠️ Stop と Shutdown の違い

Stop はスレッドを即座に終了させるため、進行中のリクエストが中断されることがあります。 Shutdown は現在処理中のリクエストを完了させてからスレッドを終了するため、より安全です。 通常は Shutdown を使い、応答がない場合に Stop を使うのが推奨です。

テストプランの保存・読み込み

JMeter のテストプランは .jmx 形式(XML) で保存されます。 Ctrl+S またはメニューの File → Save で保存できます。 ファイル名は分かりやすい名前をつけてください(例: login_load_test.jmx)。

.jmx ファイルはバージョン管理ツール(Git など)で管理することができます。 XML 形式なので差分も比較しやすく、チームでテストシナリオを共有・管理するのに適しています。

次の章では…

PART 04 では実際に HTTP リクエストを含むテストシナリオを作成します。スレッドグループ・HTTPリクエスト・アサーションをステップバイステップで設定します。

→ PART 04 — テストシナリオ作成へ