SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
Test Driven
Development
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.”
TDD - Desenvolvimento Dirigido a Testes
Programar os testes primeiro
  +
Refatorar
TDD - Desenvolvimento Dirigido a Testes
TDD - Desenvolvimento Dirigido a Testes
Assegura a Qualidade do
Código
TDD - Desenvolvimento Dirigido a Testes
TDD - Desenvolvimento Dirigido a Testes
“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
TDD - Desenvolvimento Dirigido a Testes
Modularize os Testes
TDD - Desenvolvimento Dirigido a Testes
TDD - Desenvolvimento Dirigido a Testes
Links
• http://www.codeplex.com/wikipage?ProjectName=xunit&title=Com
  parisons
• 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/

Mais conteúdo relacionado

Mais procurados

Como TDD pode influenciar na construção do seu Produto?
Como TDD pode influenciar na construção do seu Produto?Como TDD pode influenciar na construção do seu Produto?
Como TDD pode influenciar na construção do seu Produto?Raphael Paiva
 
Introdução ao TDD (Test-Driven Development) - #guma10anos
Introdução ao TDD (Test-Driven Development) - #guma10anosIntrodução ao TDD (Test-Driven Development) - #guma10anos
Introdução ao TDD (Test-Driven Development) - #guma10anosDionatan default
 
TDD: Técnicas, Benefícios e Limitação
TDD: Técnicas, Benefícios e Limitação TDD: Técnicas, Benefícios e Limitação
TDD: Técnicas, Benefícios e Limitação Icaro Camelo
 
Introdução ao TDD nas soluções Global AppCasting
Introdução ao TDD nas soluções Global AppCastingIntrodução ao TDD nas soluções Global AppCasting
Introdução ao TDD nas soluções Global AppCastingPedro Pereira Martins
 
TDD para "meros mortais"
TDD para "meros mortais"TDD para "meros mortais"
TDD para "meros mortais"thiagobapt
 
[MTC 2021] Tests smells: aquele cheirinho de que algo não está bom no seu cód...
[MTC 2021] Tests smells: aquele cheirinho de que algo não está bom no seu cód...[MTC 2021] Tests smells: aquele cheirinho de que algo não está bom no seu cód...
[MTC 2021] Tests smells: aquele cheirinho de que algo não está bom no seu cód...minastestingconference
 
TDD com Código Legado
TDD com Código LegadoTDD com Código Legado
TDD com Código LegadoCesar Romero
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programmingceife
 
Tester, pegue suas coisas, você está demitido
Tester, pegue suas coisas, você está demitidoTester, pegue suas coisas, você está demitido
Tester, pegue suas coisas, você está demitidoLeonardo Galani
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorMarcos Pereira
 
Metodologias de desenvolvimento de software
Metodologias de desenvolvimento de softwareMetodologias de desenvolvimento de software
Metodologias de desenvolvimento de softwareLetícia Elaine Krauss
 
Mtc docker - utilizando no seu dia a dia
Mtc   docker - utilizando no seu dia a diaMtc   docker - utilizando no seu dia a dia
Mtc docker - utilizando no seu dia a diaRafael Chiavegatto
 

Mais procurados (20)

TDD para Java EE
TDD para Java EETDD para Java EE
TDD para Java EE
 
Teste automatizados e tdd
Teste automatizados e tddTeste automatizados e tdd
Teste automatizados e tdd
 
Como TDD pode influenciar na construção do seu Produto?
Como TDD pode influenciar na construção do seu Produto?Como TDD pode influenciar na construção do seu Produto?
Como TDD pode influenciar na construção do seu Produto?
 
BDD em Ação
BDD em AçãoBDD em Ação
BDD em Ação
 
Introdução ao TDD (Test-Driven Development) - #guma10anos
Introdução ao TDD (Test-Driven Development) - #guma10anosIntrodução ao TDD (Test-Driven Development) - #guma10anos
Introdução ao TDD (Test-Driven Development) - #guma10anos
 
TDD: Técnicas, Benefícios e Limitação
TDD: Técnicas, Benefícios e Limitação TDD: Técnicas, Benefícios e Limitação
TDD: Técnicas, Benefícios e Limitação
 
Introdução ao TDD nas soluções Global AppCasting
Introdução ao TDD nas soluções Global AppCastingIntrodução ao TDD nas soluções Global AppCasting
Introdução ao TDD nas soluções Global AppCasting
 
TDD para "meros mortais"
TDD para "meros mortais"TDD para "meros mortais"
TDD para "meros mortais"
 
