方法: ループを Web パフォーマンス テスト要求に追加する
このトピックの内容は、次の製品に該当します。
Visual Studio Ultimate |
Visual Studio Premium |
Visual Studio Professional |
Visual Studio Express |
---|---|---|---|
テストを簡略化するために、ループのロジックを Web パフォーマンス テストまたは Web 要求に追加できます。 条件付き規則およびプロパティを割り当てることで、Web 要求を複数回実行して、指定された条件を満たすかどうかを検証できます。 たとえば、コンテキスト パラメーターの値がゼロより大きいなどの数値比較を満たすかどうかを検証するための、数千回実行するループ条件を作成できます。
ループの使用に関する考慮事項
Web パフォーマンス テストまたは Web パフォーマンス テストを利用するロード テストでループを使用する場合は、次のような問題が発生する可能性があることを考慮してください。
Web パフォーマンス テストをそれ自体で実行する場合、つまり、ロード テスト内で実行しない場合、Web テスト結果全体はメモリに保持されます。 したがって、イテレーションの多いループが含まれている Web パフォーマンス テストは、多くのメモリを消費する場合があります。
ロード テストでこの Web パフォーマンス テストを実行する場合に、テストの実行時間が長いと、ロード テストのテスト ミックスに影響を及ぼします。 ロード テスト エンジンは、Web パフォーマンス テストの実行を 1 回のイテレーションとして扱います。 実際に、Web パフォーマンス テストで多くのイテレーションを実行すると、最適なミックスを得ることができません。
一般に、Web パフォーマンス テストのイテレーションは、1 人のユーザーがある場所で何らかの行動をする際のモデルとなる必要があります。 ユーザーの中には、1 回のセッションの買い物の間に、複数の品を買い物カゴに入れる人がいるかもしれませんが、それによってモデルが歪むことはありません。 . ただし、1 人のユーザーがループを何百回も行う場合は、ループを使用しないことをお勧めします。 その代わりに、ロード エンジンでそのユーザーを何百回もスケジュール設定します。 可能であれば、ループで使用するイテレーションは 10 回未満にしてください。
ループへの条件付き規則と項目の追加
注意
分岐条件付きロジックを追加することもできます。このロジックは、Web パフォーマンス テスト内の条件が true か false かを検証します。 詳細については、「方法: Web パフォーマンス テスト要求に "If Then" 分岐条件を追加する」を参照してください。
条件付き規則を含むループを挿入するには
テスト プロジェクトを含むソリューションを開き、テスト プロジェクトに Web パフォーマンス テストが含まれていることを確認します。 次に、Web パフォーマンス テストを開きます。
ループを挿入する Web パフォーマンス テストまたは Web 要求を選択します。 右クリックし、[ループの挿入] を選択します。
[条件付き規則と項目をループに追加] ダイアログ ボックスで、[規則の選択] からループで使用する条件付き規則のタイプを選択します。 次の表に、使用できる各種条件付き規則とそれらに関連するプロパティの説明を示します。
次に、[選択された規則のプロパティ] で、必要なプロパティ設定を指定します。
たとえば、ループ カウント規則を選択し、[反復処理回数] プロパティ値を 10000 に設定します。 その結果、指定された Web 要求が 10,000 回実行されます。
[イテレーションの最大数] プロパティは、既定値 (-1) に設定されます。 この値は、無限ループを防ぐためのフェールセーフとして設定できます。 -1 に設定すると、イテレーションの最大回数は指定されません。
注意
条件付き規則とそれらに関連するプロパティの説明は、[条件付き規則と項目をループに追加] ダイアログ ボックスにも表示されます。 [プロパティ ウィンドウ] の場合と同様に、[条件付き規則と項目をループに追加] ダイアログ ボックスにあるプロパティ ツール バーのボタンを使用することで、プロパティを [項目別]、[アルファベット順]、および [プロパティ ページ] を基準に並べ替えることができます。
条件付き規則および関連するプロパティ
条件付き規則
規則の説明
プロパティ
[コンテキスト パラメーターあり]
コンテキスト パラメーターの有無を確認します。
[コンテキスト パラメーター名]
[有無の確認]
[Cookie あり]
Cookieの有無を確認します。
[Web ページ URI]
[Cookie 名]
[有無の確認]
[Cookie ドメイン名 (オプション)]
[Cookie パス (オプション)]
[Cookie の値比較]
提供された文字列が指定された Cookie の値と一致すると、条件が満たされます。
[Web ページ URI]
[Cookie 名]
[比較演算子]
値
[大文字と小文字を区別しない]
[正規表現を使用する]
[Cookie ドメイン名 (オプション)]
[Cookie パス (オプション)]
[for ループ]
規則は、従来の "for" ループを表します。 コンテキスト パラメーターは、最初のループ反復前に初期化されます。 コンテキスト パラメーターの内容が指定された値との比較で一致するときに、ループ ステートメントが実行されます。 各ループ反復の最後でステップ値が適用されます。
[コンテキスト パラメーター名]
[比較演算子]
[終了値]
[初期の値]
[増分値]
[数値比較]
提供されたコンテキスト パラメーターの内容が指定された値との数値比較で一致すると、条件が満たされます。
[コンテキスト パラメーター名]
[比較演算子]
値
[確率規則]
指定された割合 (パーセンテージ) に基づいて、条件が満たされていると見なされます。
[コンテキスト パラメーター名]
[パーセンテージ]
[カウンティング ループ]
指定された回数でループに含まれている要求を実行します。
[コンテキスト パラメーター名]
[反復処理回数]
[文字列比較]
提供された文字列が提供されたコンテキスト パラメーターの内容と一致すると、条件が満たされます。
[コンテキスト パラメーター名]
[比較演算子]
値
[大文字と小文字を区別しない]
[正規表現を使用する]
[ループの項目数] で、[ループの最初の項目を選択する] の下にあるドロップダウン リストを使用して、ループで使用する最初の項目を指定します。
[ループの最後の項目を選択する] の下にあるドロップダウン リストをクリックし、ループで使用する最後の項目を指定します。
[OK] をクリックします。
[条件付き規則と項目をループに追加] ダイアログ ボックスを閉じると、Web テスト エディターにループがアイコンで示されます。
注意
その後、Web テスト エディターでループを選択し、[プロパティ ウィンドウ] を使用することにより、規則で指定したプロパティ設定を編集できます。
参照
処理手順
方法: Web パフォーマンス テスト エディターを使用して既存の Web パフォーマンス テストを編集する
その他の技術情報
Web パフォーマンス テストの Web 要求へのループおよび分岐ロジックの追加