Teste Não Determinístico - Definição do Glossário de CI/CD
Um teste não determinístico depende de entradas não controladas, como tempo ou aleatoriedade, tornando seu resultado imprevisível.
Um teste não determinístico produz resultados que dependem de fatores não controlados, como tempo, aleatoriedade ou relógio do sistema, então pode passar ou falhar sem mudanças no código. O não determinismo é a raiz da maior parte da instabilidade.
As fontes incluem valores aleatórios sem semente, timestamps reais, latência de rede e dependência da ordem de execução. Tornar os testes determinísticos significa controlar essas entradas.
Correções
Semeie os geradores aleatórios, injete um relógio falso e faça stub das chamadas de rede. Testes determinísticos dão o mesmo resultado em cada runner, todas as vezes.
Guias relacionados
Flaky Test - CI/CD Glossary DefinitionFlaky Test: A flaky test passes or fails inconsistently on the same code, without any change. Common causes a…
Fake - CI/CD Glossary DefinitionFake: A fake is a test double with a working but simplified implementation, such as an in-memory database ins…
Test Isolation - CI/CD Glossary DefinitionTest Isolation: Test isolation means each test runs independently, without depending on or affecting other te…