O que são testes "flaky"?

Testes "flaky"são definidos como testes que retornam aprovações e falhas ao mesmo tempo apesar de nenhuma alteração ao código ou no próprio teste ter ocorrido.

Vários fatores podem causar resultados de teste não confiáveis, como inconsistências em ambientes, falta de atualização de dados de teste entre passagens de testes, problemas de tempo e fuso horário e dependências na ordem de execução dos testes.

O problema com os testes "flaky" é que eles tornam o pipeline de CI/CD mais lento e diminuem a confiança nos processos de testes. Como você não pode confiar em resultados de teste "flaky", não pode ter certeza se uma passagem de teste bem-sucedida significa que seu código não tem bugs ou se você deve investir tempo tentando reproduzir e corrigir um problema quando os testes falham.

Para detectar testes "flaky", você precisa comparar os resultados dos testes de várias passagens de testes. Essa análise seria um processo demorado de realizar manualmente, mas, felizmente, muitos servidores de CI detectam testes "flaky" automaticamente.

Identificar testes "flaky" é o primeiro passo para colocá-los sob controle. Depois de conhecer a extensão do problema, você pode priorizar sua correção. É uma boa ideia silenciar testes "flaky" nesse ínterim para que os resultados de testes não confiáveis sejam excluídos dos seus relatórios de testes automatizados.