Gerir testes escamosos

Azure DevOps Services

A produtividade dos programadores depende da capacidade de os testes encontrarem problemas reais com o código em desenvolvimento ou atualização em tempo útil e fiável. Os testes escamosos apresentam uma barreira para encontrar problemas reais, uma vez que muitas vezes as falhas não estão relacionadas com as alterações que estão a ser testadas. Um teste escamoso é um teste que fornece resultados diferentes, como passar ou falhar, mesmo quando não existem alterações no código fonte ou no ambiente de execução. Os testes escamosos também afetam a qualidade do código enviado.

Nota

Esta funcionalidade só está disponível nos Serviços de DevOps do Azure. Normalmente, as novas funcionalidades são introduzidas primeiro no serviço cloud e, em seguida, disponibilizadas no local na próxima versão principal ou atualização de Azure DevOps Server. Para saber mais, veja Linha Cronológica de Funcionalidades do Azure DevOps.

O objetivo de trazer a gestão de testes escamoso no produto é reduzir a dor do programador por testes escamosos e atender a todo o fluxo de trabalho. A gestão de testes escamosos proporciona os seguintes benefícios.

  • Deteção – deteção automática de teste escamoso com nova execução ou extensibilidade para ligar o seu próprio método de deteção personalizado

  • Gestão da flakiness - Assim que um teste é marcado como escamoso, os dados estão disponíveis para todos os pipelines para esse ramo

  • Relatório sobre testes escamosos - Capacidade de escolher se pretende evitar falhas de compilação causadas por testes escamosos ou utilizar a etiqueta escamosa apenas para a resolução de problemas

  • Resolução – criação manual de erros ou teste de marcação manual e desmarcação como escamoso com base na sua análise

  • Fechar o ciclo – Repor o teste escamoso como resultado da resolução de erros/entrada manual

Ciclo de vida escamoso

Ativar a gestão de testes escamoso

Para configurar a gestão de testes escamoso, selecione Definições do projeto e selecione Gestão de testes na secção Pipelines .

Deslize o botão Ativar/Desativar para Ativado.

Captura de ecrã a mostrar a Gestão de Testes, a deteção de testes escamosos ativada, Deteção de sistema.

A predefinição para todos os projetos é utilizar testes escamosos para resolução de problemas.

Deteção de teste escamoso

A gestão de testes escamosos suporta o sistema e a deteção personalizada.

  • Deteção do sistema: a deteção in-product flaky utiliza dados de nova execução de teste. A deteção é feita através da nova execução da tarefa VSTest da capacidade de testes falhados ou da repetição da fase no pipeline. Pode selecionar pipelines específicos no projeto para os quais gostaria de detetar testes escamosos.

    Nota

    Depois de um teste ser marcado como escamoso, os dados estão disponíveis para todos os pipelines desse ramo para ajudar na resolução de problemas em todos os pipelines.

  • Deteção personalizada: pode integrar o seu próprio mecanismo de deteção escamoso com os Pipelines do Azure e utilizar a capacidade de relatório. Com a deteção personalizada, tem de atualizar os metadados de resultados de teste para testes escamosos. Para obter detalhes, veja Resultados de Teste, Metadados do Resultado - Atualizar API REST.

Captura de ecrã a mostrar a Gestão de Testes, a deteção de testes escamosos ativada, Deteção personalizada.

Opções de teste escamosos

As opções de teste escamosos especificam como os testes escamosos estão disponíveis em relatórios de teste, bem como capacidades de resolução, conforme descrito nas secções seguintes.

Gestão e relatórios de testes escamosos

Na página Gestão de testes em Opções de teste escamosos, pode definir opções de como os testes escamosos são incluídos no relatório Resumo de Teste. Os dados de teste escamosos para ambos os testes passados e com falhas estão disponíveis nos resultados do teste. A etiqueta Flaky ajuda-o a identificar testes escamosos. Por predefinição, os testes escamosos estão incluídos no Resumo de Teste. No entanto, se quiser garantir que as falhas de teste escamosas não falham no pipeline, pode optar por não as incluir no resumo do teste e suprimir a falha de teste. Esta opção garante que os testes escamosos (transmitidos e falhados) são removidos da percentagem de passe e apresentados em Testes não comunicados, conforme mostrado na captura de ecrã seguinte.

Relatórios Escamosos

Nota

O relatório de resumo de teste é atualizado apenas para a tarefa de Teste do Visual Studio e para a tarefa Publicar Resultados dos Testes. Poderá ter de adicionar um script personalizado para suprimir a falha de teste escamosa noutros cenários.

Testes marcados como escamosos

Pode marcar ou desmarcar um teste como escamoso com base na análise ou no contexto, ao selecionar Flaky (ou UnFlaky, dependendo se o teste já está marcado como escamoso.)

Marcar teste escamoso

Quando um teste é marcado como escamoso ou desafinado num pipeline, não são efetuadas alterações no pipeline atual. Apenas em execuções futuras desse teste é avaliada a definição escamosa alterada. Os testes marcados como escamosos têm a etiqueta Marcada escamosa na interface de utilizador.

Confirmar teste escamoso

Ajuda e suporte