A bateria de testes automatizada fala diretamente com a confiabilidade da aplicação e também com a assertividade do time em corrigir e evoluir o código. Olhamos para múltiplas dimensões para aumentar as chances de que os testes possam revelar o máximo de problemas antes de entrar em produção.
Cobertura é importante? Demais. Porém, sozinha não muda o jogo.
Precisamos combinar múltiplas técnicas e colocar o máximo de energia para manter os nossos testes automatizados o mais próximo possível do ambiente de produção.
Tudo isso tendo em mente a otimização do tempo, de modo que eles sejam pertinentes ao cronograma do projeto e atendam às expectativas da organização.
Pontos importantes sobre automação de testes:
- O percentual de cobertura é um ponto muito importante.
A premissa é que quanto mais linhas estiverem cobertas, maiores são as chances de revelarmos defeitos com antecedência. Apesar da sua relevância, essa dimensão sozinha não garante a qualidade da bateria de testes. - Sistematização da aplicação de técnicas de testes para que derivar os casos de testes básicos seja uma tarefa fácil.
Procure um mecanismo para aumentar a chance de todo código ser exercitado de maneira padronizada dentro do time. - Ter uma definição do que é um teste de execução rápido ou devagar.
Ter essa clareza contribui para guiar a equipe no processo de decisão de utilização de, por exemplo, mocks. Também pode ajudar a definir como a equipe vai lidar com a pirâmide de testes. Tenha em mente a forma de distribuição dos tipos de testes de modo a garantir a otimização deles. - A bateria de testes deve se aproximar o máximo possível do ambiente de produção.
Testar o código o mais próximo possível do ambiente de produção facilita na identificação de inconsistências. Entretanto, aproximar muito pode comprometer a velocidade dos testes. Por isso, o equilíbrio precisa ser buscado. - Cuidado com altos percentuais de cobertura que possam sofrer verificações de estado fracas.
É preciso colocar o máximo de energia na análise do estado do sistema a cada teste. Estamos falando das asserções.