Compartir a través de


LoadTestGoalBasedLoadProfile (Clase)

Representa el perfil de carga de una prueba de carga que tiene un modelo de carga basado en objetivos.

Jerarquía de herencia

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

Espacio de nombres:  Microsoft.VisualStudio.TestTools.LoadTesting
Ensamblado:  Microsoft.VisualStudio.QualityTools.LoadTestFramework (en Microsoft.VisualStudio.QualityTools.LoadTestFramework.dll)

Sintaxis

'Declaración
<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

El tipo LoadTestGoalBasedLoadProfile expone los siguientes miembros.

Constructores

  Nombre Descripción
Método público LoadTestGoalBasedLoadProfile Inicializa una nueva instancia de la clase LoadTestGoalBasedLoadProfile.

Arriba

Propiedades

  Nombre Descripción
Propiedad pública CategoryName Obtiene o establece la categoría de contadores de rendimiento que se va a supervisar.
Propiedad pública CounterName Obtiene o establece el contador de rendimiento que se va a supervisar.
Propiedad pública HigherValuesBetter Establezca este valor booleano en true cuando el contador de rendimiento especificado por las propiedades Category y Counter sea un contador de rendimiento en el que un valor inferior indica una mayor utilización de un recurso.
Propiedad pública InitialUserCount Obtiene o establece el número inicial de usuarios.Éste es el número de usuarios virtuales que se ejecutan al inicio de la prueba de carga antes de que se ajuste la carga de usuarios en función del objetivo especificado.
Propiedad pública InstanceName Obtiene o establece la instancia del contador de rendimiento que se va a supervisar.
Propiedad pública MachineName Obtiene o establece el nombre del equipo que se va a supervisar.
Propiedad pública MaxTargetValue Obtiene o establece un límite superior de destino.La carga aumenta o disminuye para mantener el contador por debajo de este valor.
Propiedad pública MaxUserCount Obtiene o establece el número máximo de usuarios.La carga no puede superar este valor una vez cumplido el objetivo. (Invalida a LoadTestLoadProfile.MaxUserCount).
Propiedad pública MaxUserCountDecrease Obtiene o establece la cantidad máxima en la que se reduce la carga de usuarios.
Propiedad pública MaxUserCountIncrease Obtiene o establece la cantidad máxima en la que aumenta la carga de usuarios.
Propiedad pública MinTargetValue Obtiene o establece el límite inferior de destino del modelo de carga basado en objetivos.
Propiedad pública MinUserCount Obtiene o establece el número mínimo de usuarios.La carga no puede ser inferior a este valor aunque se satisfaga el objetivo. (Invalida a LoadTestLoadProfile.MinUserCount).
Propiedad pública ScenarioName Obtiene o establece el nombre del escenario de la prueba de carga que controla la implementación del perfil de carga. (Se hereda de LoadTestLoadProfile).
Propiedad pública StopAdjustingAtGoal Si es true indica que la prueba debe dejar de ajustar la carga de usuarios. false indica que la prueba debe continuar ajustando la carga de usuarios si es necesario para mantener el valor de contador de rendimiento especificado en el intervalo de destino.

Arriba

Métodos

  Nombre Descripción
Método público CheckIfProfileCanBeModified Produce una excepción si la propiedad de perfil no está todavía lista para su modificación. (Se hereda de LoadTestLoadProfile).
Método público Copy Devuelve una copia del objeto actual para poder modificarlo y asignarlo a la propiedad LoadTestScenario.LoadProfile. (Se hereda de LoadTestLoadProfile).
Método público Equals Determina si el objeto especificado es igual al objeto actual. (Se hereda de Object).
Método protegido Finalize Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object).
Método público GetHashCode Actúa como función hash para un tipo concreto. (Se hereda de Object).
Método público GetLoad Devuelve la carga de usuarios que debe utilizarse actualmente en la prueba de carga en función del valor de elapsedSeconds desde el inicio de la prueba de carga pasado como argumento. (Invalida a LoadTestLoadProfile.GetLoad(Int32)).
Método público GetType Obtiene el objeto Type de la instancia actual. (Se hereda de Object).
Método protegido MemberwiseClone Crea una copia superficial del objeto Object actual. (Se hereda de Object).
Método público RestoreUserCountAfterRestart Restaura el recuento de usuarios actual (después del reinicio) al valor que tenía antes de reiniciar. (Invalida a LoadTestLoadProfile.RestoreUserCountAfterRestart(Int32)).
Método público ToString Devuelve una cadena que representa el objeto actual. (Se hereda de Object).
Método público Validate Produce una excepción InvalidLoadProfileException si el objeto LoadProfile tiene propiedades no válidas o incoherentes.También muestra el mensaje correspondiente. (Invalida a LoadTestLoadProfile.Validate()).

Arriba

Ejemplos

En el ejemplo siguiente, un complemento de prueba de carga crea un objeto GoadBasedLoadProfile y lo asigna a LoadTestScenario.Asigna también un valor de DelayBetweenIterations a LoadTestScenario en el método Initialize().

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;
    }
}

En el ejemplo siguiente, un complemento de prueba de carga modifica algunas propiedades de GoalBasedLoadProfile en el controlador HeartbeatEvent.Este enfoque sólo funciona si el perfil de carga especificado en el archivo .loadtest es un modelo de carga basado en objetivos.

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;
        }
    }
}

Seguridad para subprocesos

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Vea también

Referencia

Microsoft.VisualStudio.TestTools.LoadTesting (Espacio de nombres)

Otros recursos

About Load Pattern

Cómo: Crear un complemento de pruebas de carga