Compartilhar via


Emulando uso real esperado de um site ou aplicativo em um teste de carga usando modelos de combinação de testes

 

Você usa opções de modelagem de carga para prever com maior precisão o uso real esperado de um site ou aplicativo que está passando por teste de carga. É importante fazer isso porque um teste de carga não baseado em um modelo de carga preciso pode gerar resultados enganadores.

Requisitos

  • O Visual Studio Enterprise

Aprimoramentos do modelo da combinação de testes

Usando o Editor de testes de carga ou o assistente de modelo de combinação de testes, você pode especificar os seguintes tipos de combinação de testes para um cenário de teste de carga. Para obter mais informações, consulte 2e93860a-a67a-43a2-9b0a-5ec65ca6e7a7#CreatingLoadTestsUsingWizardStep2_2 e Alterando o modelo de combinação de testes em um cenário.

Você pode especificar uma das seguintes opções de modelo da combinação de testes para seu cenário de teste de carga:

  • Baseado no número total de testes: determina que teste de desempenho na Web ou teste de unidade é executado quando um usuário virtual inicia uma iteração de teste. No final do teste de carga, o número de vezes que um teste específico foi executado corresponde à distribuição de teste atribuída. Use esse modelo da combinação de testes quando você estiver baseando a combinação em porcentagens de transações em um log do IIS ou em dados de produção. Para obter mais informações, consulte Porcentagem baseada em testes iniciados.

  • Com base no número de usuários virtuais: determina a porcentagem de usuários virtuais que executarão um teste de desempenho na Web ou um teste de unidade específico. A qualquer momento do teste de carga, o número usuários que estão executando um teste específico corresponde à distribuição atribuída. Use esse modelo da combinação de testes quando você estiver baseando a combinação na porcentagem de usuários que estão executando um teste específico. Para obter mais informações, consulte Porcentagem baseada em usuários virtuais.

  • Com base no ritmo do usuário: no decorrer do teste de carga, cada teste de desempenho na Web ou teste de unidade é executado um número especificado de vezes por usuários, por hora. Use esse modelo da combinação de testes quando quiser que os usuários virtuais executem o teste em um determinado ritmo durante o teste de carga. Para obter mais informações, consulte Definindo o ritmo da combinação de testes.

    Dica

    Quando escolher Porcentagem de combinação de testes e quando escolher Porcentagem baseada em usuários virtuais?A diferença entre essas duas opções é importante quando alguns testes na combinação de testes têm uma duração muito maior do que outros testes.Nessa situação, você deve escolher provavelmente Porcentagem baseada em usuários virtuais.Essa opção ajuda a evitar um execução do teste em que aumenta a probabilidade de que muitos usuários executarão testes de longa duração.No entanto, se todos os testes tiverem durações semelhantes, você poderá escolher Porcentagem de combinação de testescom mais segurança.

  • Com base na ordem sequencial: cada usuário virtual executa os testes de desempenho na Web ou de unidade na ordem em que os testes são definidos no cenário. O usuário virtual continua a alternar entre os testes nesta ordem até que o teste de carga seja concluído. Para obter mais informações, consulte Ordem sequencial.

Porcentagem baseada em testes iniciados

Para cada teste na combinação, você pode especificar uma porcentagem que determine com que frequência o teste será selecionado como o próximo teste a ser executado. Por exemplo, você pode atribuir os seguintes valores de porcentagem a três testes:

  • TestA (50%)

  • TestB (35%)

  • TestC (15%)

Se você usar essa configuração, o próximo teste a ser iniciado será baseado nas porcentagens atribuídas. Você faz isso sem levar em conta o número de usuários virtuais que estão executando atualmente cada teste.

Porcentagem baseada em usuários virtuais

Esse modelo da combinação de testes determina a porcentagem de usuários virtuais que executarão um teste específico. Se você usar esse modelo de combinação de testes, o próximo teste a ser iniciado será baseado não apenas nas porcentagens atribuídas, mas também na porcentagem de usuários virtuais que estão executando atualmente um teste específico. A qualquer momento do teste de carga, o número usuários que estão executando um teste específico corresponde à distribuição atribuída o mais próximo possível.

Definindo o ritmo da combinação de testes

Se você especificar um ritmo para a combinação de testes, definirá uma taxa de execução de testes para cada usuário virtual para cada teste da combinação. Para cada teste, essa taxa é expressa como testes executados por usuário virtual por hora. Por exemplo, você pode atribuir o seguinte ritmo de combinação de testes para os testes a seguir:

  • TestA: 4 testes por usuário por hora

  • TestB: 2 testes por usuário por hora

  • TestC: 0,125 testes por usuário por hora

