4. ロジックコントローラ
- 4.1. ロジックコントローラとは
- 4.2. インターリーブコントローラ
- 4.3. 乱数コントローラ
- 4.4. ループコントローラ
- 4.5. 一度だけ実行されるコントローラ
- 4.6. シンプルコントローラ
4.1. ロジックコントローラとは
ユーザがアプリケーションを実際に使用する場合は、アプリケーションに備わる様々な機能を使うことになるでしょう。たいていの場合、それらの機能は常に均等に使用されるわけではなく、非常によく使用される機能がある一方で、ログイン機能のように、最初の1回しか使用されない機能もあるでしょう。
例えばここに、ログインしたユーザのみが使用できる3種類の検索機能を持ったWebアプリケーションがあるとします。このWebアプリケーションが持つ3種類の検索機能のうちどれかひとつだけが使用されることが多く、そのかわり1回のログインで何度もそのひとつの検索機能が使用されるとします。このようなWebアプリケーションに対して、より的確な負荷テストを行うにはどうすれば良いでしょうか?おそらく、最初に1回ログインページへアクセスしてログインし、その後、3つの検索ページのうちのどれかひとつのページに多数回アクセスする、というような動作を何度も行う必要があるでしょう。
JMeterでは、ロジックコントローラを使用することにより、このようなテストを行うことができます。ロジックコントローラとは、1回のテストにおいて、HTTPリクエストを複数回実行させたり、いくつかのHTTPリクエストのなかからランダムにひとつのリクエストを実行させたりする機能を持つものです。
ロジックコントローラのつけ方は、これまで紹介した『リスナー』や『設定エレメント』と同様で、編集メニューか右クリックの後、追加 → ロジックコントローラと選択し、使用したいロジックコントローラを選択することで目的の場所に付加することができます。
それではこれから、主要なロジックコントローラについて説明していきます。
4.2. インターリーブコントローラ
『インターリーブコントローラ』は、それに属する複数の要素のうち、ひとつだけを実行させるという機能を持っています。複数回ループした場合には、実行される要素は順番に変更されます。
例を見てみましょう。以下の図のような『テスト計画』を実行したとします。ただし、『スレッドグループ』の「スレッド数」は1、「ループ回数」は10だとします。
このとき、発行されるリクエストは以下のようになります。
順番 | 実行されたリクエスト |
---|---|
1 | 一覧表示ページ |
2 | 検索ページ |
3 | 登録ページ |
4 | グラフ表示ページ |
5 | 一覧表示ページ |
6 | 検索ページ |
7 | 登録ページ |
8 | グラフ表次ページ |
9 | 一覧表示ページ |
10 | 検索ページ |
このように、『インターリーブコントローラ』に属するHTTPリクエスト等は、ループのたびにひとつずつ順番に実行されていきます。
4.3. 乱数コントローラ
『乱数コントローラ』も『インターリーブコントローラ』と同様に、ループのたびに属する要素のうちのひとつを実行します。ただし、『インターリーブコントローラ』が属する要素をひとつずつ順番に実行していくのに対し、『乱数コントローラ』は属する要素のうちのどれかひとつをランダムに選んで実行します。