Matheus Tardivo

Code is poetry.

O Meu Chefe Tem Um Jatinho. O Seu Também Tem?

Mais uma thread para entrar na história do GUJ. A intenção do tópico era de anunciar o framework Space4J que tem como objetivo “ser um banco de dados simples que vai te permitir trabalhar com Java Collections em memória”.

Acontece que, para dar continuidade a tradição, o assunto do tópico mudou de rumo. Mas, na minha opinião, para um rumo interessante. A essência da discussão gira em torno de: qual é a verdadeira importância de um projeto ter uma suíte de testes? Mais uma vez, na minha opinião, é MUITO importante para qualquer projeto ter uma suíte de testes.

A maioria dos projetos que trabalhei não tinham uma suíte de testes – apesar de eu não me conformar com isso e desenvolver testes para partes isoladas. O que eu não me engano é da importância que eles representam para um projeto. Como já foi falado, boas práticas de orientação a objetos e “programação defensiva” (!) não basta para garantir que algo que estava funcionando, deixe repentinamente de funcionar por alterações que o sistema sofreu.

Vale a pena ler sobre Test-driven development e Behavior driven development. Mas é bom deixar claro que existe uma grande diferença entre fazer Test-Driven Development e testar. “TDD é sobre modelagem de objetos e especificações, não sobre testes (tanto que Behaviour Driven Development está se consolidando como algo mais eficiente que TDD) apesar de que no final você acaba ganhando uma suíte de testes de graça.” (trecho retirado do post do Phillip – veja o final deste post).

Outra coisa que sempre acontece nesse tipo de discussão são as pérolas que surgem. Para justificar a ausência dos testes, as pessoas apelam pra todo tipo de absurdo: “em um mundo capitalizado não há tempo para testes”, “não agrega nada para o cliente”, ou até mesmo uma das maiores pérolas que já vi: “Agora, se me permite, vou voltar ao trabalho, pois o meu chefe, que também gosta do (coloque aqui um framework sem testes) e tem o seu próprio jato particular e não está nem um pouco preocupado com os testes unitários…”

Deixando um pouco o circo de lado, toda essa discussão incentivou mais um ótimo post do Phillip Calçado – que aliás, está de malas prontas para trabalhar na ThoughtWorks. Leiam: Programadores Profissionais Escrevem Testes, Ponto Final.