[MTC 2021] Tests smells: aquele cheirinho de que algo não está bom no seu cód...
[MTC 2021] Tests smells: aquele cheirinho de que algo não está bom no seu cód...[MTC 2021] Tests smells: aquele cheirinho de que algo não está bom no seu cód...
[MTC 2021] Tests smells: aquele cheirinho de que algo não está bom no seu cód...
 
TDD com Código Legado
TDD com Código LegadoTDD com Código Legado
TDD com Código Legado
 
Testes
TestesTestes
Testes
 
Testes unitários e Mocks
Testes unitários e MocksTestes unitários e Mocks
Testes unitários e Mocks
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
Tester, pegue suas coisas, você está demitido
Tester, pegue suas coisas, você está demitidoTester, pegue suas coisas, você está demitido
Tester, pegue suas coisas, você está demitido
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao Sênior
 
Metodologias Ágeis
Metodologias ÁgeisMetodologias Ágeis
Metodologias Ágeis
 
O poder do TDD
O poder do TDDO poder do TDD
O poder do TDD
 
Metodologias de desenvolvimento de software
Metodologias de desenvolvimento de softwareMetodologias de desenvolvimento de software
Metodologias de desenvolvimento de software
 
Mtc docker - utilizando no seu dia a dia
Mtc   docker - utilizando no seu dia a diaMtc   docker - utilizando no seu dia a dia
Mtc docker - utilizando no seu dia a dia
 
O teste atualmente
O teste atualmenteO teste atualmente
O teste atualmente
 

Destaque

Zend Framework Estrutura e TDD
Zend Framework Estrutura e TDDZend Framework Estrutura e TDD
Zend Framework Estrutura e TDDPHP Day Curitiba
 
Qualidade no desenvolvimento de software com PHPUnit
Qualidade no desenvolvimento de software com PHPUnitQualidade no desenvolvimento de software com PHPUnit
Qualidade no desenvolvimento de software com PHPUnitDiego Tremper
 
Presentaciön diplomado evea maritza def
Presentaciön diplomado evea  maritza defPresentaciön diplomado evea  maritza def
Presentaciön diplomado evea maritza defmariferlobo
 
Como quitarle lo sencillo a un sueter
Como quitarle lo sencillo a un sueterComo quitarle lo sencillo a un sueter
Como quitarle lo sencillo a un sueterAngie Padilla
 
Programa asistencia de gerencia distancia
Programa asistencia de gerencia   distanciaPrograma asistencia de gerencia   distancia
Programa asistencia de gerencia distanciajack2850
 
Inv. masaje con diag.
Inv. masaje con diag.Inv. masaje con diag.
Inv. masaje con diag.cuamdavid
 
Implemetnacion de sist de calidad agiss
Implemetnacion de sist de calidad agissImplemetnacion de sist de calidad agiss
Implemetnacion de sist de calidad agissLaura Agiss
 
España, la construcción del estado liberal
España, la construcción del estado liberalEspaña, la construcción del estado liberal
España, la construcción del estado liberalLuz Hernandez
 
Sectores economicos
Sectores economicosSectores economicos
Sectores economicosHektor Hoyos
 
Licencia creative commons
Licencia creative commonsLicencia creative commons
Licencia creative commonsgonzalomora2494
 
Etica no servico publico
Etica no servico publicoEtica no servico publico
Etica no servico publicopastorflavio
 
Profesion docente
Profesion docenteProfesion docente
Profesion docenteTKDAYANA
 
Escolha seu projeto pdf
Escolha seu projeto  pdfEscolha seu projeto  pdf
Escolha seu projeto pdfDaniella Prado
 

Destaque (20)

Testes Automatizados No Cakephp
Testes Automatizados No CakephpTestes Automatizados No Cakephp
Testes Automatizados No Cakephp
 
Zend Framework Estrutura e TDD
Zend Framework Estrutura e TDDZend Framework Estrutura e TDD
Zend Framework Estrutura e TDD
 
Qualidade no desenvolvimento de software com PHPUnit
Qualidade no desenvolvimento de software com PHPUnitQualidade no desenvolvimento de software com PHPUnit
Qualidade no desenvolvimento de software com PHPUnit
 
Minicurso de TDD
Minicurso de TDDMinicurso de TDD
Minicurso de TDD
 
Los espacios almenara
Los espacios almenaraLos espacios almenara
Los espacios almenara
 
Presentaciön diplomado evea maritza def
Presentaciön diplomado evea  maritza defPresentaciön diplomado evea  maritza def
Presentaciön diplomado evea maritza def
 
