Partilhar via


Gerencie testes escamosos

Serviços de DevOps do Azure

A produtividade para desenvolvedores depende da capacidade dos testes de encontrar problemas reais com o código em desenvolvimento ou atualização de forma oportuna e confiável. Os testes Flaky apresentam uma barreira para encontrar problemas reais, uma vez que as falhas muitas vezes não se relacionam com as mudanças que estão sendo testadas. Um teste escamoso é um teste que fornece resultados diferentes, como aprovação ou reprovação, mesmo quando não há alterações no código-fonte ou no ambiente de execução. Os testes Flaky também afetam a qualidade do código enviado.

Nota

Esse recurso só está disponível nos Serviços de DevOps do Azure. Normalmente, os novos recursos são introduzidos primeiro no serviço de nuvem e, em seguida, disponibilizados no local na próxima versão principal ou atualização do Azure DevOps Server. Para obter mais informações, consulte Linha do tempo do recurso do Azure DevOps.

O objetivo de trazer o gerenciamento de testes escamosos no produto é reduzir a dor do desenvolvedor causada por testes escamosos e atender a todo o fluxo de trabalho. O gerenciamento de testes Flaky oferece os seguintes benefícios.

  • Deteção - Deteção automática de teste escamoso com repetição ou extensibilidade para conectar seu próprio método de deteção personalizado

  • Gestão da flakiness - Uma vez que um teste é marcado como flaky, os dados estão disponíveis para todos os pipelines para essa ramificação

  • Relatório sobre testes escamosos - Capacidade de escolher se deseja evitar falhas de compilação causadas por testes escamosos ou usar a tag escamosa apenas para solução de problemas

  • Resolução - Criação manual de bugs ou teste manual de marcação e desmarcação como escamoso com base na sua análise

  • Fechar o loop - Redefinir teste escamoso como resultado da resolução de bugs / entrada manual

Ciclo de vida escamoso

Habilite o gerenciamento de testes escamosos

Para configurar o gerenciamento de teste escamoso, escolha Configurações do projeto e selecione Gerenciamento de teste na seção Pipelines.

Deslize o botão Ligar/Desligar para Ativado.

Screenshot de Gestão de Testes, Deteção de teste Flaky ativada, Deteção de sistema.

A configuração padrão para todos os projetos é usar testes escamosos para solução de problemas.

Deteção de teste irregular

O gerenciamento de testes Flaky suporta deteção personalizada e do sistema.

  • Deteção do sistema: A deteção escamosa no produto usa dados de repetição de teste. A deteção é feita por meio da reexecução da tarefa VSTest da capacidade de testes com falha ou nova tentativa de estágio no pipeline. Você pode selecionar pipelines específicos no projeto para os quais você gostaria de detetar testes escamosos.

    Nota

    Depois que um teste é marcado como flaky, os dados ficam disponíveis para todos os pipelines dessa ramificação para ajudar na solução de problemas em cada pipeline.

  • Deteção personalizada: você pode integrar seu próprio mecanismo de deteção escamoso com o Azure Pipelines e usar o recurso de relatório. Com a deteção personalizada, você precisa atualizar os metadados dos resultados do teste para testes escamosos. Para obter detalhes, consulte Resultados do teste, Metadados do resultado - Atualizar a API REST.

Captura de tela do Gerenciamento de teste, Deteção de teste Flaky habilitada, Deteção personalizada.

Opções de teste Flaky

As opções de teste Flaky especificam como os testes escamosos estão disponíveis nos relatórios de teste, bem como os recursos de resolução, conforme descrito nas seções a seguir.

Gerenciamento e relatórios de testes irregulares

Na página Gerenciamento de teste, em Opções de teste Flaky, você pode definir opções para como os testes escamosos são incluídos no relatório Resumo do teste. Os dados do teste Flaky para o teste aprovado e reprovado estão disponíveis em Resultados do teste. A tag Flaky ajuda a identificar testes escamosos. Por padrão, testes escamosos são incluídos no Resumo do teste. No entanto, se você quiser garantir que falhas de teste escamosas não falhem em seu pipeline, você pode optar por não incluí-las em seu resumo de teste e suprimir a falha de teste. Essa opção garante que os testes escamosos (aprovados e reprovados) sejam removidos da porcentagem de aprovação e mostrados em Testes não relatados, conforme mostrado na captura de tela a seguir.

Relatórios Flaky

Nota

O relatório de resumo de teste é atualizado somente para a tarefa de teste do Visual Studio e a tarefa Publicar resultados de teste. Talvez seja necessário adicionar um script personalizado para suprimir falhas de teste escamosas para outros cenários.

Testes marcados como escamosos

Você pode marcar ou desmarcar um teste como escamoso com base na análise ou no contexto, escolhendo Flaky (ou UnFlaky, dependendo se o teste já está marcado como flaky.)

Teste de marcação escamosa

Quando um teste é marcado como escamoso ou não escamoso em um pipeline, nenhuma alteração é feita no pipeline atual. Somente em execuções futuras desse teste é que a configuração escamosa alterada é avaliada. Os testes marcados como escamosos têm a tag Marked flaky na interface do usuário.

Confirmar teste escamoso

Ajuda e suporte