Por que devo testar minhas aplicações

Testes Efetivos

Em primeiro lugar, para que possamos de fato sentir os impactos positivos dos testes em uma aplicação, precisamos garantir que eles são efetivos. Essa não é uma métrica fácil de se obter, não é apenas um número de porcentagem de número de linhas cobertas que vão trazer essa segurança. Ao fazer essa análise, o principal ponto que o desenvolvedor deve analisar, é se os testes validam que no mínimo o que chamamos de “fluxo feliz”, ou seja o fluxo principal de uma funcionalidade, funciona como esperado, pois isso te garante que se algo der errado os testes vão te alertar sobre isso rapidamente.

Testes te ajudando a identificar falhas de implementação

Outro ponto interessante da implementação de testes, é que quando você os escreve depois da funcionalidade, o que nem sempre é a melhor opção existindo também a opção de usar TDD, muitas vezes você acaba percebendo alguns “furos” na sua implementação que você não tinha percebido durante o desenvolvimento da funcionalidade inicialmente.

Testes ajudam na organização do projeto

Para que uma aplicação seja “testável”, é necessário que ela seja bem estruturada e suas camadas sejam bem definidas e desacopladas. Portanto ao construir uma aplicação pensando em testá-la, você acaba se preocupando mais com a sua organização e então de forma indireta os testes acabam também melhorando a forma como você desenvolve seus sistemas.

Evite recursões

É importante também que sempre que um novo cenário de bug é descoberto e resolvido, que a suíte de testes garanta que a falha segue resolvida. Portanto sempre que solucionar um bug, desenvolva um teste que valide o fluxo que era falho, para certificar que ele segue funcionando e que a solução foi realmente válida. Bugs que ressurgem a cada nova versão de uma aplicação são muito comuns e causam grande frustração aos usuários então assegurar proteção contra recursão é essencial!

Testes ajudam na documentação do projeto

Um último ponto que não é inicialmente a função dos testes mas em que eles podem ser úteis é em questão de documentação. Quando bem escritos, para um desenvolvedor que acaba de começar a trabalhar em um projeto, os testes podem dizer muito sobre como a aplicação funciona, poupando bastante tempo de leitura de código até que o desenvolvedor ganhe contexto de projeto.

Android Dev BR

Artigos em português sobre Android, curados pela comunidade Android Dev BR. Junte-se a nós: slack.androiddevbr.org.

Diego Gonçalves Santos

Written by

Engenheiro de Software @Dextra, escritor, palestrante, entusiasta de tecnologia e esportes.

Android Dev BR

Artigos em português sobre Android, curados pela comunidade Android Dev BR. Junte-se a nós: slack.androiddevbr.org.