8 Benefícios de Testes Automatizados
- #Testes unitários
- #TDD
- #QA
Neste artigo, vamos conhecer os 8 Benefícios de Testes Automatizados.
1 - Os testes são os exemplos de código do nosso sistema.
Você já pulou uma resposta no StackOverflow porque ele não continha uma amostra de código?
Os exemplos de código nos ajudam a entender como as coisas funcionam.
Um sistema de software é mais fácil de entender se tiver testes automatizados em funcionamento.
2 - Os testes são especificações executáveis do comportamento do sistema.
Os documentos escritos tornam-se facilmente obsoletos e frequentemente mentem. Eles especificam o que o sistema deve fazer, não o que ele faz.
Os testes especificam o que o sistema realmente faz e estão sempre atualizados.
3 - Os testes fornecem os primeiros usuários do seu código.
Ao escrever testes, você se torna um usuário de seu próprio código.
Se o design for ruim, você será o primeiro a ter o problema.
Isso faz com que você se esforce mais na refatoração.
Os testes automatizados levam a um código mais limpo.
4 - Os testes fornecem feedback imediato sobre erros de tempo de execução.
Você já sentiu o prazer de digitar um nome de variável incorretamente e obter feedback imediato de seu IDE?
Você pode obter o mesmo tipo de feedback sobre erros de tempo de execução, se executar os testes com frequência suficiente.
5 - Os testes evitam a ocorrência de bugs.
Ao escrever testes, você está especificando o comportamento do sistema.
Enquanto os testes estiverem lá, esse comportamento será preservado.
Se, em algum momento no futuro, você alterar esse comportamento sem querer, os testes detectarão o erro.
6 - Os testes fornecem uma rede de segurança.
Com uma rede de segurança de testes, você pode refatorar com confiança, de maneira semelhante aos trapezistas que atuam sem medo.
Quanto mais abrangente for o conjunto de testes, melhor, porque comportamentos não testados são buracos nessa rede por onde você pode cair.
7 - Os testes têm implicações arquitetônicas positivas.
Para testar uma unidade de código corretamente, você deve isolá-la, "mockando" suas dependências.
Quanto mais fracamente acoplado for um sistema, mais fácil será testá-lo.
Testes automatizados levam a baixo acoplamento.
8 - Todos os benefícios acima juntos têm uma consequência importante:
Teste automatizado aumenta a qualidade do software
E alta qualidade é a única maneira que podemos ter:
- Grande economia de tempo e dinheiro.
- Clientes satisfeitos.
- Uma equipe de desenvolvimento motivada.
Referência:
Tweet original em inglês: @macerub
Vídeo em português: Testes Automatizados | 8 benefícios!