Se você usar o modelo de ritmo de combinação de testes, o mecanismo de tempo de execução do teste de carga garantirá que a taxa real em que os testes são iniciados seja menor ou igual à taxa especificada. Se a execução dos testes demorar muito para que o número atribuído seja concluído, um erro será retornado.

O processamento tempo entre iterações de teste configuração não se aplica quando você usa uma combinação de testes de adequação.

Aplicando distribuição à definição dos atrasos

O valor da propriedade de Aplicar distribuição à definição dos atrasos em um cenário de teste de carga poderá ser definida como true ou false:

  • True: o cenário aplicará atrasos de distribuição estatística típica especificados pelo valor na coluna Testes por usuário por hora na caixa de diálogo Editar Combinação de Testes. Para obter mais informações, consulte Editando modelos de combinação de texto para especificar a probabilidade de um usuário virtual executar um teste.

    Por exemplo, suponhamos que você tenha o valor de Testes por usuário por hora na caixa de diálogo Editar Combinação de Testes definido como 2 usuários por hora. Se a propriedade de Aplicar distribuição à definição dos atrasos for definida como True, uma distribuição estatística típica será aplicada ao tempo de espera entre os testes. Os testes ainda serão executados 2 vezes por hora, mas não haverá necessariamente 30 minutos entre eles. O primeiro teste pode ser executado depois de 4 minutos e o segundo teste, depois de 45 minutos.

  • False: os testes serão executados no ritmo especificado para o valor na coluna Testes por usuário por hora na caixa de diálogo Editar Combinação de Testes. Para obter mais informações, consulte Editando modelos de combinação de texto para especificar a probabilidade de um usuário virtual executar um teste.

    Por exemplo, suponhamos que você tenha o valor de Testes por usuário por hora na caixa de diálogo Editar Combinação de Testes definido como 2 usuários por hora. Se a propriedade de Aplicar distribuição à definição dos atrasos for definida como False, basicamente não haverá intervalo na execução dos testes. O teste será executado a cada 30 minutos. Isso garante que você execute 2 testes por hora.

Para obter mais informações, consulte Como aplicar distribuição à definição de atrasos durante o uso de um modelo de combinação de testes.

Ordem sequencial

Selecionar a opção Com base na ordem sequencial faz com que cada usuário virtual execute todos os testes no cenário na ordem em que os testes foram definidos.

Propriedade de iterações de teste

Nas propriedades de Configurações de Execução, você pode especificar um valor para a propriedade de iterações de teste. Esse valor é o número de iterações de teste para execução em um teste de carga. Depois que o número especificado de iterações de teste for iniciado, nenhuma iteração adicional de teste será iniciada independentemente das configurações dos perfis de carga. Depois que o número de iterações de teste especificado tiver sido concluído, o teste de carga terminará. Para obter mais informações, consulte Como especificar o número de iterações de teste em uma configuração de execução de teste de carga.

Inicializar e terminar testes

Você pode selecionar testes para execução no início e o término da sessão de teste de carga de cada usuário virtual. Para obter mais informações, consulte Editando modelos de combinação de texto para especificar a probabilidade de um usuário virtual executar um teste.

  • Teste de inicialização. Esse teste é executado por cada usuário virtual antes que qualquer um dos testes na combinação de testes seja executado.

  • Teste de encerramento. Esse teste é executado depois que todos os testes de um usuário virtual específico são executados.

Observe o seguinte sobre o teste de inicialização e o teste de encerramento:

  • Você pode especificar a duração do teste de carga por tempo em vez de por contagem de iterações. Nesse caso, quando a duração da execução do teste de carga terminar, o teste de encerramento não será executado.

  • Se o teste de inicialização for um teste de unidade ou um teste de desempenho na Web, o estado do objeto TestContext ou WebTestContext após a conclusão do teste de inicialização será salvo. Em seguida, ele será usado como o contexto inicial para iterações de testes na combinação de testes.

  • Os novos usuários, conforme definido na propriedade de Porcentagem de Novos Usuários do cenário, sempre executam o teste de inicialização, uma iteração de um teste da combinação de testes, e o teste de encerramento.

Consulte também

Editando modelos de combinação de texto para especificar a probabilidade de um usuário virtual executar um teste
Editando padrões de carga para modelar atividades de usuário virtual
Editando a combinação de testes para especificar quais testes de desempenho na Web, de unidade e de IU codificado em um cenário de teste de carga
Definindo configurações de execução do teste de carga
Carregar propriedades do cenário de teste
2e93860a-a67a-43a2-9b0a-5ec65ca6e7a7#CreatingLoadTestsUsingWizardStep2_2
2e93860a-a67a-43a2-9b0a-5ec65ca6e7a7#CreatingLoadTestsUsingWizardStep2_3
Alterando o modelo de combinação de testes em um cenário