Executar os testes automatizados a partir dos planos de teste
Serviços de DevOps do Azure | Azure DevOps Server 2022 - Azure DevOps Server 2019
Automatize casos de teste em seus planos de teste e execute-os diretamente dos Planos de Teste do Azure. Os testes automatizados oferecem os seguintes benefícios:
- Um processo amigável para testadores que podem não ser bem versados em executar testes em fluxos de trabalho de compilação ou versão.
- A flexibilidade para executar testes selecionados sob demanda, em vez de testes agendados em fluxos de trabalho de compilação ou versão, onde todos os testes que atendem aos critérios de filtro são executados.
- A capacidade de executar novamente alguns testes que falharam devido a problemas de infraestrutura de teste, ou você tem uma nova compilação que inclui correções para testes com falha.
Pré-requisitos
- Acesso ao projeto: certifique-se de que foi adicionado a um projeto.
- Níveis de acesso: certifique-se de que tem pelo menos acesso Básico ou superior.
- Para obter mais informações, consulte Acesso e permissões de teste manual.
- Você também deve ter os seguintes itens.
- Um plano de teste que contém seus testes automatizados associados a métodos de teste automatizados usando Visual Studio 2017 ou Visual Studio 2015 ou anterior.
- Um pipeline de compilação que gera compilações contendo os binários de teste.
- Um aplicativo para testar. Você pode implantar o aplicativo como parte do fluxo de trabalho de compilação e liberação e também usá-lo para testes sob demanda.
- Permissões para criar e gerenciar versões, editar um ambiente de liberação e gerenciar a implantação. Para obter mais informações, consulte Permissões de versão.
Configurar o ambiente
Na página Planos de teste, escolha seu plano de teste, abra o menu de atalho e selecione Configurações do plano de teste.
Na caixa de diálogo Configurações do plano de teste, selecione o pipeline de compilação que gera compilações que contêm os binários de teste. Em seguida, você pode selecionar um número de compilação específico para testar ou permitir que o sistema use automaticamente a compilação mais recente quando os testes forem executados.
Você precisa de um pipeline de liberação que foi criado a partir do modelo Executar testes automatizados do Gerenciador de Testes para executar testes de planos de teste nos Planos de Teste do Azure. Se você tiver um pipeline de liberação existente criado usando esse modelo, selecione-o e, em seguida, selecione o estágio existente no pipeline de liberação para a execução do teste. Caso contrário, selecione Criar novo na caixa de diálogo para criar um novo pipeline de versão que contenha um único estágio com a tarefa de teste do Visual Studio já adicionada.
Como faço para passar parâmetros para meu código de teste de um pipeline de compilação ou versão?
Atribua nomes significativos ao pipeline de liberação e ao estágio, conforme necessário.
Se o Visual Studio já estiver instalado no computador do agente, ignore esta etapa. Caso contrário, adicione a tarefa Visual Studio Test Platform Installer à definição de pipeline.
Adicione a tarefa Teste do Visual Studio ao pipeline de versão e configure-a da seguinte maneira:
Verifique se a versão 2 da tarefa Teste do Visual Studio está selecionada. O número da versão é mostrado na lista suspensa do painel de configurações de tarefas.
Verifique se Selecionar testes usando está definido como Executar teste. O que significa esta configuração?
Para a configuração de versão da plataforma de teste, selecione Instalado pelo instalador de ferramentas.
Se você tiver testes de interface do usuário executados em navegadores físicos ou clientes espessos, certifique-se de que o agente esteja configurado para ser executado como um processo interativo com logon automático habilitado. Você deve configurar um agente para ser executado interativamente antes de colocar a compilação ou liberação na fila. A caixa de seleção Test mix contains UI tests não configura o agente no modo interativo automaticamente - usado apenas como um lembrete para configurar o agente adequadamente para evitar falhas.
Se você estiver executando testes de interface do usuário em um navegador sem cabeça, a configuração do processo interativo não será necessária.
Selecione como a plataforma de teste é provisionada e a versão do Visual Studio ou o local da plataforma de teste instalada nas máquinas de teste.
Se seus testes precisarem de parâmetros de entrada, como URLs de aplicativos ou cadeias de conexão de banco de dados, selecione o arquivo de configurações relevantes nos artefatos de compilação. Você pode usar as tarefas Publicar artefatos de compilação em seu pipeline de compilação para publicar o arquivo de configurações em um local de depósito se esse arquivo não estiver incluído nos artefatos. No exemplo a seguir, a URL do aplicativo é exposta no arquivo de configurações de execução e é substituída para defini-la como uma URL de preparo usando a configuração Substituir parâmetros de execução de teste.
Para obter informações sobre as configurações de opção da tarefa de teste do Visual Studio, consulte Tarefa de teste do Visual Studio.
Escolha o item de trabalho do agente e verifique se a fila de implantação está definida como aquela que contém as máquinas nas quais você deseja executar os testes. Se os testes exigirem máquinas especiais do pool de agentes, você poderá adicionar demandas selecionadas em tempo de execução.
Talvez seja possível minimizar os tempos de teste distribuindo testes entre vários agentes, definindo Paralelismo como Várias execuções e especificando o número de agentes.
Nota
Se você estiver executando testes de interface do usuário, como CodeUI ou Selenium, em navegadores físicos, como IE, Firefox ou Chrome, o agente nas máquinas deve estar sendo executado no modo interativo e não como um serviço. Mais detalhes.
Na página Pipeline do pipeline de liberação, verifique se o pipeline de compilação que contém os binários de teste está vinculado a esse pipeline de liberação como uma fonte de artefato.
Salve o pipeline de liberação.
Se você escolher Criar novo na caixa de diálogo Configurações do plano de teste na etapa 2 deste exemplo, retorne à página do navegador que contém as configurações do plano de teste. Na caixa de diálogo Configurações do plano de teste, selecione o pipeline de liberação e o estágio salvo.
Executar os testes automatizados
No portal da Web Planos de Teste , abra o plano de teste e selecione um conjunto de testes que contenha os testes automatizados.
Selecione o(s) teste(s) que deseja executar, abra o menu Executar e, em seguida, selecione Executar teste.
Os binários de teste para esses testes devem estar disponíveis nos artefatos de compilação gerados pelo pipeline de compilação.
Selecione OK para iniciar o processo de teste. O sistema verifica se apenas os testes automatizados são selecionados (todos os testes manuais são ignorados), valida o estágio para garantir que a tarefa de teste do Visual Studio esteja presente e tenha configurações válidas, verifica a permissão do usuário para criar uma versão para o pipeline de liberação selecionado, cria uma execução de teste e, em seguida, dispara a criação de uma versão para o estágio selecionado.
Selecione Exibir execução de teste para exibir o progresso do teste e analisar os testes com falha. Os resultados do teste têm as informações relevantes para depurar testes com falha, como a mensagem de erro, rastreamento de pilha, logs de console e anexos.
Após a conclusão da execução do teste, a página Execuções dos Planos de Teste do Azure mostra os resultados do teste. A página Resumo da execução mostra uma visão geral da execução.
Há um link para a versão usada para executar os testes, o que torna mais fácil encontrar a versão que executou os testes se você precisar voltar mais tarde e analisar os resultados. Use também este link se quiser abrir a versão para visualizar os logs de versão.
Nota
A anexação manual de arquivos não é suportada para resultados de testes automatizados.
A página Resultados do teste lista os resultados de cada teste na execução do teste. Selecione um teste para ver as informações de depuração de testes com falha, como a mensagem de erro, rastreamento de pilha, logs de console e anexos.
Abra a página Planos de teste e selecione o plano de teste para ver o status dos testes se os testes forem atualizados após a conclusão da execução do teste. Selecione um teste para ver os resultados recentes do teste.
FAQ
Consulte as seguintes perguntas frequentes (FAQs) sobre os Planos de Teste do Azure.
P: De que permissões necessito para executar testes automatizados a partir dos Planos de Teste do Azure?
R: Você deve ser um Colaborador do Projeto ou ter as seguintes permissões:
- Criar versões
- Gerenciar lançamentos
- Editar fase de lançamento
- Gerenciar implantação
Para obter mais informações, consulte Permissões de versão.
P: Posso substituir a compilação ou o conjunto de estágios no nível do plano de teste para uma instância específica de execução de teste?
R: Sim, você pode fazer isso usando o comando Executar com opções . Abra o menu de atalho para o conjunto de testes na coluna da esquerda e selecione Executar com opções.
Insira os seguintes valores na caixa de diálogo Executar com opções e selecione OK:
- Tipo de teste e corredor: Selecione Testes automatizados usando o Release Stage.
- Build: Selecione a compilação que tem os binários de teste. Os resultados do teste estão associados a esta compilação.
- Release Pipeline: Selecione um pipeline na lista de pipelines de liberação que podem consumir o artefato de compilação selecionado.
- Estágio de Lançamento: Selecione o nome do estágio configurado em seu pipeline de liberação.
P: Por que usar estágios de liberação para executar testes?
R: O Azure Pipelines oferece um fluxo de trabalho de orquestração atraente para obter binários de teste como artefatos e executar testes. Esse fluxo de trabalho compartilha os mesmos conceitos usados no fluxo de trabalho de teste agendado, o que significa que os usuários que executam testes no fluxo de trabalho agendado acham fácil adaptá-lo; por exemplo, clonando um pipeline de liberação de teste agendado existente.
Outro grande benefício é a disponibilidade de um rico conjunto de tarefas no catálogo de tarefas que permitem que uma série de atividades sejam executadas antes e depois da execução de testes. Os exemplos incluem preparação e limpeza de dados de teste, criação e limpeza de arquivos de configuração e muito mais.
P: Como funciona a seleção de "Execução de teste" na tarefa de teste do Visual Studio versão 2?
R: O subsistema de gerenciamento de teste usa o objeto de execução de teste para passar na lista de testes selecionados para execução. A tarefa de teste procura o identificador de execução de teste, extrai as informações de execução de teste, como os nomes de contêiner e método de teste, executa os testes, atualiza os resultados da execução de teste e define os pontos de teste associados aos resultados de teste na execução de teste. De uma perspetiva de auditoria, a tarefa do Visual Studio fornece um rastreamento das versões históricas e dos identificadores de execução de teste para os testes que foram enviados para execução de teste sob demanda.
P: O agente deve ser executado no modo interativo ou como um serviço?
R: Se você executar testes de interface do usuário, como testes codificados de interface do usuário ou Selenium , o agente nas máquinas de teste deve estar em execução no modo interativo com logon automático habilitado, não como um serviço, para permitir que o agente inicie um navegador da Web. Se você estiver usando um navegador sem cabeça, como o PhantomJS, o agente pode ser executado como um serviço ou no modo interativo. Para obter mais informações, consulte Compilar e liberar agentes, Implantar um agente no Windows e Pools de agentes.
P: Onde posso encontrar documentação detalhada sobre como executar testes de Selenium?
R: Consulte Introdução aos testes de selênio.
P: O que acontece se eu selecionar várias configurações para o mesmo teste?
R: Atualmente, o fluxo de trabalho sob demanda não reconhece a configuração.
P: E se eu precisar baixar binários de produtos e binários de teste de compilações diferentes? Ou se eu precisar obter artefatos de uma fonte como Jenkins?
R: O recurso atual é otimizado para uma única compilação de equipe a ser testada sob demanda usando um fluxo de trabalho do Azure Pipelines. Avaliamos o suporte para versões de vários artefatos, incluindo artefatos que não são do Azure Pipelines, como Jenkins, com base nos comentários dos usuários.
P: Já tenho um pipeline de lançamento de teste agendado. Posso reutilizar o mesmo pipeline para executar o teste sob demanda ou devo criar um novo pipeline?
R: Recomendamos que você use um pipeline de liberação e um estágio separados para testes automatizados sob demanda dos Planos de Teste do Azure porque:
Talvez você não queira implantar o aplicativo toda vez que quiser executar alguns testes sob demanda. Os estágios de teste agendados geralmente são configurados para implantar o produto e, em seguida, executar testes.
Novas versões são acionadas para cada execução sob demanda. Se você tiver muitos testadores que executam algumas execuções de teste sob demanda todos os dias, seu pipeline de liberação de teste agendado pode estar sobrecarregado com versões para essas execuções, dificultando a localização de versões que acionam o pipeline que contém testes e implantação agendados para produção.
Talvez você queira configurar a tarefa de teste do Visual Studio com um identificador de execução de teste como uma entrada para que você possa rastrear o que disparou a versão. Para obter mais informações, consulte Como funciona a seleção de "Execução de teste (para execuções sob demanda)" na tarefa de teste do Visual Studio?.
P: Posso acionar essas execuções e exibir os resultados no Microsoft Test Manager?
R: Não. Microsoft Test Manager não suporta a execução de testes automatizados em compilações Team Foundation. Ele só funciona na interface baseada na Web para o Azure Pipelines. Todos os novos investimentos em desenvolvimento de produtos de teste manual e automatizado estão na interface baseada na web. Nenhum desenvolvimento adicional está planejado para o Microsoft Test Manager. Consulte Orientação sobre o uso do Microsoft Test Manager.
P: Tenho vários testadores na minha equipa. Eles podem executar testes de diferentes conjuntos de testes ou planos de teste em paralelo usando o mesmo pipeline de versão?
R: Eles podem usar o mesmo pipeline de liberação para disparar várias execuções de teste em paralelo se:
O pool de agentes associado ao estágio tem agentes suficientes para atender a solicitações paralelas. Se agentes suficientes não estiverem disponíveis, as execuções ainda podem ser acionadas, mas liberam a fila para processamento até que os agentes fiquem disponíveis.
Você tem trabalhos suficientes para habilitar trabalhos paralelos. Para obter mais informações, consulte Trabalhos paralelos no Azure Pipelines ou Trabalhos paralelos no TFS.
Os testadores não executam os mesmos testes em paralelo. Isso pode fazer com que os resultados sejam substituídos, dependendo da ordem de execução.
Para permitir que várias execuções de teste diferentes sejam executadas em paralelo, defina a opção de gatilho de estágio do Azure Pipelines para comportamento quando várias versões estiverem aguardando para serem implantadas da seguinte maneira:
Se seu aplicativo oferecer suporte a testes executados em paralelo de fontes diferentes, defina essa opção como Permitir que várias versões sejam implantadas ao mesmo tempo.
Se seu aplicativo não oferecer suporte a testes executados em paralelo de fontes diferentes, defina essa opção como Permitir apenas uma implantação ativa de cada vez.
P: Como faço para passar parâmetros para meu código de teste de um pipeline de compilação ou versão?
R: Use um arquivo runsettings para passar valores como parâmetros para seu código de teste. Por exemplo, em uma versão que contém vários estágios, você pode passar a URL do aplicativo apropriada para cada uma das tarefas de teste em cada uma delas. O arquivo runsettings e os parâmetros correspondentes devem ser especificados na tarefa Teste do Visual Studio.
P: Quais são os cenários de erro típicos ou problemas aos quais devo estar atento se os meus testes não forem executados?
R: Verifique e resolva os problemas da seguinte forma:
O pipeline de liberação e o estágio no qual quero executar testes não são mostrados depois que seleciono a compilação.
- Verifique se o pipeline de compilação que está gerando a compilação está vinculado como o artefato primário na guia Artefatos do pipeline de liberação.
Recebo um erro informando que não tenho permissão suficiente para acionar uma liberação.
- Configure as permissões Criar versões e Gerenciar implantações para o usuário no menu Segurança do pipeline de lançamento. Consulte Permissões de versão.
Recebo um erro informando que não foram encontrados testes automatizados.
- Verifique o status de automação dos testes selecionados. Faça isso no item de trabalho para o caso de teste ou use o link Opções de coluna em Planos de teste do Azure para adicionar a coluna Status de automação à lista de testes. Para obter mais informações, consulte a seção de pré-requisitos.
Meus testes não foram executados e suspeito que o pipeline de liberação esteja incorreto.
- Use o link na página Resumo da execução para acessar a instância de liberação usada para executar os testes e exibir os logs de versão.
Meus testes entram no estado de erro, ou permanecem "em andamento" mesmo depois que a liberação para o estágio é acionada.
- Verifique se o estágio de liberação selecionado tem a tarefa e a versão corretas selecionadas. Você deve usar a versão 2 ou superior da tarefa de teste do Visual Studio. A versão 1 da tarefa e a tarefa Executar testes funcionais não são suportadas.