次の方法で共有


LoadTestGoalBasedLoadProfile クラス

ゴール志向ロード パターンを持つロード テストの負荷プロファイルを表します。

継承階層

System.Object
  Microsoft.VisualStudio.TestTools.LoadTesting.LoadTestLoadProfile
    Microsoft.VisualStudio.TestTools.LoadTesting.LoadTestGoalBasedLoadProfile

名前空間:  Microsoft.VisualStudio.TestTools.LoadTesting
アセンブリ:  Microsoft.VisualStudio.QualityTools.LoadTestFramework (Microsoft.VisualStudio.QualityTools.LoadTestFramework.dll 内)

構文

'宣言
<SerializableAttribute> _
Public Class LoadTestGoalBasedLoadProfile _
    Inherits LoadTestLoadProfile
[SerializableAttribute]
public class LoadTestGoalBasedLoadProfile : LoadTestLoadProfile
[SerializableAttribute]
public ref class LoadTestGoalBasedLoadProfile : public LoadTestLoadProfile
[<SerializableAttribute>]
type LoadTestGoalBasedLoadProfile =  
    class
        inherit LoadTestLoadProfile
    end
public class LoadTestGoalBasedLoadProfile extends LoadTestLoadProfile

LoadTestGoalBasedLoadProfile 型で公開されるメンバーは以下のとおりです。

コンストラクター

  名前 説明
パブリック メソッド LoadTestGoalBasedLoadProfile LoadTestGoalBasedLoadProfile クラスの新しいインスタンスを初期化します。

このページのトップへ

プロパティ

  名前 説明
パブリック プロパティ CategoryName 監視するパフォーマンス カウンターのカテゴリを取得または設定します。
パブリック プロパティ CounterName 監視するパフォーマンス カウンターを取得または設定します。
パブリック プロパティ HigherValuesBetter Category プロパティおよび Counter プロパティによって指定されたパフォーマンス カウンターが、値が低いほどリソースの使用率が高いことを示すパフォーマンス カウンターの場合、このブール値を true に設定します。
パブリック プロパティ InitialUserCount 初期のユーザー カウントを取得または設定します。これは、指定されたゴールに基づいてユーザー ロードが調整される前に、ロード テストの開始時に実行される仮想ユーザーの数です。
パブリック プロパティ InstanceName 監視するパフォーマンス カウンター インスタンスを取得または設定します。
パブリック プロパティ MachineName 監視するコンピューターの名前を取得または設定します。
パブリック プロパティ MaxTargetValue 対象とする値の上限を取得または設定します。カウンターがこの値を超えないようにロードが増減します。
パブリック プロパティ MaxUserCount 最大ユーザー カウントを取得または設定します。ゴールが達成された後で、ロードはこの値を超えることができません。 (LoadTestLoadProfile.MaxUserCount をオーバーライドします。)
パブリック プロパティ MaxUserCountDecrease ユーザー ロードを削減する最大量を取得または設定します。
パブリック プロパティ MaxUserCountIncrease ユーザー ロードを増やす最大量を取得または設定します。
パブリック プロパティ MinTargetValue ゴール志向ロード パターンで対象とする値の下限を取得または設定します。
パブリック プロパティ MinUserCount 最小ユーザー カウントを取得または設定します。ゴールが達成された後でも、ロードはこの値を下回ることができません。 (LoadTestLoadProfile.MinUserCount をオーバーライドします。)
パブリック プロパティ ScenarioName 負荷プロファイル実装が制御するロード テストのシナリオ名を取得または設定します。 (LoadTestLoadProfile から継承されます。)
パブリック プロパティ StopAdjustingAtGoal true は、テストでユーザー ロードの調整を停止する必要があることを示します。 false は、指定されたパフォーマンス カウンターの値を対象範囲内に保つ必要がある場合に、テストの実行中にユーザー ロードを継続的に調整することを意味します。

このページのトップへ

メソッド

  名前 説明
