TDD - Desenvolvimento Dirigido a Testes

Preview:

DESCRIPTION

Este Slide explica o que é e como usar TDD em um processo de desenvolvimento de software.

Citation preview

Test DrivenDevelopment

Códigos ruins

• Bugs

• Difícil manutenção

• Produtividade baixa

O que NÃO é TDD?

• TDD != Teste Unitário

• Não é um método para TESTAR software

• Não é limitado

• Não é teste de caixa preta, caixa branca, caixa cinza ou regressão.

TDD = Test Driven Development

(Desenvolvimento Orientado a testes)

“Técnica de desenvolvimento cujo processo é formado por pequenas iterações. Onde os testes são codificados primeiro.”

Programar os testes primeiro+

Refatorar

Assegura a Qualidade do Código

“Sistema sem teste dá medo!”

“Código sem teste, é código legado”

(Working Effectively with Legacy Code, Michael Feathers)

Por que não usar?

“Estou sem tempo para testar!”

“Escrever testes demora muito!”

“Esse não é meu trabalho”

“Se compilou é porque está funcionando, eXtreme Go Horse!”

Benefícios do TDD

“Garante a existência de testes unitários completos e atualizados”

“Diminui a quantidade de erros por linha de código ”

“Direciona projeto a ser mais desacoplado, flexível, modular e

extensível.”

O cliente

O desenvolvedor

Práticas e conceitos

Modularize os Testes

Links

• http://www.codeplex.com/wikipage?ProjectName=xunit&title=Comparisons

• http://unplugged.giggio.net/

• http://www.infoq.com/br/news/2009/03/TDD-Improves-Quality

• http://www.infoq.com/br/articles/levison-TDD-adoption-strategy

• http://danieltamiosso.com/2009/05/06/o-impacto-de-tdd-no-design/

• http://www.diogomafra.com.br/2009/09/introducao-ao-tdd_24.html

• http://www.infoq.com/br/news/2009/11/uncle-bob-tdd-applicability

• http://www.superexpert.com/

• http://blogs.southworks.net/dschenkelman/

• http://www.heroisdati.com/

Recommended