Usando testes de interface do usuário codificados em testes de carga
Para determinar quanto seu software responde a vários níveis de uso, você conduz testes de carga.Um teste de carregamento o uso de padrões esperado de um programa de software simulando vários usuários que acessam o programa ao mesmo tempo.Para mais informações, consulte Criando e editando testes de carga.
Teste de carregamento consiste basicamente em uma série de teste de desempenho da Web ou de testes de unidade que operam em vários usuários simulados durante um período de tempo.Teste de carregamento também podem incluir testes automatizados codificados de interface do usuário.A inclusão de teste codificados de interface do usuário só deve ser feita em condições específicas.Todos os cenários que usam interface do usuário codificado testam sobre testes de carregamento envolvem usar os testes codificados de interface de usuário como teste de desempenho.Isso pode ser útil porque os testes codificados de interface do usuário deixe capturar o desempenho na camada de interface do usuário.Por exemplo, se você tiver um aplicativo que usa 1 segundo para retornar dados para o cliente mas 8 segundos processar os dados no navegador, você não pode capturar esse tipo de problemas de desempenho usando um teste de desempenho da Web.
Outro cenário para usar um teste codificados de interface do usuário em um teste de carregamento é se você tiver um aplicativo que é difícil para o script na camada de protocolo.Em esse caso, você pode considerar temporariamente levar a carga usando interface do usuário codificado até que você possa corretamente script a camada de protocolo.
Requisitos
- Visual Studio Ultimate
Implementando o código para medidas de tempo em testes codificados de interface de usuário
Por padrão, não obterá medidas exatas de temporização de um teste codificado de interface do usuário que é usado em testes de carregamento porque são chamadas assíncronas.Você deve implementar seus testes codificados de interface do usuário corretamente para obter medidas exatas de tempo.Isso pode ser feito usando o método de WaitForControlReady .Os seguintes trechos de código de este exemplo demonstra para uma página de logon.
Observação |
---|
Este é um exemplo simplificado.Um teste real também precisará tratar o controle de tempo se o logon falhou. |
Para implementar corretamente um teste codificado de interface de usuário usado em um teste de carregamento
Hora quanto demora para carregar a página de login.
TestContext.BeginTimer("UI Login Page Load");
Esta chamada carrega a página de login.
UIMap.LoginPage();
Qualquer controle de tempo recolhido um teste na Web deve usar WaitForReady.Isso esperará até que o formulário seja exibido.
UIMap.UIHttpteamtestweb1STORWindow1.UIHttpteamtestweb1STORDocument.UIEmailEdit.WaitForControlReady(); TestContext.EndTimer("UI Login Page Load");
Cuidado Certifique-se de que o tempo gasto preencher para fora o formulário não estão incluídos no timer.A o registrar, gerar código de registrador após preenchê para fora o formulário, mas antes de enviar a ele.
Essa função preenche o formulário de logon.
UIMap.FilledInLoginForm();
Cronometra a operação de logon
TestContext.BeginTimer("UI Login"); UIMap.LoggedIn();
Qualquer controle de tempo recolhido um teste na Web deve usar WaitForReady.Isso espera até que a página de confirmação de logon seja exibida.
UIMap.UIHttpteamtestweb1STORWindow.UIHttpteamtestweb1STORDocument.UIWelcomeJamesBondwellPane.WaitForControlReady(); TestContext.EndTimer("UI Login");
Limitações codificados de teste de interface do usuário em testes de carregamento
Os testes codificados de interface do usuário resultam no mouse e teclado.Portanto, apenas 1 usuário virtual pode executar testes codificados de interface de usuário do agente.A melhor maneira para controlar isto é configurar um cenário separado no teste de carga, e defina o carregamento de usuário para 1 usuário.Se você tiver mais de um teste de interface do usuário, configure a mistura de teste como seqüencial.Para obter mais informações, consulte Criar cenários adicionais para um teste de carga existente e Editar modelos de mistura de texto para especificar a probabilidade de um usuário Virtual executando um teste.
Você também precisará configurar os agentes de carregamento para executar como um processo interativo em vez de como um serviço.Para mais informações, consulte Instalação e configuração de agentes de teste e controladores de teste.
Recursos externos
Orientação
Teste para entrega contínuo com Visual Studio 2012 – capítulo 6: Uma caixa de ferramentas de teste
Consulte também
Referência
Conceitos
Testando a interface de usuário com testes de interface codificada automatizados