Compartilhar via


Gerenciar testes de regressão

Azure DevOps Services

A produtividade dos desenvolvedores depende da capacidade dos testes de encontrar problemas reais com o código em desenvolvimento ou atualizá-lo de maneira oportuna e confiável. Testes de regressão apresentam uma barreira para encontrar problemas reais, já que as falhas geralmente não estão relacionadas às mudanças que estão sendo testadas. Um teste de regressão 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. Testes de regressão também afetam a qualidade do código enviado.

Observação

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

O objetivo de trazer o gerenciamento de testes de regressão para o produto é reduzir problemas para o desenvolvedor causados por testes inconsistentes e atender a todo o fluxo de trabalho. O gerenciamento de testes de regressão oferece os seguintes benefícios.

  • Detecção – detecção automática de teste de regressão com nova execução ou extensibilidade para conectar seu método de detecção personalizado

  • Gerenciamento de problemas – depois que um teste é marcado como de regressão, os dados são disponibilizados para todos os pipelines desse branch

  • Relatar testes esfarrapado – capacidade de escolher se você deseja evitar falhas de build causadas por testes de regressão ou usar a marcação de regressão somente para solução de problemas

  • Resolução – criação manual de bug ou teste manual de marcação e desmarcação como de regressão com base em sua análise

  • Fechar o loop – redefinir o teste de regressão como resultado da resolução de bugs/entrada manual

Ciclo de vida de regressão

Habilitar o gerenciamento de testes de regressão

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

Deslize o botão Ativar/Desativar para Ativado.

Captura de tela do Gerenciamento de Testes, detecção de teste de regressão habilitada, detecção do sistema.

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

Observação

Trocar entre sistemas é inerentemente disruptivo, pois todo o histórico de instabilidade armazenado no Azure DevOps é apagado durante a transição.

Detecção de teste de regressão

O gerenciamento de testes de regressão dá suporte à detecção personalizada e ao sistema.

  • Detecção do sistema: o Azure DevOps tem um mecanismo interno para detectar testes irregulares. Isso envolve executar novamente os testes que falharam na execução do mesmo pipeline. Se um caso de teste falhar inicialmente, mas passar em uma nova execução, ele será marcado como instável. Essa detecção é fortemente acoplada à tarefa VSTest , que executa novamente testes com falha na mesma execução de tarefa. Outro método envolve executar novamente trabalhos com falha no pipeline (manualmente clicando em "executar trabalhos com falha novamente" em qualquer execução de pipeline). Se um teste for aprovado na nova execução, ele será marcado como irregular.

    Observação

    Depois que um teste é marcado como de regressão, os dados são disponibilizados para todos os pipelines desse branch para ajudar na solução de problemas em cada pipeline.

  • Detecção personalizada: essa abordagem permite que sistemas externos integrem sua própria lógica para detectar testes irregulares e depender do Azure DevOps para controle e gerenciamento consistentes. A comunicação com o Azure DevOps está habilitada usando a API de Metadados de Resultados – Atualização . A API requer uma ID de Referência de Caso de Teste, um sinalizador que indica se o teste é considerado intermitente, e o branch do repositório em que a intermitência foi observada. O usuário deve conseguir obter a ID de Referência de Caso de Teste da API Obter Resultado do Teste por ID . Depois que essas informações são enviadas para o Azure DevOps, o sistema armazena e propaga o estado de instabilidade para esse caso de teste nas atividades de pipeline subsequentes. Depois que um teste for marcado como irregular, o Azure DevOps continuará a tratá-lo como tal até não ser marcado manualmente.

Captura de tela do Gerenciamento de Testes, detecção de teste de regressão habilitada, detecção personalizada.

Opções de teste de regressão

As opções de teste de regressão especificam como os testes são disponibilizados nos relatórios de teste, bem como nas funcionalidades de resolução, conforme descrito nas seções a seguir.

Gerenciamento e relatórios de teste de regressão

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

Como relatar testes de regressão

Observação

O Relatório resumo do teste é atualizado apenas 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 de regressão para outros cenários.

Testes marcados como de regressão

Você pode marcar ou desmarcar um teste como de regressão com base na análise ou no contexto, escolhendo Egressão (ou Cancelar regressão, dependendo se o teste já está marcado como de regressão.)

Marcar teste de regressão

Quando um teste é marcado como de regressão ou egressão em um pipeline, nenhuma alteração é feita no pipeline atual. Somente em futuras execuções desse teste é que a configuração de regressão alterada é avaliada. Os testes marcados como de regressão têm a sinalização Marcado como de regressão na interface do usuário.

Confirmar teste de regressão

Ajuda e suporte