Introdução ao TDD

Introdução TDD (Test Driven Development – Desenvolvimento dirigido por testes) é uma técnica de desenvolvimento de software baseada na...

Data de publicação: 24/09/2013

Introdução

TDD (Test Driven Development – Desenvolvimento dirigido por testes) é uma técnica de desenvolvimento de software baseada na criação de um teste automatizado que falhe antes mesmo da implementação de um novo código.
O ciclo de um desenvolvimento utilizando TDD acontece da seguinte forma:

– Inicialmente implementa-se um teste para a funcionalidade em questão. Sabemos que o teste não vai passar, pois ainda não implementamos o código necessário.
– Depois de executar o teste e verificar a falha, escrevemos o código da funcionalidade de forma simples, para apenas atender, momentaneamente, o teste quebrado.
– Finalizada essa implementação, devemos novamente executar o teste que estava falhando e o esperado é que ele rode com sucesso. Caso o teste não passe devemos rever o código implementado até que ele seja executado corretamente.
– Feito isso devemos verificar o código para refatorar o mesmo, de forma a aplicar padrões de projeto e remover os “Code Smells”, que nada mais são do que sintomas ou indícios que indiquem possíveis problemas em seu código, como duplicação ou não utilização trechos implementados desnecessariamente.
– A cada refactoring realizado, devemos executar novamente o teste e verificar se ainda está passando. Se tudo estiver ok, reinicie todo o processo com a próxima funcionalidade do sistema, pois a atual já está pronta!
 
Analisando uma nova funcionalidade em específico, aplica-se o TDD até que seu desenvolvimento se conclua. Esse conjunto de passos é muito difundido entre os desenvolvedores que trabalham com TDD pelo nome de “red-green-refactor”. ]
Dentre as vantagens desse tipo de desenvolvimento podemos destacar:

1 – Apesar do processo parecer mais demorado, pois temos que escrever teste e depois código, essa prática se converte em menor tempo de depuração e correção de defeitos, além de naturalmente aumentar a qualidade do código escrito.

2 – Com a utilização do TDD, seu código ficará mais fácil de ser testado. Como consequência disso, é bem provável que seu código fique mais claro, dispensando documentações desncessárias.

3 – Utilizando TDD temos a garantia que todas as funcionalidades do sistema estarão cobertas por testes. Sendo assim, conseguimos garantir que alterações futuras no código não afetarão implementações de funcionalidades já concluídas pois o teste previamente implementado irá falhar.

Esse é o primeiro post de uma pequena série de textos sobre o assunto. No próximo post vou demonstrar o passo a passo da implementação de testes em JAVA utilizando o framework Junit. Nos demais, avançaremos com exemplos mais aprofundados sobre TDD.

 
Até a próxima.

Comentários

  1. Pedro Paulo Monteiro25 de setembro de 2013

    O TDD realmente proporciona vários benefícios. Na minha visão, principalmente no design das classes.
    Belo post, continue assim.

    Responder

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

oito + nove =

Posts relacionados

  1. Sobre a Dextra

    Somos especialistas em desenvolvimento de software sob medida para negócios digitais. Pioneiros na adoção de metodologias de gestão ágil, combinamos processos de design, UX, novas tecnologias e visão de negócio, desenvolvendo soluções que criam oportunidades para nossos clientes.

  2. Categorias

Scroll to top