Como evitar que seus testes se tornem um problema - parte 1: pensando em testes
abe o que pode ser pior do que não ter testes automatizados? Ter o caos disfarçado de testes automatizados. De nada adianta dizermos que temos uma imensidão de testes se:
- Você não sabe quais testes são de fato úteis.
- A funcionalidade validada não está clara no código fonte destes testes.
- Se você só tem testes unitários que não validam a sua aplicação de fato em execução (sim, testes integrados são fundamentais).
- Leva tanto tempo para executar seus testes que sua equipe cria resistência (sejamos honestos, dá preguiça) de executar a suite de testes.
- Se o código dos testes é de péssima qualidade (who watches the watchers?).
- Pegando o ponto anterior: se o código é tão ruim que você não consegue otimizar a execução dos testes e dar manutenção nos mesmos. Você não sabe qual ou quais testes executar para validar uma mudança (sério que sempre precisa executar TUDO?)
Se você está na situação acima (que é bem normal) na prática seus testes não estão agregando valor: estão tornando sua vida mais difícil e talvez piorando a qualidade do seu sistema ou ocultando problemas.
Este é o primeiro post de uma série sobre a qual o assunto são testes automatizados. Começo pelo problema mais difícil: como pensamos os testes que estou publicando no portal Insights da itexto.
O primeiro post você pode ler aqui: https://insights.itexto.com.br/pensando-em-testes/