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 | |
---|---|---|
LoadTestGoalBasedLoadProfile | Inicializa una nueva instancia de la clase LoadTestGoalBasedLoadProfile. |
Arriba
Propiedades
Nombre | Descripción | |
---|---|---|
CategoryName | Obtiene o establece la categoría de contadores de rendimiento que se va a supervisar. | |
CounterName | Obtiene o establece el contador de rendimiento que se va a supervisar. | |
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. | |
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. | |
InstanceName | Obtiene o establece la instancia del contador de rendimiento que se va a supervisar. | |
MachineName | Obtiene o establece el nombre del equipo que se va a supervisar. | |
MaxTargetValue | Obtiene o establece un límite superior de destino.La carga aumenta o disminuye para mantener el contador por debajo de este valor. | |
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). | |
MaxUserCountDecrease | Obtiene o establece la cantidad máxima en la que se reduce la carga de usuarios. | |
MaxUserCountIncrease | Obtiene o establece la cantidad máxima en la que aumenta la carga de usuarios. | |
MinTargetValue | Obtiene o establece el límite inferior de destino del modelo de carga basado en objetivos. | |
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). | |
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). | |
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 | |
---|---|---|
CheckIfProfileCanBeModified | Produce una excepción si la propiedad de perfil no está todavía lista para su modificación. (Se hereda de LoadTestLoadProfile). | |
Copy | Devuelve una copia del objeto actual para poder modificarlo y asignarlo a la propiedad LoadTestScenario.LoadProfile. (Se hereda de LoadTestLoadProfile). | |
Equals | Determina si el objeto especificado es igual al objeto actual. (Se hereda de Object). | |
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). | |
GetHashCode | Actúa como función hash para un tipo concreto. (Se hereda de Object). | |
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)). | |
GetType | Obtiene el objeto Type de la instancia actual. (Se hereda de Object). | |
MemberwiseClone | Crea una copia superficial del objeto Object actual. (Se hereda de Object). | |
RestoreUserCountAfterRestart | Restaura el recuento de usuarios actual (después del reinicio) al valor que tenía antes de reiniciar. (Invalida a LoadTestLoadProfile.RestoreUserCountAfterRestart(Int32)). | |
ToString | Devuelve una cadena que representa el objeto actual. (Se hereda de Object). | |
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)