Partager via


LoadTestGoalBasedLoadProfile, classe

Représente le profil de charge d'un test de charge qui a un modèle de charge en fonction des objectifs.

Hiérarchie d'héritage

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

Espace de noms :  Microsoft.VisualStudio.TestTools.LoadTesting
Assembly :  Microsoft.VisualStudio.QualityTools.LoadTestFramework (dans Microsoft.VisualStudio.QualityTools.LoadTestFramework.dll)

Syntaxe

'Déclaration
<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

Le type LoadTestGoalBasedLoadProfile expose les membres suivants.

Constructeurs

  Nom Description
Méthode publique LoadTestGoalBasedLoadProfile Initialise une nouvelle instance de la classe LoadTestGoalBasedLoadProfile.

Début

Propriétés

  Nom Description
Propriété publique CategoryName Obtient ou définit une catégorie de compteur de performance à contrôler.
Propriété publique CounterName Obtient ou définit le compteur de performance à contrôler.
Propriété publique HigherValuesBetter Affectez true à cette valeur booléenne lorsque le compteur de performance spécifié par les propriétés Category et Counter est un compteur de performance pour lequel une valeur inférieure indique l'utilisation supérieure d'une ressource.
Propriété publique InitialUserCount Obtient ou définit le nombre d'utilisateurs initial.Il s'agit du nombre d'utilisateurs virtuels exécutés au début du test de charge avant l'ajustement de la charge utilisateur, selon l'objectif spécifié.
Propriété publique InstanceName Obtient ou définit l'instance du compteur de performance à contrôler.
Propriété publique MachineName Obtient ou définit le nom de l'ordinateur à contrôler.
Propriété publique MaxTargetValue Obtient ou définit une limite supérieure à viser.La charge est augmentée ou réduite pour garder le compteur au-dessous de cette valeur.
Propriété publique MaxUserCount Obtient ou définit le nombre d'utilisateurs maximal.La charge ne peut pas dépasser cette valeur après que l'objectif a été réalisé. (Substitue LoadTestLoadProfile.MaxUserCount.)
Propriété publique MaxUserCountDecrease Obtient ou définit la quantité de réduction maximale de la charge utilisateur.
Propriété publique MaxUserCountIncrease Obtient ou définit la quantité d'augmentation maximale de la charge utilisateur.
Propriété publique MinTargetValue Obtient ou définit la limite inférieure à viser pour le modèle de charge en fonction des objectifs.
Propriété publique MinUserCount Obtient ou définit le nombre d'utilisateurs minimal.La charge ne peut pas descendre au-dessous de cette valeur pour satisfaire le but. (Substitue LoadTestLoadProfile.MinUserCount.)
Propriété publique ScenarioName Obtient ou définit le nom du scénario dans le test de charge que l'implémentation du profil de charge contrôle. (Hérité de LoadTestLoadProfile.)
Propriété publique StopAdjustingAtGoal true indique que le test doit cesser d'ajuster la charge utilisateur. false indique que tout au long du test, celui-ci doit continuer d'ajuster la charge utilisateur, si nécessaire, pour garder la valeur du compteur de performance spécifiée dans la plage cible.

Début

Méthodes

  Nom Description
Méthode publique CheckIfProfileCanBeModified Lève une exception si la propriété de profil n'est pas encore prête à être modifiée. (Hérité de LoadTestLoadProfile.)
Méthode publique Copy Retourne une copie de l'objet actuel afin qu'il puisse être modifié et assigné à la propriété LoadTestScenario.LoadProfile. (Hérité de LoadTestLoadProfile.)
Méthode publique Equals Détermine si l'objet spécifié est identique à l'objet actuel. (Hérité de Object.)
Méthode protégée Finalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publique GetHashCode Sert de fonction de hachage pour un type particulier. (Hérité de Object.)
Méthode publique GetLoad Retourne la charge utilisateur qui doit être utilisée à l'heure actuelle dans le test de charge en fonction de la valeur de elapsedSeconds depuis le début du test de charge passé en tant qu'argument. (Substitue LoadTestLoadProfile.GetLoad(Int32).)
Méthode publique GetType Obtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode protégée MemberwiseClone Crée une copie superficielle de l'objet Object actuel. (Hérité de Object.)
Méthode publique RestoreUserCountAfterRestart Restaure (après redémarrage) le nombre d'utilisateurs actuels à la valeur avant le redémarrage. (Substitue LoadTestLoadProfile.RestoreUserCountAfterRestart(Int32).)
Méthode publique ToString Retourne une chaîne qui représente l'objet actif. (Hérité de Object.)
Méthode publique Validate Lève une exception InvalidLoadProfileException si l'objet LoadProfile contient des propriétés non valides ou incohérentes.Affiche également un message approprié. (Substitue LoadTestLoadProfile.Validate().)

Début

Exemples

Dans l'exemple suivant, un plug-in de test de charge construit un objet GoadBasedLoadProfile et l'assigne à LoadTestScenario.Il assigne également une valeur pour DelayBetweenIterations à LoadTestScenario dans la méthode 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;
    }
}

Dans l'exemple suivant, un plug-in de test de charge modifie les propriétés sélectionnées d'un GoalBasedLoadProfile dans le gestionnaire HeartbeatEvent.Cette approche fonctionne uniquement si le profil de charge spécifié dans le fichier .loadtest est un modèle de charge en fonction des objectifs.

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

Sécurité des threads

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Voir aussi

Référence

Microsoft.VisualStudio.TestTools.LoadTesting, espace de noms

Autres ressources

About Load Pattern

Comment : créer un plug-in de test de charge