Como quitarle lo sencillo a un sueter
Como quitarle lo sencillo a un sueterComo quitarle lo sencillo a un sueter
Como quitarle lo sencillo a un sueter
 
scan
scanscan
scan
 
Programa asistencia de gerencia distancia
Programa asistencia de gerencia   distanciaPrograma asistencia de gerencia   distancia
Programa asistencia de gerencia distancia
 
Inv. masaje con diag.
Inv. masaje con diag.Inv. masaje con diag.
Inv. masaje con diag.
 
Implemetnacion de sist de calidad agiss
Implemetnacion de sist de calidad agissImplemetnacion de sist de calidad agiss
Implemetnacion de sist de calidad agiss
 
España, la construcción del estado liberal
España, la construcción del estado liberalEspaña, la construcción del estado liberal
España, la construcción del estado liberal
 
Mock up-tudo-produções
Mock up-tudo-produçõesMock up-tudo-produções
Mock up-tudo-produções
 
Sectores economicos
Sectores economicosSectores economicos
Sectores economicos
 
Licencia creative commons
Licencia creative commonsLicencia creative commons
Licencia creative commons
 
Etica no servico publico
Etica no servico publicoEtica no servico publico
Etica no servico publico
 
El tatuaje
El tatuajeEl tatuaje
El tatuaje
 
Auditoria
AuditoriaAuditoria
Auditoria
 
Profesion docente
Profesion docenteProfesion docente
Profesion docente
 
Escolha seu projeto pdf
Escolha seu projeto  pdfEscolha seu projeto  pdf
Escolha seu projeto pdf
 

Semelhante a TDD - Desenvolvimento Dirigido a Testes

Sobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis UberlândiaSobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis UberlândiaRogerio Fontes
 
Qualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnitQualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnitDomingos Teruel
 
UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27Hélio Medeiros
 
Desenvolvimento Guiado por Testes
Desenvolvimento Guiado por TestesDesenvolvimento Guiado por Testes
Desenvolvimento Guiado por Testeselliando dias
 
TDD com Código Legado - "Atualizado"
TDD com Código Legado - "Atualizado"TDD com Código Legado - "Atualizado"
TDD com Código Legado - "Atualizado"Cesar Romero
 
Tente desenvolver diferente com TDD
Tente desenvolver diferente com TDDTente desenvolver diferente com TDD
Tente desenvolver diferente com TDDWebgoal
 
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...Igor Abade
 
Teste Unitários e TDD
Teste Unitários e TDDTeste Unitários e TDD
Teste Unitários e TDDDiogo Damiani
 
Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Igor Abade
 

Semelhante a TDD - Desenvolvimento Dirigido a Testes (20)

Sobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis UberlândiaSobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis Uberlândia
 
Introdução ao TDD
Introdução ao TDDIntrodução ao TDD
Introdução ao TDD
 
Qualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnitQualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnit
 
TDD
TDDTDD
TDD
 
UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27
 
Desenvolvimento Guiado por Testes
Desenvolvimento Guiado por TestesDesenvolvimento Guiado por Testes
Desenvolvimento Guiado por Testes
 
Desenvolvimento Guiado Por Testes
Desenvolvimento Guiado Por TestesDesenvolvimento Guiado Por Testes
Desenvolvimento Guiado Por Testes
 
TDD com Código Legado - "Atualizado"
TDD com Código Legado - "Atualizado"TDD com Código Legado - "Atualizado"
TDD com Código Legado - "Atualizado"
 
Tente desenvolver diferente com TDD
Tente desenvolver diferente com TDDTente desenvolver diferente com TDD
Tente desenvolver diferente com TDD
 
Introdução a TDD
Introdução a TDDIntrodução a TDD
Introdução a TDD
 
Introdução ao TDD
Introdução ao TDDIntrodução ao TDD
Introdução ao TDD
 
Pensando TDD
Pensando TDDPensando TDD
Pensando TDD
 
Test-Driven Development
Test-Driven DevelopmentTest-Driven Development
Test-Driven Development
 
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
 
Teste Unitários e TDD
Teste Unitários e TDDTeste Unitários e TDD
Teste Unitários e TDD
 
Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?
 
TDD na Prática
TDD na PráticaTDD na Prática
TDD na Prática
 
Criando uma Arquitetura Testável
Criando uma Arquitetura TestávelCriando uma Arquitetura Testável
Criando uma Arquitetura Testável
 
Boas práticas de desenvolvimento Ágil
Boas práticas de desenvolvimento ÁgilBoas práticas de desenvolvimento Ágil
Boas práticas de desenvolvimento Ágil
 

TDD - Desenvolvimento Dirigido a Testes