Partilhar via


Classe LoadTestGoalBasedLoadProfile

Representa o perfil de carga de um teste de carga que tem um padrão de carga baseado em objetivo.

Hierarquia de herança

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

Namespace:  Microsoft.VisualStudio.TestTools.LoadTesting
Assembly:  Microsoft.VisualStudio.QualityTools.LoadTestFramework (em Microsoft.VisualStudio.QualityTools.LoadTestFramework.dll)

Sintaxe

'Declaração
<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

O tipo LoadTestGoalBasedLoadProfile expõe os membros a seguir.

Construtores

  Nome Descrição
Método público LoadTestGoalBasedLoadProfile Inicializa uma nova instância da classe LoadTestGoalBasedLoadProfile.

Início

Propriedades

  Nome Descrição
Propriedade pública CategoryName Obtém ou define uma categoria de contador de desempenho para monitorar.
Propriedade pública CounterName Obtém ou define o contador de desempenho para monitorar.
Propriedade pública HigherValuesBetter Defina este valor booleano para true quando o contador de desempenho que é especificado pelas propriedades de categoria e o contador é um contador de desempenho para o qual um valor mais baixo indica um maior uso de um recurso.
Propriedade pública InitialUserCount Obtém ou define a contagem inicial do usuário.Este é o número de usuários virtuais para executar no início do teste de carga antes que a carga de usuário é ajustada com base na meta especificada.
Propriedade pública InstanceName Obtém ou define a instância do contador de desempenho para monitorar.
Propriedade pública MachineName Obtém ou define o nome do computador para monitorar.
Propriedade pública MaxTargetValue Obtém ou define um limite superior para o destino.Carga é aumentada ou diminuída para manter o contador abaixo desse valor.
Propriedade pública MaxUserCount Obtém ou define a contagem máxima de usuário.A carga não pode exceder a esse valor após a meta for atingida. (Substitui LoadTestLoadProfile.MaxUserCount.)
Propriedade pública MaxUserCountDecrease Obtém ou define o valor máximo pelo qual reduzir a carga do usuário.
Propriedade pública MaxUserCountIncrease Obtém ou define o valor máximo pelo qual aumentar a carga de usuário.
Propriedade pública MinTargetValue Obtém ou define o limite inferior para o destino para o padrão de carga baseado em objetivo.
Propriedade pública MinUserCount Obtém ou define a contagem mínima do usuário.A carga possível ficar abaixo desse valor, mesmo para satisfazer a meta. (Substitui LoadTestLoadProfile.MinUserCount.)
Propriedade pública ScenarioName Obtém ou define o nome do cenário no teste de carga que está controlando a implementação do perfil de carga. (Herdado de LoadTestLoadProfile.)
Propriedade pública StopAdjustingAtGoal true indica que o teste deve parar ajuste de carga de usuário.falseindica que o teste deve continuar ajustar a carga de usuários em todo o teste se o que é necessário para manter o valor do contador de desempenho especificado do intervalo de destino.

Início

Métodos

  Nome Descrição
Método público CheckIfProfileCanBeModified Lança uma exceção se a propriedade de perfil ainda não está pronta para ser modificada. (Herdado de LoadTestLoadProfile.)
Método público Copy Retorna uma cópia do objeto atual para que possa ser modificado e atribuído ao LoadTestScenario.LoadProfile propriedade. (Herdado de LoadTestLoadProfile.)
Método público Equals Determina se o especificado Object é igual a atual Object. (Herdado de Object.)
Método protegido Finalize Permite que um objeto tentar liberar recursos e executar outras operações de limpeza antes que ele é recuperado pela coleta de lixo. (Herdado de Object.)
Método público GetHashCode Serves as a hash function for a particular type. (Herdado de Object.)
Método público GetLoad Retorna a carga de usuário deve ser usada no momento no teste de carga com base no valor elapsedSeconds desde o início do teste de carga, o que é passado como um argumento. (Substitui LoadTestLoadProfile.GetLoad(Int32).)
Método público GetType Obtém o Type da instância atual. (Herdado de Object.)
Método protegido MemberwiseClone Cria uma cópia superficial do atual Object. (Herdado de Object.)
Método público RestoreUserCountAfterRestart Restaura a contagem de usuário atuais (após reiniciar) para o valor que tinha antes da reinicialização. (Substitui LoadTestLoadProfile.RestoreUserCountAfterRestart(Int32).)
Método público ToString Retorna um string que representa o objeto atual. (Herdado de Object.)
Método público Validate Lança um InvalidLoadProfileException se o objeto LoadProfile tem propriedades que são inconsistentes ou não é válido.Ele também exibe uma mensagem apropriada. (Substitui LoadTestLoadProfile.Validate().)

Início

Exemplos

No exemplo a seguir, um plug-in de teste de carga constrói um objeto GoadBasedLoadProfile e atribui a ele o LoadTestScenario. Ele também atribui um valor para DelayBetweenIterations para o LoadTestScenario no 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;
    }
}

No exemplo a seguir, um plug-in de teste de carga modifica as propriedades selecionadas de um GoalBasedLoadProfile no manipulador de HeartbeatEvent. Essa abordagem funciona somente se o perfil de carga que está especificado no arquivo LoadTest é um padrão de carga baseado em objetivo.

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

Acesso thread-safe

Quaisquer membros static (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Consulte também

Referência

Namespace Microsoft.VisualStudio.TestTools.LoadTesting

Outros recursos

About Load Pattern

Como: Create a Load Test Plug-in