Sou tester! Fazer ou não teste unitário? Eis a questão.

Fala pessoal, tudo certinho?

Já tinha um tempo que eu queria fazer um post sobre testes unitários. Hoje vou compartilhar um pouco com vocês da minha experiência e
minha opinião com relação a esse assunto.

Você é analista de teste? No seu trabalho quem faz os testes unitários? Você ou o desenvolvedor?

Esse tema é um pouco polêmico e bastante discutido por ai. Acredito receber muitos comentários sobre esse post de pessoas a favor e contra.

Mas quero dizer que, não existe o certo ou errado, tudo depende!

Vejo muitas pessoas falando que o teste unitário é função do desenvolvedor e que ele deve garantir a qualidade daquilo que ele desenvolveu. Eu não discordo dessa afirmação, mas digo a vocês que isso não deve ser uma regra e vai variar de acordo com os seguintes fatores:

1. Depende da sua equipe;
2. Depende da empresa e cultura;
3. Depende do projeto e do prazo;
4. Depende daquilo que você quer para o seu ambiente de trabalho.

Atualmente, vemos cada vez mais a exigência por conhecimento em teste unitário ou disponibilidade para aprender.

Fazer ou não fazer? Eis a questão!

Algumas perguntas que eu vejo:
“Não é o desenvolvedor que têm que garantir a qualidade do código?”
“O desenvolvedor não sabe programar mais que eu? Então por que ele não faz os testes unitários?”

Como eu disse anteriormente, as exigências por profissionais que saibam fazer teste unitário é grande. Cada vez mais vocês vão ver oportunidades de emprego
pedindo experiência com teste unitário. Nós como profissionais precisamos nos reinventar, não é verdade?

Por exemplo, você pode estar alocado em um projeto com arquitetura de microsserviços e agora, o que testar? A maioria dos testes nesse caso são unitários e de integração. Vou fazer teste ou não?
A resposta é: Sim! Você deve aprender, estudar teste unitário e colocar em prática no seu trabalho.

Vou explicar um pouco como eu comecei.
Eu comecei estudando programação. Depois disso fiz vários cursos de teste unitário. No início, eu não colocava em prática nos projetos por falta de conhecimento, porque no projeto os desenvolvedores eram os responsáveis, enfim uma série de fatores.

Depois em um novo projeto, eu ainda não fazia testes unitários, mas eu já olhava os testes unitários que os desenvolvedores desenvolviam. Eu lembro que eles tinham dúvidas com relação aos casos que era necessário cobrir. Então eu fiquei alguns dias ali do lado deles elaborando os casos de teste para que eles pudessem implementar. Eu também revisava o código para melhorar a qualidade e nisso, eles ajustavam de acordo com o que era solicitado.

Então a dica pra você começar é:

1. Não comece fazendo código.

2. Comece um trabalho de colaboração junto com os desenvolvedores para a elaboração dos casos de teste.

3. Estude as boas práticas de teste unitário.

4. Estude a linguagem utilizada no projeto.

5. Revise o código e peça para os devs refatorarem quando necessário.

6. Gere e acompanhe a cobertura dos testes.

Continuando a história, depois eu fui para um projeto no qual não tinha telas e a arquitetura era microsserviços. A maioria dos testes precisavam ser
unitários. Nisso, eu já colocava mais a mão na massa junto com os desenvolvedores do projeto. No início tive bastante ajuda deles(trabalho colaborativo) e depois eu passei a ser responsável pela elaboração dos casos e desenvolvimento dos testes unitários.

Quando você começa a fazer teste unitário algumas coisas fazem sentido. Sabe quando falam que os testers de hoje previnem bugs ao invés de encontrar? Então, no momento do desenvolvimento dos testes unitários você já consegue pegar muitos bugs iniciais que poderiam ser um problema lá na frente. Fora o conhecimento que você adquiri da regra de negócio do seu projeto.

Também quero dizer que você pode ganhar reconhecimento por isso, afinal, você está fazendo algo fora da curva. Fazer algo diferente e novo que agrega valor para o projeto é sempre bom, não é verdade?
Hoje, eu e minha equipe somos responsáveis pelos testes, tanto eu posso fazer,
quanto eles.

Não esqueça de gerar o relatório de cobertura dos testes unitários.

Só não se iluda com aquele 100% de cobertura, tudo bem? (risos)
Eu tenho 96% de cobertura em alguns testes, 100% em outros. Mas, cuidado com o 100%. Isso não significa nada.

Bom,como o post não é para falar sobre isso, em um próximo eu explico melhor, beleza?

Boa sorte e sucesso a todos!

--

--