Executar testes automatizados do plano de teste
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Automatize casos de teste em seus planos de teste e execute-os diretamente do Azure Test Plans . Os testes automatizados oferecem os seguintes benefícios:
- Um processo fácil de usar para testadores que podem não ser bem versados na execução de testes em fluxos de trabalho de Build ou Release.
- A flexibilidade para executar testes selecionados sob demanda, em vez de testes agendados em fluxos de trabalho de Build ou Versão em que 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 um novo build que inclui correções para testes com falha.
Pré-requisitos
- Acesso ao projeto: verifique se você foi adicionado a um projeto.
- Níveis de acesso: verifique se você 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 o Visual Studio 2017 ou o Visual Studio 2015 ou anterior.
- Um pipeline de build que gera builds que contêm os binários de teste.
- Um aplicativo a ser testado. Você pode implantar o aplicativo como parte do fluxo de trabalho de build e lançamento e também usá-lo para testes sob demanda.
- Permissões para criar e gerenciar versões, editar um ambiente de versão e gerenciar a implantação. Para obter mais informações, consulte Permissões de versão.
Configure seu 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 build que gera builds que contêm os binários de teste. Em seguida, você pode selecionar um número de build específico para testar ou permitir que o sistema use automaticamente o build mais recente quando os testes forem executados.
Você precisa de um pipeline de lançamento que foi criado a partir do modelo Executar testes automatizados do Test Manager para executar testes de planos de teste no Azure Test Plans. Se você tiver um pipeline de lançamento existente criado usando esse modelo, selecione-o e, em seguida, selecione o estágio existente no pipeline de lançamento para a execução do teste. Caso contrário, selecione Criar novo na caixa de diálogo para criar um novo pipeline de lançamento que contenha um único estágio com a tarefa de teste do Visual Studio já adicionada.
Como fazer passar parâmetros para meu código de teste de um pipeline de build ou lançamento?
Atribua nomes significativos ao pipeline de lançamento 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 Instalador da Plataforma de Teste do Visual Studio à definição do pipeline.
Adicione a tarefa Teste do Visual Studio ao pipeline de lançamento 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 da tarefa.
Verifique se Selecionar testes usando está definido como Execução de teste. O que essa configuração significa?
Para a configuração Testar versão da plataforma , selecione Instalado pelo Instalador de Ferramentas.
Se você tiver testes de interface do usuário executados em navegadores físicos ou clientes de espessura, certifique-se de que o agente esteja definido para ser executado como um processo interativo com o logon automático ativado. Você deve configurar um agente para ser executado interativamente antes de enfileirar a compilação ou versão. A caixa de seleção Combinação de testes de interface do usuário 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 periféricos, 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 nos computadores de teste.
Se os testes precisarem de parâmetros de entrada , como URLs de aplicativo ou cadeias de conexão de banco de dados, selecione o arquivo de configurações relevante nos artefatos de build. Você pode usar as tarefas Publicar artefatos de build em seu pipeline de build para publicar o arquivo de configurações em um local de descarte 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 Teste do Visual Studio, consulte Tarefa de teste do Visual Studio.
Escolha o item de trabalho do Agent e verifique se a fila de implantação está definida como aquela que contém os computadores em que você deseja executar os testes. Se seus testes exigirem computadores especiais do pool de agentes, você poderá adicionar demandas selecionadas em runtime.
Você pode 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.
Observação
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 deverá estar sendo executado no modo interativo e não como um serviço. Mais detalhes.
Na página Pipeline do pipeline de lançamento, verifique se o pipeline de build que contém os binários de teste está vinculado a esse pipeline de lançamento como uma origem de artefato.
Salve o pipeline de lançamento.
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 lançamento e o estágio salvos.
Executar os testes automatizados
No portal da Web do Test Plans, abra o plano de teste e selecione um conjunto de testes que contém os testes automatizados.
Selecione os testes que deseja executar, abra o menu Executar e selecione Executar teste.
Os binários de teste para esses testes devem estar disponíveis nos artefatos de build gerados pelo pipeline de build.
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 lançamento 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 depuração de 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 do Azure Test Plans 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 facilita a localização da 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 exibir os logs de versão.
Observação
Não há suporte para a anexação manual de arquivos para resultados de teste automatizados.
A página Resultados do teste lista os resultados de cada teste na execução do teste. Selecione um teste para ver informações de depuração para testes com falha, como a mensagem de erro, rastreamento de pilha, logs de console e anexos.
Abra a página Test Plans e selecione o plano de teste para ver a status de seus 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.
Perguntas frequentes
Consulte as perguntas frequentes a seguir sobre os Planos de Teste do Azure.
P: Quais permissões preciso para executar testes automatizados de Azure Test Plans?
R: Você deve ser um Colaborador do Projeto ou ter as seguintes permissões:
- Criar versões
- Gerenciar versões
- Editar estágio de lançamento
- Gerenciar Implantação
Para obter mais informações, consulte Permissões de versão.
P: Posso substituir o build ou o estágio definido no nível do plano de teste para uma instância específica da execução de teste?
Um: Sim, você pode fazer isso usando o comando Executar com opções . Abra o menu de atalho para a suíte de testes na coluna 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 executor: selecione Testes automatizados usando o Estágio de Versão.
- Build: selecione o build que tem os binários de teste. Os resultados do teste estão associados a essa compilação.
- Pipeline de Lançamento: selecione um pipeline na lista de pipelines de lançamento que podem consumir o artefato de build selecionado.
- Estágio de Lançamento: selecione o nome do estágio configurado no pipeline de lançamento.
P: Por que usar estágios de versão para executar testes?
Um: 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 se adaptar; por exemplo, clonando um pipeline de lançamento de teste agendado existente.
Outro grande benefício é a disponibilidade de um conjunto avançado de tarefas no catálogo de tarefas que permitem que uma variedade de atividades seja executada antes e depois de executar testes. Exemplos incluem preparar e limpar dados de teste, criar e limpar arquivos de configuração e muito mais.
P: Como funciona a seleção de "Execução de teste" na tarefa 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 pesquisa o identificador de execução de teste, extrai as informações de execução de teste, como os nomes do contêiner e do método de teste, executa os testes, atualiza os resultados da execução do teste e define os pontos de teste associados aos resultados do teste na execução do teste. De uma perspectiva 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 de interface do usuário codificados ou Selenium , o agente nas máquinas de teste deverá estar sendo executado no modo interativo com o 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 headless, como o PhantomJS, o agente poderá ser executado como um serviço ou no modo interativo. Para obter mais informações, consulte Agentes de build e versão, Implantar um agente no Windows e Pools de agentes.
P: Onde posso encontrar uma documentação detalhada sobre como executar testes do Selenium?
Um: Confira Introdução ao teste do Selenium.
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 testar binários de diferentes builds? Ou se eu precisar obter artefatos de uma fonte como Jenkins?
Um: A funcionalidade atual é otimizada para que um único build de equipe seja testado 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 o Jenkins, com base nos comentários do usuário.
P: Eu 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?
Um: Recomendamos que você use um pipeline de lançamento separado e um estágio para testes automatizados sob demanda de Azure Test Plans porque:
Talvez você não queira implantar o aplicativo toda vez que quiser executar alguns testes sob demanda. Os estágios de teste agendados normalmente são configurados para implantar o produto e, em seguida, executar testes.
Novas versões são disparadas 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 lançamento de teste agendado poderá estar sobrecarregado com versões para essas execuções, dificultando a localização de versões que disparam para o pipeline que contém testes agendados e implantação na 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 Teste do Visual Studio?.
P: Posso disparar essas execuções e exibir os resultados no Microsoft Test Manager?
R: Não. O Microsoft Test Manager não dá suporte à execução de testes automatizados em builds do Team Foundation. Ele só funciona na interface baseada na Web para 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 Diretrizes sobre o uso do Microsoft Test Manager.
P: Tenho vários testadores na minha equipe. Eles podem executar testes de diferentes conjuntos de testes ou planos de teste em paralelo usando o mesmo pipeline de lançamento?
Um: Eles podem usar o mesmo pipeline de lançamento 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 poderão ser acionadas, mas liberarão a fila para processamento até que os agentes estejam 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 habilitar várias execuções de teste diferentes a serem 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 o aplicativo der suporte a testes em execução em paralelo de fontes diferentes, defina essa opção como Permitir que várias versões sejam implantadas ao mesmo tempo.
Se o aplicativo não der suporte a testes executados em paralelo de fontes diferentes, defina essa opção como Permitir apenas uma implantação ativa por vez.
P: Como fazer passar parâmetros para meu código de teste de um pipeline de build ou lançamento?
R: Use um arquivo runsettings para passar valores como parâmetros para o 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 ou problemas de erro típicos que devo procurar se meus testes não forem executados?
Um: Verifique e resolve problemas da seguinte maneira:
O pipeline de lançamento e o estágio em que desejo executar testes não são mostrados depois que seleciono o build.
- Verifique se o pipeline de build que está gerando o build está vinculado como o artefato primário na guia Artefatos do pipeline de lançamento.
Recebo um erro de que não tenho permissão suficiente para disparar uma versã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. Confira Permissões de versão.
Recebo um erro de que nenhum teste automatizado foi encontrado.
- Verifique o status de automação dos testes selecionados. Faça isso no item de trabalho do caso de teste ou use o link Opções de coluna no Azure Test Plans para adicionar a coluna Status da 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 lançamento esteja incorreto.
- Use o link na página Executar resumo para acessar a instância de versã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 após a liberação para o estágio ser disparada.
- Verifique se o estágio de lançamento selecionado tem a tarefa e a versão corretas selecionadas. Você deve usar a versão 2 ou superior da tarefa teste do Visual Studio . Não há suporte para a versão 1 da tarefa e a tarefa Executar Testes Funcionais .