Load Test では、さまざまな方法で負荷テストをカスタマイズできます。このセクションでは、負荷テストのカスタマイズ方法および利用可能なカスタマイズ オプションについて説明します。この章の内容:
テスト スイート シナリオのカスタマイズ
使用するシナリオをカスタマイズすると、特定のテストの実行方法をカスタマイズできます。シナリオを使用して、以下のパラメーターをカスタマイズできます。
- テスト持続時間
- 時間およびマシンに対する仮想ユーザーの割付け
- 時間およびマシンに対するヒット率の割付け
- 時間に対するユーザー プロファイルの割付け
既存のシナリオをカスタマイズしたり、新規シナリオを作成するには、次の操作を行います。
- カスタマイズするシナリオを開いたり、作成するには、Load Test タブで以下のどちらかの操作を行います。
- 既存のシナリオを開く場合: [Scenarios] ブランチの該当ノードをクリックします。プロファイルが表示されていない場合、[Scenarios] をダブルクリックしてブランチを展開します。
- 新規シナリオを作成する場合: [Scenarios] ノードを右クリックし、ショートカット メニューの [新規 Scenario] をクリックします。
- GUI 右側のパネルのコントロールを使用してシナリオをカスタマイズします。次のセクションは、特定のカスタマイズを行うためのコントロールについて説明しています。
シナリオ名
[名前] フィールドに新しい名前を入力します。
シナリオ タイプ
シナリオ タイプは、シナリオ設定のいくつかの側面を決定します。テスト スイート プロファイルごとに仮想ユーザー数またはヒット (秒) を指定できます。また、テストスイート プロファイルの配分を全体的な割合として指定し、指定された率に従ってランダムにテスト スイート プロファイルを割り当てることもできます。
[シナリオ タイプ] ドロップダウンから次のいずれかを選択します。
- 加重プロファイルテスト スイート プロファイルの配分を重み率として指定します。重み付きのランダム化された方法でプロファイルに仮想ユーザーが割付けられ、それに応じて合計負荷グラフが変わり、「統計的」プロファイルの配分が可能になります。
- ダイレクトプロファイルこのタイプを選択した場合、正確な負荷を (仮想ユーザー数またはヒット (秒) で) 指定します。すべてのマシンの負荷を指定することも、個々のマシンの負荷を別個に指定することもできます。仮想ユーザー/ヒット (秒) の合計数は、直接的には指定できず、マシンのすべてのプロファイルの合計から計算されます。
テスト持続時間
[期間] フィールドに新しい値を入力します。次の持続時間が適用されます。
- 日: 30
- 時間: 23
- 分: 59
- 秒: 59
制御パラメーター
制御パラメーターは、テストを仮想ユーザー数で制御するか、ヒット (秒) [ヒット率] で制御するかを指定します。
[制御パラメーター] ドロップダウンから次のいずれかを選択します。
- ユーザー数。Load Test は指定された仮想ユーザー数を達成するため、ヒット (秒) を変化させるよう試みます。
- [ヒット (秒)]、[ヒット (分)]、[ヒット (時間)]、または [ヒット (日)]。Load Test は指定されたヒット率を達成するため、仮想ユーザー数を変化させるよう試みます。
ランダム化
ランダム化設定は、制御パラメーターのランダム化を指定します。
制御パラメーターに [ユーザー数] が指定されている場合、次の分布に従って仮想ユーザーの思考時間がランダム化されます。
- 均一: プロファイル設定で定義された仮想ユーザーの思考時間が Tprof の場合、実際の仮想ユーザー思考時間は、Tprof を中央値として 0 から 2*Tprof の間に均一に分布するランダム値となります。
- ポアソン: プロファイル設定で定義された仮想ユーザーの思考時間が Tprof の場合、実際の仮想ユーザー思考時間は、Tprof を中央値としてベル状に分布するランダム値となります。
- なし: ランダム化は適用されません。
制御パラメーターに [ ヒット (秒)] が指定されている場合、次の分布に従って仮想ユーザーの思考時間がランダム化されます。
- 均一: プロファイル設定で定義されたヒット (秒) が Nhps の場合、1/Nhps 秒を中央値として 0 から 2 1/Nhps の間に均一に分布するランダム値を呼び出し間隔 (後続のリクエストまでの時間) として、リクエスト シーケンスが生成されます。
- ポアソン: プロファイル設定で定義されたヒット (秒) が Nhps の場合、1/Nhps 秒を中央値としてベル状に分布するランダム値を呼び出し間隔 (後続のリクエストまでの時間) として、リクエスト シーケンスが生成されます。
縦軸
テスト実行中にシミュレートされる最大ユーザー数を指定するには、[ユーザー] タブの [縦軸] ボックスから値を選択します。1 つのシナリオで指定できる最大のユーザー数は、ライセンスによって決定されます。ライセンスの詳細を参照するには、[ヘルプ] メニューで [バージョン情報] をクリックします。
制御パラメーターにユーザー数が指定されている場合、テストの負荷は、選択されたシナリオのすべてのマシンでのユーザー数およびヒット数の合計になります。
制御パラメーターに ヒット数が指定されている場合、テストの負荷は、特定のテストに指定したヒット (秒) およびテストを実行するマシンの合計数によって決まります。プロファイルの遅延オプションは利用できなくなり、既存の遅延設定はすべて無視されます。ライセンスされているヒット (秒) 数を確認するには、ライセンスされている仮想ユーザー数を 10 で割ります。たとえば、100 仮想ユーザーがライセンスされている場合、10 ヒット (秒) でテストを実行できます。
- パネルの右上にある線を右クリックし、グラフの縮尺オプションを選択します。シナリオ タイプがダイレクト プロファイルに設定されている場合、個々のプロファイルのスケールを選択できます。加重プロファイル モードでスケールを設定する場合、スケールはマシンごとに設定します。
- 開かれたダイアログにスケール係数を入力します。
グラフの変更
グラフは、時系列での仮想ユーザー数またはヒット数に関するLoad Test の設定を視覚的に表したものです。グラフを設定するためのインターフェイスは、プロファイルをダイレクトに設定するか、加重プロファイルを設定するかで異なります。
マシンの指定
[マシン独立] オプションを指定すると、同じ設定がすべてのマシンに適用されます (デフォルトの設定)。このオプションは、複数のマシンがある場合にだけ利用できます。グラフには「All Machines」というラベルが付いた線が表示されます。このオプションを使用すると、すべてのマシンの線の位置と形を一度に変更することができます。このオプションをオフにすると、個々のテスト マシンに異なる設定を適用できます。マシンを個々に有効にすることもできます。
プロファイルの表示
ダイレクトにプロファイルを設定し ([シナリオ タイプ] に [ダイレクト プロファイル] を指定する)、複数のテスト スイート プロファイルが利用可能な場合、[すべて] オプションをオンにしてすべてのプロファイルを表示するか、個々のプロファイルを有効にできます。
縦軸メモリの変更
グラフの縮尺について詳しくは、「Vertical Scale」を参照してください。
形の変更
グラフのポイントを変更することでグラフの形を変更できます。
- パネルの右上にある線を右クリックし、[グラフの編集] オプションを選択します。
- ダイアログで Y フィールドの値を入力します。
- [次へ] をクリックしてグラフの次のポイントを編集するか、[前へ] をクリックして前のポイントを編集します。Alt + 左矢印 および Alt + 右矢印 キーボード ショートカットを使用することもできます。
- X フィールドの値を指定して [適用] をクリックします。
- ステップ 2 と 3 を繰り返して必要なポイントを設定し、完了したら [OK] をクリックします。
グラフ上でポイントをクリックし、ドラッグすることもできます。
仮想ユーザー数またはヒット率を一定に維持するには、線が平らであることを確認してから、線を上下にドラッグし、テスト期間全体で期待されるユーザー数またはヒット率の位置まで移動します。
線を右クリックし、ショートカット メニューの [ポイントの追加] をクリックすると、新しいノードが作成されます。
ポイントをクリックしてドラッグするか、右クリックして [ポイントの編集] を選択し、仮想ユーザー数またはヒット数 (秒) を指定します。特定のポイントがない時点については、ポイント間を斜線でつなぐことにより、仮想ユーザー数またはヒット (秒) の値が自動的に決定されます。
既にあるポイントの数を自動的に 2 倍にするには、[ポイントを増やす] をクリックします。
既存のポイントの間に新しいポイントが均等に追加されます。1 つのポイントを削除するには、ポイントを右クリックして [ポイントの削除] をクリックします。変曲点ではないポイントを削除するには、[ポイントを減らす] をクリックします。
プリセット済みの形を使用する
グラフをプリセット済みの形に設定することもできます。
- パネルの右上にある線を右クリックし、[Set Graph Shape] オプションを選択します。
- グラフの形を選択し、ピーク値を指定します。
- [OK] をクリックして選択されたグラフに形を適用します。
プロファイルの重み付けの設定
Load Test がテスト期間の任意の時点で特定のプロファイルを選択する確率を指定できます。プロファイルに割り当てられた率が高いほど、選択されやすくなります。プロファイルの重み付けは、複数のテスト スイート プロファイルがある場合にだけ適用されます。
- プロファイルの最大率を変更するには、[縦軸] から値を選択します。値が大きいほど、Load Test が時間の経過とともに割付けるユーザー プロファイルの率に大きな差異を付けることができます。ユーザープロファイルの率は、テスト期間の任意の時点で特定のプロファイルが選択される可能性を決定します。
- 別のプロファイル率範囲に線の形状を合わせるには、パネル右上で該当の線を右クリックし、ショートカットメニューの [グラフの縮尺] をクリックします。
- 開かれたダイアログにスケール係数を入力します。
- ユーザー プロファイルの率を一定に維持するには、線が平らであることを確認してから、プロファイルの水平バーを上下にドラッグし、すべての期間で期待されるプロファイルの重みの位置まで移動します。
- ユーザー プロファイルの率を変化させるには、プロファイルの重み (「Changing the Shape」を参照) を指定する時点に「ポイント」を作成し、ポイントを任意の位置までドラッグします。特定のポイントがない時点については、ポイント間を斜線でつなぐことにより、プロファイルの重みが自動的に決定されます。
- 既にあるポイントの数を自動的に 2 倍にするには、[ポイントを増やす] をクリックします。既存のポイントの間に新しいポイントが均等に追加されます。1 つのポイントを削除するには、ポイントを右クリックして [ポイントの削除] をクリックします。変曲点ではないポイントを削除するには、[ポイントを減らす] ボタンをクリックします。
ヒント
シナリオの QoS メトリクスのカスタマイズ
Load Test のサービス品質 (QoS) 解析機能を使用すると、負荷テストの結果に QoS メトリクスを適用し、サービス/アプリケーションのパフォーマンスを評価できます。Load Test は、メトリクスに基づいてパフォーマンスを評価し、負荷テストの成功/失敗を判定します。QoS 解析は、サービス/アプリケーションがデプロイメント準備完了とみなされるために、特定のパフォーマンス要求を満たす必要がある場合、特に重要です。
QoS メトリクス
QoS メトリクスを使用すると、負荷テストに関する回帰テストのセットを定義できます。すべてのメトリクスが正常の場合、負荷テストは成功とみなされます。失敗したメトリクスがあった場合、サービス/アプリケーションのパフォーマンスにレグレッションがあったことを表します。
QoS 機能は、負荷テスト ツリーから利用できます。各シナリオ ノード (Bell、Buffer Test、Linear Increase、Steady Load) の下に、対応する QoS ノードがあります。QoS ノードを選択すると、GUI 右側のパネルに [概要] タブおよび [詳細] タブが表示されます。
[概要] タブには、[詳細] タブで設定された QoS メトリクスのグローバル ビューが表示されます。[概要] タブには、メトリクスと説明の一覧があります。[概要] タブの [メトリクス] リストには、5 つのデフォルト メトリクスがあります。
- 低実行時間: 平均実行時間が指定されたしきい値より低いことを検証します。
- 低サーバー時間: 平均サーバー時間が指定されたしきい値より低いことを検証します。
- 失敗なし: 負荷テスト中に発生した失敗の数がゼロでなければなりません。
- ファスト ヒット率: 負荷テスト中に達成されたスループットが定義されたレベルを超えていなければなりません。
- 100% 成功: 成功したリクエスト メッセージの割合が 100% でなければなりません。
上記のメトリクスは、タイプに従って分類されています (統計、カウント、スループット、損失)。追加されたメトリクスがある場合、それも概要タブに表示されます。
[説明] リストには、メトリクスに対して指定されたパラメーターに基づき、自動的に生成されたメトリクスの説明が表示されます。
[詳細] タブには、選択されたシナリオに対して設定済みの利用可能なメトリクスが表示されます。[詳細] タブには、メトリクス リストで選択したメトリクスの名前、パラメーター、注釈も表示されます。
新規 QoS メトリクスの作成
新規 QoS メトリクスを作成するには、次の操作を行います。
- メトリクス リストの下にある [新規] ボタンをクリックします。[メトリクスの追加] ウィザードが表示されます。
[メトリクスの追加] ウィザードで QoS メトリクスを選択し、[終了] をクリックします。
[詳細] タブの左側のパネルに QoS メトリクスが追加され、右側のパネルにパラメーターが表示されます。
各メトリクスは、負荷テスト完了時に、結果に対してそれぞれ異なる検証のセットを行います。負荷テストの実行後、テスト情報レポートに QoS レポート概要が表示されるほか、より詳細な個別の詳細 QoS レポートも参照できるようになります。
QoS メトリクス計算におけるフィルター選択の効果
QoS メトリクスのマシン、プロファイル、テスト フィルター パネル内のテスト ツリー選択パネル (「テストツリー選択パネルの操作とオプション」を参照) で行った選択は、メトリクス値の計算に使用されるデータ セットに影響を与えます。その結果として、メトリクスの成功または失敗にも影響を与えます。以下のメトリクス タイプの計算に使用されたデータは、負荷テスト レポートの該当セクションで参照できます。
- 統計メトリクス - レポートの統計セクションを参照します。統計メトリクスの平均パラメーターは、メトリクスの対象として選択されたテストの実行回数に基づいて計算されることに注意してください。実行回数は、負荷テスト レポートの統計セクションにある実行回数列で参照できます。
- カウント メトリクス、損失メトリクス - レポートの統計セクションを参照します。
- スループット - 詳細レポート セクションのグラフ タブを参照します。
- パーセンタイル メトリクス、レイテンシー メトリクス - 詳細レポート ビューのグラフ タブにある [個々のヒットを表示] をオンにします。
- エラー率メトリクス - 詳細レポート ビューのグラフ タブにある [記録された詳細を表示] をオンにします。オプションを選択した後に表示されるテーブル ビューの [詳細] 列を参照してください。
また、現在のメトリクス値に基づく、より詳細なメトリクスの説明については、QoS メトリクス ビューの [パラメーター] パネルに表示されるツール チップを参照してください。
QoS メトリクス パラメーターの構成
QoS メトリクスを変更するには、[詳細] タブ左側のリストからメトリクスを選択し、[詳細] タブ右側のパラメーターを構成します。選択したメトリクスによって、オプションは異なります。しかし、右ペインのパラメーターの上にカーソルを置くと、ツールチップにパラメーター構成に関する情報が表示されます。
また、リストから 1 つまたは複数のメトリクスを選択し (複数選択するには、CTRL キーを押しながらクリックします)、選択範囲を右クリックして、必要に応じてショートカット メニューの [切り取り]、[コピー]、[貼り付け]、または [削除] を使用できます。リストから 1 つまたは複数のメトリクスを選択して (複数選択するには、CTRL キーを押しながらクリックします) 右クリックした場合、[名前を付けてメトリクスを保存] を実行して、選択されたメトリクスを QoS メトリクス セット (.ms ファイル) として保存できます。また、[メトリクスのロード] をクリックして、以前に保存されたメトリクス セットをロードすることもできます。リストのメトリクスをドラッグ&ドロップして、任意の順序に変更できます。
多数のプロファイルを含むシナリオのカスタマイズ
多数のプロファイルやグラフ ポイントを含むシナリオの場合、[ユーザー] および [プロファイル] タブの各グラフにあるさまざまなオプションを設定し、管理するのが難しくなる可能性があります。そのような場合、各シナリオの [概要テーブル] および [詳細テーブル] を使用するほうが簡単かもしれません。
概要テーブルおよび詳細テーブルを参照するには、シナリオ ノードを選択します。すると、GUI 右側のパネルに [概要テーブル] および [詳細テーブル] が表示されます。
概要テーブルおよび詳細テーブル ビューでは、個々のマシンのユーザー数や、プロファイルの重みなどの緑色のフィールドを編集できます。緑色のフィールドで行った変更は、対応する [ユーザー] タブおよび [プロファイル] タブに反映されます (反対に、 [ユーザー] タブおよび [プロファイル] タブの変更もテーブルのフィールドに反映されます)。たとえば、デフォルト ユーザーのプロファイル重量を 1 から 5 に変更した場合、その変更は [プロファイル] タブに反映されます。同様に、[プロファイル] タブで同じ変更を行うと、概要テーブル タブおよび詳細テーブルに反映されます。
概要テーブル
[概要テーブル] ビューに表示される情報は、シナリオ タイプとして加重プロファイルが選択されているか、ダイレクト プロファイルが選択されているかによって異なります。
- [加重プロファイル] の [概要テーブル] ビューには、2 つのテーブルがあり、1 つはマシンの情報を、 もう 1 つはプロファイルの情報を表示します。
- [ダイレクト プロファイル] の [概要テーブル] ビューには、テーブルが 1 つあり、各マシンのユーザー数を変更できます。
詳細テーブル
[詳細テーブル] ビューに表示される情報は、シナリオ タイプとして加重プロファイルが選択されているか、ダイレクト プロファイルが選択されているかによって異なります。
- [加重プロファイル] の [詳細テーブル] ビューには、2 つのテーブルがあり、1 つはマシンの情報を、 もう 1 つはプロファイルの情報を表示します。
- [ダイレクト プロファイル] の [詳細テーブル] ビューには、テーブルが 1 つあり、各ユーザー プロファイルの時間/値を変更できます。
環境の構成
環境とは、Load Test の設定内で参照可能な変数のコレクションです。 テスト実行時、Load Test はプロジェクト設定内の変数名をアクティブな環境の変数値に置換します。 アクティブな環境を変更することで、Load Test が使用する値を簡単に変更できます。
環境の作成と切り替えは、[環境] タブで行います。このタブを表示するには、次の操作を行います。
- Load Test コンフィギュレーション ツリーで [Profiles] ノードを選択します。
- [環境] タブを開きます。
[環境] タブは 2 つのセクションに分かれており、[Environments List] パネル (左側) と [Environment Details] パネル (右側) があります。
環境リストの構成
環境リスト パネルには、環境を管理するための以下のボタンがあります。
追加: [追加] ボタンの右端にある矢印をクリックすると、ドロップダウン メニューが表示されます。以下のオプションがあります。
- インポート...: プロジェクトに
*.Env
ファイルから既存の環境をロードします。インポートした後に*.env
ファイルに加えられた変更は、プロジェクトには反映されません。 - 参照...: プロジェクトで
*.Env
ファイルの既存の環境を参照します。参照した後に*.env
ファイルに加えられた変更は、プロジェクトに反映されます。
- インポート...: プロジェクトに
- 削除: 選択された環境をプロジェクトから削除します。
- 設定: 選択された環境をアクティブな環境にします。
環境の詳細構成パネル
環境を作成/選択すると、[Environment Details] パネルに環境変数を管理するためのテーブルとボタンが表示されます。
- 追加: プロジェクトに新しい環境変数を追加します。
- 削除: 選択された環境変数を削除します。
既存の環境変数を編集するには、値をダブルクリックするか、値をクリックして反転表示させてから上書きします。
非同期テストの構成
負荷テストで使用する SOAtest のプロジェクトに Call Back ツールおよび Asynchronous テスト機能 (または Message Stub ツール) が含まれている場合、SOAtest プロジェクトに関連する非同期メッセージを処理するには、Load Test 内で SOAtest サーバーを起動する必要があります。
SOAtest サーバーを起動するには、2 つの方法があります。
- 手動: ツールバーの [表示] メニューの [表示 サーバー] をクリックします。Load Test GUI の左側のパネルに [サーバー] タブが表示されます。[サーバー] ノードを右クリックして [サーバーの起動] をクリックします。
- 自動: Load Test 設定画面で [スタートアップ] セクションを選択し、[Start server on Parasoft Load Test start-up] オプションをオンにします。 設定を有効にするには、設定を保存した後に Load Test を再起動する必要があります。
SOAtest 非同期ツールを使用したテストをコマンド ライン モードまたは Load Test Server モードで実行する場合、すべてのマシンで SOAtest Server の自動起動オプションを有効にする必要があります (コマンド ライン モードでは、手動では SOAtest Server を起動できないため)。
データ ソースの使用方法の構成
SOAtest の .tst ファイルがデータ ソースを参照している場合、負荷テスト中にデータ ソースをどのように使用するかを構成できます。
データ ソース オプションを構成するには、次の操作を行います。
- Load Test コンフィギュレーション ツリーで [Profiles] ノードを選択します。
- [データ ソース オプション] タブを開きます。利用可能なデータ ソースが左側のパネルに表示されます。
- テスト スイート全体に適用されるデータ ソース オプションを構成するには、構成するテスト スイートを選択し、必要に応じて右側のオプションを以下のように変更します。
- すべての行を使用したら負荷テストを中止: データ ソースの行を使用した後に無効にするには、このオプションをオンにし、最初のマシンが行を使い尽くしたときにテストを中止するか、すべてのマシンが行を使い尽くしたときにテストを中止するかを指定します。このオプションは、負荷テストの期間を管理するのに役立ちます。
- レポートの推奨される分割サイズ: 各マシンのデータ ソースごとに推奨されるサイズで分割されたレポート (負荷テスト結果に基づく) を生成するかどうかを指定します。
- 特定のデータ ソースに対してオプションを構成するには、構成するデータ ソースを選択し、必要に応じて右側のオプションを以下のように変更します。
- 各行を一度だけ使用 (使用したデータを無効にする): テスト中にデータ ソースの行を複数回使用できるかどうかを指定します。このオプションがオンの場合、SOAtest はデータ ソース値を順次使用します。ランダムな繰り返しは指定できません。このオプションは、特定のデータを 1 回しか入力できない Web アプリケーション (たとえば、社会保障番号、固有の ID など) をテストする際に特に便利です。
- 異なる仮想ユーザーが同時に同じ行を使用できる: このデータ ソースの値を、1度に複数の仮想ユーザーが使用できるかどうかを指定します。ユーザーの同時複数ログインが禁止されている場合に、このデータ ソースからログイン ユーザー名/パスワードを取得したいときなどに、このオプションをオフにすると便利です。このオプションがオフの場合、テスト中にデータ ソースを使用しようとする仮想ユーザーの数が利用可能な行数を超えると、メッセージがレポートされます。その場合、データ ソースの行数がデータ ソースを使用する仮想ユーザー数より多くなるようにしてから、テストを再実行します。このオプションは、[各行を一度だけ使用 (使用したデータを無効にする)] オプションがオフの場合にだけ利用できます。
- 仮想ユーザーはデータを繰り返し使用する: データをランダムに繰り返すか、順次繰り返すかを指定します。このオプションは、[各行を一度だけ使用 (使用したデータを無効にする)] オプションがオフの場合にだけ利用できます。
- 順次モードでは、テスト中にデータが繰り返し使用されます。データ ソースの最初の行から、最後の行を使い終わるまで、順次すべてのデータ ソース値を使用します。データ ソースの最終行のデータを使い終わると、再び最初の行の値から使用します。
- ランダム モードでは、データ ソースが必要になるたびに、ランダムにデータ ソース行を選択します。
- 順次モードでは、テスト中にデータが繰り返し使用されます。データ ソースの最初の行から、最後の行を使い終わるまで、順次すべてのデータ ソース値を使用します。データ ソースの最終行のデータを使い終わると、再び最初の行の値から使用します。
- 仮想ユーザーはテスト毎にすべての行を繰り返し使用する: 次のテストに移る前に、仮想ユーザーがこのデータ ソースのすべての行を繰り返し使用するかどうかを指定します。このオプションがオフの場合、仮想ユーザーは 1 回につき 1 行を使用し、次のテストに移ります。このオプションは、[各行を一度だけ使用 (使用したデータを無効にする)] オプションがオフの場合にだけ利用できます。
- パーティション: データ ソースをどのように分割し、複数の負荷テスト サーバー マシンに割付けるかをカスタマイズできます。
- [各行を一度だけ使用] がオンの場合、または [異なる仮想ユーザーが同時に同じ行を使用できる] オプションがオフの場合、データ ソースは分割されます。
- データ ソースをどのように分割し、複数の負荷テスト サーバー マシンに割付けるかをカスタマイズするには、[カスタム データ ソース パーティションの使用] をオンにし、テーブルに配分を入力します。
- 特定のマシンにデータ ソースの行を配分しない場合は、[先頭行] セルと [最終行] の両方に 0 を入力します。すべてのデータ ソース行が 1 つの負荷テスト サーバー マシンに割付けられていなければなりません。
セットアップ/ティアダウン テスト実行の構成
SOAtest の .tst ファイルにセットアップまたはティアダウン テストがある場合、負荷テスト中にテストをどのように使用するかを構成できます。
セットアップ/ティアダウン オプションを構成するには、次の操作を行います。
- Load Test コンフィギュレーション ツリーで [Profiles] ノードを選択します。
- [セットアップ/ティアダウン オプション] タブを開きます。
- オプションを選択します。以下のオプションがあります。
- 仮想ユーザーごとに 1 回実行: 仮想ユーザーごとにセットアップおよびティアダウン テストが実行されます。
- マシンごとに 1 回実行: 各マシンは負荷テスト 1 回ごとにセットアップおよびティアダウン テストを 1 回実行します。
- 負荷テストごとに 1 回実行: 負荷テスト 1 回ごとにセットアップおよびティアダウン テストが実行されます。
プロファイルのカスタマイズ
各仮想ユーザーは、利用可能なプロファイルのいずれかに基づいて作成されます。仮想ユーザーは、負荷テスト開始時に作成されるほか、仮想ユーザーがテスト実行を完了したが、まだ負荷テスト期間が終了していない場合に作成されます。
任意の数のプロファイルまたはマシンを構成できますが、仮想ユーザーまたはヒット (秒) の数は、ライセンスによって制限されます。たとえば、100 仮想ユーザーがライセンスされている場合、任意の数のプロファイルを構成できますが、任意の時点でプロファイルに基づいてアクティブ化できる仮想ユーザー数は 100 までです。20 個のプロファイルがあるが、1 仮想ユーザーを実行するライセンスしかない場合、テスト中に、いずれは 20 個すべてのプロファイルが使用されますが、1 度に 1 つのプロファイルしかアクティブになりません。
デフォルト プロファイルをカスタマイズしたり、新規プロファイルを作成するには、次の操作を行います。
- 以下のいずれかの操作を行って、カスタマイズするプロファイルをオープン、無効化、有効化、また作成します。
- 既存のプロファイルを開く場合: [Profiles] ブランチの該当ノードをクリックします。プロファイルが表示されていない場合、[Profiles] をダブルクリックしてブランチを展開します。
- 既存のプロファイルを有効化/無効化する場合: [Profiles] ブランチで適切なノードを右クリックし、ショートカット メニューの [無効化/有効化] をクリックします。プロファイルを無効化すると、再び有効化されるまで、負荷テスト時にプロファイルが実行されません。
- 新規プロファイルを作成する場合: [Test Suite Profiles] ノードを右クリックし、ショートカット メニューの [新規プロファイル] をクリックします。
- GUI 右側のパネルのコントロールを使用してプロファイル オプションをカスタマイズします。以下のオプションがあります。
- 名前: プロファイル名を指定します。
- 実行コンポーネントのプロファイル: 実行されるテストまたはカスタム オペレーションを指定します。使用するテストに対応するチェック ボックスをオンにします。少なくとも 1 つのテストを選択する必要があります。子テストに親テストの設定 (有効または無効) を適用するには、[選択の伝播] オプションをオンにします。複数のテスト スイートを追加した場合、このパネルに表示された順序でテストが実行されます。
- 遅延: このプロファイルのテストを繰り返す間にシミュレートする遅延の長さとタイプを指定します。(仮想ユーザー数で制御されるシナリオではなく) ヒット (秒) 数で制御されるシナリオで、このプロファイルが使用される場合、遅延オプションは無視されます。遅延オプションには以下があります。
- 終了から開始: 前の仮想ユーザーの呼び出しが終了した後から、次の仮想ユーザーを呼び出すまでの時間を遅延時間として計測します。
- 開始から開始: 前の仮想ユーザーの呼び出しを開始したときから、次の仮想ユーザーを呼び出すまでの時間を遅延時間として計測します。
- 分: 遅延時間を分単位で指定します。テキスト フィールドに分を表す数値を入力するか、スライダーを動かして設定します。
- 秒: 遅延時間を秒単位で指定します。テキスト フィールドに分を表す数値を入力するか、スライダーを動かして設定します。
- ミリ秒: 遅延時間をミリ秒単位で指定します。テキスト フィールドに分を表す数値を入力するか、スライダーを動かして設定します。
ヒント
テストごとに異なる遅延時間を使用する場合は、SOAtest のテスト レベルで遅延時を構成できます (テスト スイート設定パネルの [実行オプション] > [テスト フロー ロジック] タブ)。テスト レベルで構成された遅延時間は、Load Test プロファイルで指定された遅延時間で上書きされます。開始から開始/終了から開始の選択は、ここに遅延時間が設定されたテストには適用されません。
仮想ユーザー モードでヒット (秒) を制限する
仮想ユーザー数を制御パラメーターとする負荷テスト シナリオでヒット (秒) 率を制限したいケースがあるかもしれません。仮想ユーザー モードでヒット (秒) を制限する方法には、以下の 2 つがあります。
- 仮想ユーザー プロファイル設定で適切な遅延時間を設定する: この方法が推奨されます。ヒット (秒) 率は、仮想ユーザーの呼び出し間隔と反比例します。この間隔は、テスト実行時間と仮想ユーザー遅延時間で構成されます。たとえば、仮想ユーザー プロファイルの開始から開始遅延時間を 1 秒に設定すると、4 仮想ユーザー負荷テスト シナリオのヒット (秒) 率は 4 ヒット (秒) 以下になります。仮想ユーザー プロファイルの遅延時間の詳細については、「プロファイルのカスタマイズ」セクションを参照してください。
- シナリオ概要テーブル ビューでヒット (秒) の抑制を設定する: 仮想ユーザー数を制御パラメーターとする負荷テスト シナリオを加重プロファイル モードで実行する場合、負荷テスト構成で各マシンのヒット (秒) を直接制限できます。負荷テスト シナリオ ビューの概要テーブル (下のスクリーンショットを参照) には、負荷テスト構成に含まれる任意のマシンに対してヒット (秒) の抑制を指定できるテーブルがあります。このモードを使用する場合、負荷テストの HPS の抑制コントローラーは、仮想ユーザー遅延時間の設定よりも優先されることに注意してください。結果として、ヒット (秒) 率を抑制するために、仮想ユーザー プロファイルの遅延時間が無視される可能性があります。
次の図は、シナリオ概要テーブル ビューでヒット (秒) の抑制を設定する場合の例を表しています。
データ記録パラメーターのカスタマイズ
シナリオ コントロール パネルの [レポート設定] タブでは、負荷テスト中に記録されるデータを構成できます。
以下のオプションがあります。
- グラフの記録: 負荷テスト レポートの詳細レポート セクションに表示される負荷テスト グラフのデータを記録します。
- 個々のヒットを記録: 負荷テスト レポートの詳細レポート セクションに「分散」グラフとして表示される個々のすべてのヒットを記録します。
- 個々のヒットの詳細を記録: 個々のヒット実行に関するエラー/成功の詳細を記録します。エラーおよび成功詳細は、Load Test のコンポーネント タイプによって異なります。SOAtest コンポーネントの場合、以下の情報がエラー/成功として記録されます。
- エラー詳細: 次の SOAtest ツール テストに関するすべてのテストおよびテスト トラフィックのエラー詳細文字列が含まれます。SOAP Client、Browser Test、REST Client、Messaging Client
- 成功詳細: 次の SOAtest ツール テストのトラフィックが含まれます。SOAP Client、Browser Test、REST Client、Messaging Client
- 記録制限: 負荷テスト レポートに記録されるエラー/成功データ量の制限値です。制限は、収集されるテスト実行詳細データの最大数、または詳細データのサイズで設定できます。
レポートサイズを記録される詳細の最大数で制限するには、記録制限パネルの [詳細] オプションをオンにします。
レポートサイズを記録される最大データサイズで制限するには、記録制限パネルの [キロバイト] オプションをオンにします。
[個々のヒットの詳細を記録] オプションは、[個々のヒットを記録] オプションがオフの場合にもオンにできることに注意してください。この場合、個々のヒット データ (レポートの分散ビュー セクション) は記録されませんが、負荷テスト レポート ビューの右クリック メニューで [記録された詳細を表示] をクリックすることで、テスト実行の詳細を参照できます。
負荷テスト レポートで成功およびエラーの詳細を参照する方法については、「詳細レポート」を参照してください。
負荷テスト停止手順のカスタマイズ
負荷テスト停止シーケンスのカスタマイズ
シナリオ コントロール パネルの [停止設定] > [シーケンスの中止] エリアでは、負荷テスト停止イベントが生成された後、負荷テストアクティビティが実際に停止するまでの動作を構成できます。(負荷テスト生成イベントが生成されてから、負荷テストアクティビティが実際に停止するまでの時間を「負荷テスト停止時間」と呼びます)
負荷テスト停止イベントは、以下の場合に生成されます。
- Load Test のユーザーがツール バーの [停止] ボタンをクリックして、手動で負荷テストを停止した。
- 負荷テスト持続時間がスケジュールされた期間に達した。
- 負荷テストの停止アクションが起動された (下のCustomizing Load Test Stop Actionsセクションを参照)。
負荷テスト停止イベントが生成されると、Load Test は仮想ユーザーの作成を中止し、既存の仮想ユーザーが終了するのを待機します。急停止および通常停止オプションは、仮想ユーザーが現在のテストを完了してから終了するか、スケジュールされたテストをすべて完了してから終了するかを制御します。
- 急停止(デフォルトのオプション) - このオプションがオンの場合、仮想ユーザーは現在のテストが完了した後に終了します。このオプションをオンにすると、負荷テストがすばやく停止します。しかし、停止コマンドが発行されたときにアクティブだった仮想ユーザーは、スケジュールされたすべてのテストを完了しなかったり、仮想ユーザーが所属するプロファイルに対してスケジュールされたデータ ソースの繰り返しを完了しない可能性があります。
- 通常停止- このオプションがオンの場合、仮想ユーザーは、仮想ユーザー プロファイル構成でスケジュールされたすべてのテストおよびデータ ソースの繰り返しを実行します。このオプションをオンにすると、 (急停止シーケンスの場合と比べて) 負荷テスト停止時間が長くなる可能性があります。仮想ユーザー テスト リストまたはデータ ソース繰り返しリストが長い場合、時間の増加が非常に大きくなる可能性があります。
負荷テスト停止アクションのカスタマイズ
Java、JavaScript、または Jython スクリプトを使用して、負荷テストの停止方法をカスタマイズできます。この機能は、望ましくない結果につながる特定の状況が発生したときに、自動的に負荷テストを停止するのに便利です。たとえば、夜間に負荷テストを実行し、エラーが特定の量に達したり、CPU 使用率が特定のしきい値に達した場合に負荷テストを中止するといった目的に使用できます。
ユーザー定義のスクリプトは、com.parasoft.api.loadtester
API 経由で Load Tester と通信し、引数として LoadTestScriptArgs
および Context
を受け取り、LoadTestScriptAction
を返します。返された LoadTestScriptAction.Action_Stop
は、負荷テスト中に Load Test GUI で [停止] ボタンをクリックするのと同じ効力を持ちます。
[Load_Test/SOAtest_installation_dir]\[version
number]\examples\loadtest\LoadTesterScripting
スクリプトを使用して Load Test の停止アクションをカスタマイズするには、次の操作を行います。
- Load Test タブで [Scenarios] ノードを選択し、 GUI 右側の設定パネルで [停止設定] タブを選択します。
- [言語] ドロップダウン リストから Java、JavaScript、または Jython を選択し、スクリプトの言語を指定します。
- [実装] ボックスに実装するスクリプトを定義します。
- Java メソッドの場合、[クラス] フィールドに適切なクラスを指定します。選択したクラスはクラスパス上に存在しなければなりません。
- JavaScript および Jython スクリプトの場合、メソッドのソース コードとして既存のファイルを使用するか、Load Test 内に新しいメソッドを作成できます。
- 既存のファイルを使用するには、[ファイル] ラジオ ボタンを選択し、[参照] ボタンをクリックします。ファイル選択ダイアログでファイルを選択して [OK] をクリックし、選択を確定します。
- Load Test 内で新しくメソッドを作成するには、[テキスト] ラジオ ボタンを選択し、入力やカット&ペーストを行ってテキスト ウィンドウにコードを入力します。
- スクリプトが正しく実行可能であるかどうかを確認するには、スクリプトの指定方法に応じて [ファイル] または [テキスト] フィールドを右クリックし、ショートカット メニューの [評価] をクリックします。問題が見つかればレポートされます。
- [メソッド] ドロップダウン リストから適切な引数を選択します。このリストは、スクリプト内の定義から構成されます。スクリプトには複数の引数を含めることができるため、このメソッドで使用する引数を選択できます。
- 負荷テストを実行します。
指定したスクリプトは、負荷テスト中に 3 秒おき (負荷テストの出力が収集される周期) に呼び出されます。スクリプトで指定した条件が満たされた場合、負荷テストは停止します。スクリプトによって負荷テストが停止された場合、負荷テスト レポートに負荷テスト停止アクションのユーザー定義の説明が表示されます。スクリプトのエラーが発生した場合、負荷テスト進捗ビューの [ログ] タブにレポートされます。
マシン オプションのカスタマイズ
高スループット モードの使用
高スループットモードを使用すると、テスト対象システムに高い負荷をかけられる一方で、負荷生成に必要なハードウェア リソースを最小限に抑えることができます。
負荷テストに参加する Load Test マシンごとに高スループット モードで実行するかどうかを設定できます。高スループット モードでは、テスト レスポンスの検証および重要ではない連結ツールは無効化されます。結果として、CPU サイクルなど、負荷テストを実行するのに必要なシステム リソースは少なくなります。これにより、高スループット モードのマシンは、高い 1 秒あたりの実行率でテストを実行できます。
高スループットモードを有効にするには、[Load Test コンフィギュレーション] ツリーで個々の[Machines] ノードを選択し、[高スループット モード] オプションをオンにします。
一部のマシンで通常の検証を行い、他のマシンでは検証を行わない高スループット モードで実行するという使用方法が典型的です。検証モードで実行されるマシンは、不可ジェネレーターであると同時に、テスト結果コレクターとしても動作します。一方、未検証モードのマシンは、負荷ジェネレーターとしてだけ動作します。負荷テストが完了したら、検証モードで収集された結果を使用して、未検証モードのマリンのエラー カウント間隔が推定されます。
以下は、高スループット機能を応用するのに役立つ、典型的な質問と回答です。
どのような場合に高スループット モードを使用するべき?
目的の負荷を生成するのに十分なハードウェア リソースがない場合に高スループット モードを使用するべきです。たとえば、負荷生成マシンの CPU 使用率が 75 から 80% 以上になる場合などです。
どんなスループットの増加が期待できるか?
機能テストの構造により、スループットの増加は異なります。機能テスト設定でより多くのツールが連結されているほど、高スループットでのパフォーマンスの向上は大きくなります。
エラー推定値はどのように計算されるのか?
エラー推定値の計算は、Wilson のメソッドを使用した「二項比率信頼区間」の計算に基づいています。詳細については、以下のリンク先を参照してください。
- National Institute of Standards and Technology: http://www.itl.nist.gov/div898/handbook/prc/section2/prc241.htm
- Wikipedia: http://en.wikipedia.org/wiki/Binomial_proportion_confidence_interval
検証モードで実行するテストと、未検証モードで実行するテストの比率は、どのくらいにするべきか?
一般的に、検証モードで実行するテストが増えるほど、エラー推定結果が正確になります。経験則として、すべてのテストについて、検証モードでの実行回数は、最低でも半分程度 (40 から 60 % ) であるべきです。
複数の IP アドレスからのネットワーク トラフィックの生成
Parasoft Load Test は、仮想ユーザーで複数の IP アドレスを使用する機能があります。この IP 偽装を構成するには、次の 2 つの手順を行います。
- 以下の該当するセクションの説明に従って、負荷テスト マシンで IP エイリアスを設定します。
- の説明に従って、複数の IP アドレスを使用するよう仮想ユーザーを構成します。 Configuring Load Test Machines to use Multiple IP Addresses
サポート対象の Parasoft SOAtest コンポーネント
以下の SOAtest ツールおよびトランスポートは、複数 IP アドレス機能をサポートしています。
- SOAP Client - HTTP & HTTPS
- Messaging Client - HTTP & HTTPS
- REST Client - HTTP & HTTPS
- Browser Tool - HTTP & HTTPS
- FTP Client - FTP のみ、FTPS は非対応
- Transmit Tool
Windows の構成
Windows マシンで IP エイリアスを構成するには、次の操作を行います。
ipconfig
コマンドを使用して利用可能なネットワーク インターフェイスと、その IP アドレスおよびマスクの一覧を参照します。- DOS プロンプト ウィンドウ (DOS シェル) またはバッチ スクリプトで
netsh
コマンドを使用し、IP アドレスの追加または削除を行います。IP アドレスを追加するには、次のサンプルのように
netsh
コマンドを実行します (ネットワーク インターフェイス名、IP アドレス、マスクをユーザーの環境に合わせて変更してください)。netsh -c Interface ip add address name="Local Area Connection" addr=10.10.29.9 mask=255.0.0.0
IP アドレスを削除するには、次のサンプルのように
netsh
コマンドを実行します (ネットワーク インターフェイス名、IP アドレス、マスクをユーザーの環境に合わせて変更してください)。netsh -c Interface ip delete address name="Local Area Connection" addr=10.10.29.9
Linux の構成
Linux マシンで IP エイリアスを構成するには、次の操作を行います。
ip
コマンドを使用して、ネットワーク インターフェイスに IP アドレスを追加または削除します。
Eth0 インターフェイスに IP エイリアスを追加する場合のサンプルは次のとおりです。
# ip address add 10.10.29.9 dev eth0
次のサンプルは IP エイリアスを削除します。
# ip address del 10.10.29.9 dev eth0
複数の IP アドレスを使用するよう Load Test マシンを構成する
複数の IP アドレスを使用するよう仮想ユーザーを構成するには、次の操作を行います。
- [Load Test コンフィギュレーション] ツリーの [Machines] ノードからマシンを選択します。
- マシン設定ビューの [マシン IP 構成] パネルで [カスタム] を選択し、使用するネットワーク インターフェイスを選択します。選択されたインターフェイスのすべての IP を使用するか、特定の IP アドレスを使用するかを選択できます。
次の図のように、マシンのネットワークインターフェイスおよび IP 構成ビューが表示されます。
負荷テスト実行中に、マシンの各仮想ユーザーには、このマシンの IP アドレス リストから 1 つの IP アドレスが割り当てられます。
IP アドレスは、ラウンドロビン方式で仮想ユーザー (VU) に割り当てられます。たとえば、上の図のように、マシンの「localhost」が 2 つの IP アドレスを使用するよう構成されている場合、次の順序で IP アドレスが仮想ユーザーに割り当てられます。
- VU 1 – 10.10.201.237
- VU 2 – 10.10.201.238
- VU 3 – 10.10.201.237
- VU 4 – 10.10.201.238
仮想ユーザーに IP アドレスが割り当てられると、該当仮想ユーザーが実行するすべてのテストでその IP アドレスが使用されます。
リモート マシンの同期
Load Test で使用される SOAtest のプロジェクトに外部ファイルへの依存関係があり、負荷テストの仮想ユーザーが SOAtest のテストを実行するときに、それらのファイルが使用される場合があります。SOAtest プロジェクトのテストが正しく動作するかどうかは、それらの外部リソースが、 Load Test コントローラー マシンでも、負荷ジェネレーターを実行するリモート マシンでも利用できるかに依存します。Load Test は、外部依存ファイルをリモート マシンに転送するプロセスを自動化します。
プロジェクトが必要とするすべての外部リソースが、リモート マシンでも確実に利用できるようにする方法については、「プロジェクトの外部依存ファイルをリモートマシンに転送する」を参照してください。