DEV Community

Alberto Luiz Souza
Alberto Luiz Souza

Posted on

A Importância da Cobertura de Código: Devo buscar 100% ?

Disclaimer

Este texto foi concebido pela IA Generativa em função da transcrição do episódio do nosso canal, Dev Eficiente. O episódio completo pode ser visto no canal.

Resumo

No texto de hoje, quero falar com você sobre um tema crucial para a qualidade do software: a cobertura de testes. Devo buscar ou não devo buscar 100% de cobertura de testes? Vamos explorar essa questão juntos.

A Evolução do Pensamento sobre Cobertura de Testes

No passado, eu acreditava que buscar 100% de cobertura de testes era um erro. Eu dizia que testar tudo era inútil e que você estava desperdiçando tempo. No entanto, com o tempo, estudos e através de conversas com especialistas como Maurício Aniche, meu entendimento sobre o papel dos testes automatizados mudou. Hoje, acredito que se você não está buscando 100% de cobertura, está possivelmente fazendo errado.

A Realidade dos Testes

Quando falamos de cobertura de testes, não estamos dizendo que você deve testar cada linha de código de forma isolada. A ideia é que, ao escrever testes para os códigos que realmente importam, você acaba tocando nos outros códigos de produção que não precisam de testes diretos. Isso significa que, ao testar de forma mais integrada, você cobre uma maior parte do seu código de maneira eficiente.

Como eu lido com a Pirâmide de Testes

A famosa pirâmide de testes sugere que devemos ter uma base sólida de testes de unidade, seguidos por testes de integração e, testes end-to-end e, por fim, testes manuais.

Não é como tenho atualmente. Minha abordagem atual é testar o mais próximo possível da realidade. Se eu conseguir testar tudo de forma rápida e integrada, farei isso. Claro, a velocidade é uma restrição, e nem sempre é viável subir todos os sistemas para executar testes integrados o tempo todo.

A Busca pela Cobertura Ideal

Meu objetivo é exercitar o código da maneira mais integrada possível. Supondo que todo código escrito para produção é necessário, espero tocar em 100% do código.

Pensando em projeto green field, espero sempre 90%+ de cobertura. Afinal de contas a lógica básica é: Se eu testo mais, aumento a confiabilidade.

A cobertura de testes é uma via para aumentar a confiabilidade do software, minimizando bugs e problemas em produção.

Conclusão

A busca por 100% de cobertura de testes, maximizando integração, é uma meta ambiciosa, mas que traz inúmeros benefícios. Ela aumenta as chances do código ser exercitado de maneira integrada, revelando problemas o mais cedo possível.

Espero que este post tenha sido útil para você. Deixe seu comentário, seja ele positivo ou construtivo. Terei o maior prazer em responder. Até a próxima!

Sobre a Jornada Dev + Eficiente

Se você quer se aprofundar mais nas práticas de qualidade de código e se tornar um profissional reconhecido tecnicamente, convido você a conhecer a Jornada Dev + Eficiente.

Top comments (0)