Desenvolva mais rápido e mais barato

Pedro Henrique
Pedro Henrique
Published in
3 min readDec 19, 2017

Você quer entregar novas features na velocidade da luz e com o mínimo de custos. Aqui está o primeiro passo para fazer isso acontecer.

Sempre bom testar antes

Os maiores custos (em tempo e dinheiro) do desenvolvimento de software vem do código legado. Código legado é uma coisa maligna que cria horas de debug quando uma nova feature é feita, ele estraga a vida dos programadores e atrasa as entregas de novas features.

Mas o Código Legado não nasce assim, uma vez ele foi um código muito legal que todo mundo amava. Conforme o tempo foi passando e mais features foram sendo adicionadas a complexidade do sistema decolou e a capacidade de gerenciamento foi por agua a baixo. Agora, toda vez que alguém precisa fazer algo essa pessoa tem que passar por muita coisa para garantir que a nova página de login não quebrou o sistema de pagamento.

No entanto, a maioria dos defeitos acabam custando mais do que custaria para preveni-los. Defeitos são custosos quando ocorrem, tanto o custo direto de consertá-los quanto o custo indireto de relacionamentos danificados, negócios perdidos e tempo de desenvolvimento perdido — Kent Beck

Testes para o resgate!

Eu sei que o teu legado não tem nenhuma cobertura de testes, ele foi provavelmente escrito antes que testes automatizados fossem hype, mas as mudanças são feitas agora e agora nós temos testes. É importante que com cada nova feature a base de código fique um pouco melhor, se não, a vaca vai pro brejo e a sua empresa vai ser superada por uma nova startup (que escreve testes).

Não é difícil implementar testes unitários em linguagens populares como Java e PHP, até C tem o cmocka! Então vai em frente e faça, use JUnit, PHPUnit ou qualquer uma das outras opções e tenha certeza que tuas funções fazem o que elas deveriam estar fazendo. O processo de escrever os casos de teste, vai te deixar mais familiarizado com as regras de negócios que precisam ser seguidas e vai limpar um pouco aquela confusão que existe hoje.

Lembra, teu JavaScript precisa ser testado também.

Depois dos primeiros passos para fazer os testes unitários tu podes usar o Selenium para testar a UI e ter certeza de que tudo funciona como planejado. Lembra que se ocorrer uma falha nos testes de interface o problema tem que aparecer antes nos testes unitários.

Mas não é só isso não…

Essas são apenas duas camadas da pirâmide de testes para ti começar. Com esses dois rodando, tu ja vai ter mais confiança para refatorar e subir para produção. O tempo uma vez gasto na busca por bugs agora vai estar sendo otimizado conforma mais e mais do código é testado. No fim, tu vais ter programadores mais felizes, trabalhando em sprints mais rápidas e entregando features chave bem antes da concorrência.

E tu, já está usando testes unitários no desenvolvimento? Compartilha com a gente nos comentários

--

--

Pedro Henrique
Pedro Henrique

Sou dev Full Stack, e não poderia ser diferente disso. Adoro explorar novas tecnologias da tomada ao css