sexta-feira, fevereiro 7

TDD(Test-triven development): Modismo ou necessidade?


TDD é a abreviação de test-triven development, em bom português "desenvolvimento dirigido por testes". É uma técnica para desenvolver software originada em métodos de desenvolvimento ágil, como o Extreme Programming (XP). Entretanto, o TDD ganhou popularidade e hoje é adotada independentemente do XP.



O que é?



O Desenvolvimento Dirigidos por Testes é formado por ciclos curtos, que são repetidos  para o desenvolvimento de uma nova funcionalidade. Começa pela implementação de um caso de teste, seguido pela escrita do código necessário para passar no teste, e finalmente pela refatoração do código com padrões aceitáveis.



O TDD não é entretanto um método para testar softwares, mas para construí-los. Usar o TDD significa escrever mais, mas também é sinal de um código limpo que performa bem. Além disso, o Test-Driven Development garante a existência de testes unitários completos e atualizados, que dá à equipe de programação e aos usuários um nível maior de confiança e diminui a quantidade de erros por linha de código. O teste precoce e frequente ajuda a capturar defeitos no início do ciclo de desenvolvimento, evitando que tornem-se problemas complexos ao final do processo.



Além de ser útil na validação e correção do código, o TDD gera software que funciona de maneira mais desacoplada. Como os testes devem ser isolados, o produto final acaba possuindo menos interdependências desnecessárias.



Como funciona?



O ciclo do desenvolvimento do TDD começa sempre com a criação de um teste. O desenvolvedor precisa estudar os requisitos e especificações da funcionalidade a ser desenvolvida. User stories (link para o texto sobre user stories efetiva) são uma maneira popular de fazer isto. É fundamental que antes de começar a escrever o código este cenário seja claro ao desenvolvedor.



É criado então um segundo teste, para validar o primeiro. Esta etapa garante que o primeiro teste está acertado, avaliando os quesitos corretos e que será eficaz.



É escrito então um código, uma versão cru, muitas vezes deselegante, que deve passar no primeiro teste. Se o código construído apresentar boas soluções, ele passará no teste. Isto indica que, mesmo não funcionando da maneira ideal, ele preenche todos os requisitos definidos no começo do ciclo.



Por fim, o código é refatorado. O novo código, desta vez de acordo com os padrões finais, deve ser capaz de passar nos testes definidos. Então o ciclo se repete, com a criação de um novo teste, que gerará novos códigos e assim por diante.



Modismo ou necessidade?



Com o uso do TDD, pode-se obter resultados de testes realmente automatizados, com redução dos defeitos na fase funcional do desenvolvimento, aumento da produtividade da equipe, aumento da frequência de testes em projetos. Além disso, agregagando valor ao produto final que será entregue ao cliente. Tudo depende da forma como o método é vendido para o cliente. Caso o comprador compreenda os benefícios que a implementação do TDD gera é possível estabelecer ganhos mútuos com um produto com mais qualidade e aumento da produtividade proporcionado pelo método.


FONTE: gestaoerh

Nenhum comentário:

Postar um comentário