パブリック メソッド CheckIfProfileCanBeModified プロファイル プロパティがまだ変更できない状態である場合に、例外をスローします。 (LoadTestLoadProfile から継承されます。)
パブリック メソッド Copy 現在のオブジェクトを変更して LoadTestScenario.LoadProfile プロパティに割り当てることができるように、そのオブジェクトのコピーを返します。 (LoadTestLoadProfile から継承されます。)
パブリック メソッド Equals 指定のオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (Object から継承されます。)
プロテクト メソッド Finalize オブジェクトがガベージ コレクションにより収集される前に、そのオブジェクトがリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
パブリック メソッド GetHashCode 特定の型のハッシュ関数として機能します。 (Object から継承されます。)
パブリック メソッド GetLoad ロード テストの現時点で使用するユーザー ロードを、引数として渡されたロード テストの開始からの elapsedSeconds の値に基づいて返します。 (LoadTestLoadProfile.GetLoad(Int32) をオーバーライドします。)
パブリック メソッド GetType 現在のインスタンスの Type を取得します。 (Object から継承されます。)
プロテクト メソッド MemberwiseClone 現在の Object の簡易コピーを作成します。 (Object から継承されます。)
パブリック メソッド RestoreUserCountAfterRestart 現在 (再起動後) のユーザー数を、再起動前の値に復元します。 (LoadTestLoadProfile.RestoreUserCountAfterRestart(Int32) をオーバーライドします。)
パブリック メソッド ToString 現在のオブジェクトを表す文字列を返します。 (Object から継承されます。)
パブリック メソッド Validate LoadProfile オブジェクトに有効ではないプロパティまたは整合性のないプロパティがある場合に、InvalidLoadProfileException をスローします。また、状況に応じたメッセージも表示します。 (LoadTestLoadProfile.Validate() をオーバーライドします。)

このページのトップへ

次の例では、ロード テスト プラグインが GoadBasedLoadProfile オブジェクトを構築し、それを LoadTestScenario に割り当てます。また、Initialize() メソッドで DelayBetweenIterations の値も LoadTestScenario に割り当てます。

using Microsoft.VisualStudio.TestTools.LoadTesting;
public class LoadTestPluginInitChangeProfile : ILoadTestPlugin
{
    public void Initialize(LoadTest loadTest)
    {
        LoadTestGoalBasedLoadProfile goalLoadProfile = new LoadTestGoalBasedLoadProfile();
        goalLoadProfile.MachineName = Environment.MachineName;
        goalLoadProfile.CategoryName = "Processor";
        goalLoadProfile.CounterName = "% Processor Time";
        goalLoadProfile.InstanceName = "_Total";
        goalLoadProfile.InitialUserCount = 5;
        goalLoadProfile.MinUserCount = 1;
        goalLoadProfile.MaxUserCount = 100;
        goalLoadProfile.MaxUserCountIncrease = 10;
        goalLoadProfile.MaxUserCountDecrease = 5;
        goalLoadProfile.MinTargetValue = 20;
        goalLoadProfile.MaxTargetValue = 25;

        // This example assumes that there is only one scenario
        loadTest.Scenarios[0].LoadProfile = goalLoadProfile;
        loadTest.Scenarios[0].DelayBetweenIterations = 5;
    }
}

次の例では、ロード テスト プラグインが HeartbeatEvent ハンドラーで GoadBasedLoadProfile の選択されたプロパティを変更します。この方法は、.loadtest ファイルに指定された負荷ファイルがゴール志向ロード パターンの場合にのみ有効です。

using Microsoft.VisualStudio.TestTools.LoadTesting;

public class LoadTestPluginChangeGoal : ILoadTestPlugin
{
    private LoadTest m_loadTest;
    private LoadTestScenario m_scenario1;
    private bool m_goalChanged;

    public void Initialize(LoadTest loadTest)
    {
        m_loadTest = loadTest;
        // This example assume there is only one scenario
        m_scenario1 = loadTest.Scenarios[0];
        m_loadTest.Heartbeat += new   EventHandler<HeartbeatEventArgs>(m_loadTest_Heartbeat);
    }

    void m_loadTest_Heartbeat(object sender, HeartbeatEventArgs e)
    {
        if (e.ElapsedSeconds >= 60 && !m_goalChanged)
        {
            LoadTestGoalBasedLoadProfile goalLoadProfile = 
                m_scenario1.LoadProfile.Copy() 
                    as LoadTestGoalBasedLoadProfile;
            goalLoadProfile.MinTargetValue = 50;
            goalLoadProfile.MaxTargetValue = 60;
            m_scenario1.LoadProfile = goalLoadProfile;
            m_goalChanged = true;
        }
    }
}

スレッド セーフ

この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

参照

関連項目

Microsoft.VisualStudio.TestTools.LoadTesting 名前空間

その他の技術情報

About Load Pattern

方法 : ロード テスト プラグインを作成する