SlideShare uma empresa Scribd logo
1 de 32
TDD+PHP Pedro H. B. Santos William G. Comnisky
Qualidade de Software ,[object Object],[object Object],[object Object],[object Object],[object Object]
Como garantir a qualidade? ,[object Object],[object Object],[object Object],[object Object]
Por que surgem falhas? ,[object Object],[object Object],[object Object]
O que são testes? ,[object Object],[object Object],[object Object],[object Object],[object Object]
Teste vs. Depuração Objetivos do teste:  mostrar que o software tem erros.   Objetivos da depuração:  encontrar a causa do erro detectado no teste, e projetar e implementar as modificações no programa para correção do erro.
Tipos de testes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Teste Unitário “ Procedimento automático usado para validar se uma pequena parte do código  funciona corretamente ”.
Teste Unitário: quando testar? ,[object Object],[object Object]
Teste Unitário: como testar? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Teste Unitário: como funciona? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Teste Unitário: como funciona? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Teste Unitário: como funciona? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Teste Unitário: como funciona? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Teste Unitário: desculpas mais comuns ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Teste Unitário: benefícios ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
TDD – Test-Driven Development “ Desenvolvimento guiado por testes ”. “ TDD se popularizou através da  Extreme Programming (XP) por Kent Beck ”.
TDD: princípios ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
TDD: ciclo
PHPUnit ,[object Object],[object Object],[object Object]
PHPUnit: exemplo ,[object Object],[object Object]
PHPUnit: exemplo ,[object Object],[object Object]
Coding Dojo “ É uma técnica de treinamento que remete as artes marciais. O dojô é o local onde os movimentos da luta são repetidos a exaustão, sempre fazendo pequenas melhorias a cada repetição. No nosso caso, o treino deve reunir pessoas para resolver um problema simples de programação em conjunto, usando apenas um computador ligado a um projetor ”. (dojofloripa.wordpress.com)
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Coding Dojo: princípios
[object Object],[object Object],[object Object],[object Object],[object Object],Coding Dojo: regras gerais
[object Object],[object Object],[object Object],[object Object],[object Object],Coding Dojo: retrospectiva
[object Object],[object Object],[object Object],[object Object],Coding Dojo: formatos
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Coding Dojo: formatos
Coding Dojo: prática Vamos aos códigos..
Links e referências ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Contato ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
TATFT! Test All The F*in’ Time

Mais conteúdo relacionado

Mais procurados

Testando Aplicações Django: Quando, Como e Onde?
Testando Aplicações Django: Quando, Como e Onde?Testando Aplicações Django: Quando, Como e Onde?
Testando Aplicações Django: Quando, Como e Onde?
Bernardo Fontes
 
Zend Framework Estrutura e TDD
Zend Framework Estrutura e TDDZend Framework Estrutura e TDD
Zend Framework Estrutura e TDD
PHP Day Curitiba
 
Implementando Testes Unitários em Java - Manoel Pimentel
Implementando Testes Unitários em Java - Manoel PimentelImplementando Testes Unitários em Java - Manoel Pimentel
Implementando Testes Unitários em Java - Manoel Pimentel
Manoel Pimentel Medeiros
 

Mais procurados (19)

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
 
Testando Aplicações Django: Quando, Como e Onde?
Testando Aplicações Django: Quando, Como e Onde?Testando Aplicações Django: Quando, Como e Onde?
Testando Aplicações Django: Quando, Como e Onde?
 
TDD: A Essência do Mantra
TDD: A Essência do MantraTDD: A Essência do Mantra
TDD: A Essência do Mantra
 
Especificação por meio de exemplos (BDD, testes de aceitação, ...)
Especificação por meio de exemplos (BDD, testes de aceitação, ...)Especificação por meio de exemplos (BDD, testes de aceitação, ...)
Especificação por meio de exemplos (BDD, testes de aceitação, ...)
 
Test-Driven Develpment - TDD
Test-Driven Develpment - TDDTest-Driven Develpment - TDD
Test-Driven Develpment - TDD
 
Tdd na veia
Tdd na veiaTdd na veia
Tdd na veia
 
TDD na Prática
TDD na PráticaTDD na Prática
TDD na Prática
 
TDD Desenvolvimento orientado ao teste
TDD Desenvolvimento orientado ao testeTDD Desenvolvimento orientado ao teste
TDD Desenvolvimento orientado ao teste
 
Abordagem Funcional para Gerenciamento de Erros em .NET
Abordagem Funcional para Gerenciamento de Erros em .NETAbordagem Funcional para Gerenciamento de Erros em .NET
Abordagem Funcional para Gerenciamento de Erros em .NET
 
Dicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHPDicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHP
 
Zend Framework Estrutura e TDD
Zend Framework Estrutura e TDDZend Framework Estrutura e TDD
Zend Framework Estrutura e TDD
 
Desenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesDesenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por Testes
 
Be React. Do Tests!
Be React. Do Tests!Be React. Do Tests!
Be React. Do Tests!
 
Programe a eficácia do seu código
Programe a eficácia do seu códigoPrograme a eficácia do seu código
Programe a eficácia do seu código
 
Gof design patterns
Gof design patternsGof design patterns
Gof design patterns
 
TDD em 220V
TDD em 220VTDD em 220V
TDD em 220V
 
Implementando Testes Unitários em Java - Manoel Pimentel
Implementando Testes Unitários em Java - Manoel PimentelImplementando Testes Unitários em Java - Manoel Pimentel
Implementando Testes Unitários em Java - Manoel Pimentel
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
TDD com Python (Completo)
TDD com Python (Completo)TDD com Python (Completo)
TDD com Python (Completo)
 

Destaque (6)

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
 
Dial6 cdr modelo_carta
Dial6 cdr modelo_cartaDial6 cdr modelo_carta
Dial6 cdr modelo_carta
 
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2
 
2º teste estrela
2º teste estrela2º teste estrela
2º teste estrela
 
Cavaleiro da Dinamarca
Cavaleiro da DinamarcaCavaleiro da Dinamarca
Cavaleiro da Dinamarca
 
O Cavaleiro Da Dinamarca Roteiro De Uma Viagem 7º Ano
O Cavaleiro Da Dinamarca   Roteiro De Uma Viagem  7º AnoO Cavaleiro Da Dinamarca   Roteiro De Uma Viagem  7º Ano
O Cavaleiro Da Dinamarca Roteiro De Uma Viagem 7º Ano
 

Semelhante a Minicurso de 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
Domingos Teruel
 
Desenvolvimento Guiado por Testes
Desenvolvimento Guiado por TestesDesenvolvimento Guiado por Testes
Desenvolvimento Guiado por Testes
elliando dias
 

Semelhante a Minicurso de TDD (20)

Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
 
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
 
Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1
 
TDD em django sem desculpas versao fisl
TDD em django sem desculpas versao fislTDD em django sem desculpas versao fisl
TDD em django sem desculpas versao fisl
 
Refactory Worshop
Refactory WorshopRefactory Worshop
Refactory Worshop
 
Tdd em django sem desculpas versao final
Tdd em django sem desculpas versao finalTdd em django sem desculpas versao final
Tdd em django sem desculpas versao final
 
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
 
Os Benefícios dos testes no desenvolvimento de software
Os Benefícios dos testes no desenvolvimento de softwareOs Benefícios dos testes no desenvolvimento de software
Os Benefícios dos testes no desenvolvimento de software
 
JUnit Sample
JUnit SampleJUnit Sample
JUnit Sample
 
Teste Driven Development
Teste Driven DevelopmentTeste Driven Development
Teste Driven Development
 
Desenvolvimento Guiado por Testes
Desenvolvimento Guiado por TestesDesenvolvimento Guiado por Testes
Desenvolvimento Guiado por Testes
 
Programacao Extrema
Programacao ExtremaProgramacao Extrema
Programacao Extrema
 
Testando Aplicações com PHPT
Testando Aplicações com PHPTTestando Aplicações com PHPT
Testando Aplicações com PHPT
 
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software ÁgilTDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
 
TDD do seu jeito
TDD do seu jeitoTDD do seu jeito
TDD do seu jeito
 
TDD (Resumo)
TDD (Resumo)TDD (Resumo)
TDD (Resumo)
 
Tdd x testes unidades
Tdd x testes unidadesTdd x testes unidades
Tdd x testes unidades
 
Implementando Implementando eXtreme treme Programming rogramming em em Java Java
Implementando Implementando eXtreme treme Programming rogramming em em Java JavaImplementando Implementando eXtreme treme Programming rogramming em em Java Java
Implementando Implementando eXtreme treme Programming rogramming em em Java Java
 
XP Programming
XP ProgrammingXP Programming
XP Programming
 
Apresentacao Testes de Unidade
Apresentacao Testes de UnidadeApresentacao Testes de Unidade
Apresentacao Testes de Unidade
 

Último

Último (6)

Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 

Minicurso de TDD

  • 1. TDD+PHP Pedro H. B. Santos William G. Comnisky
  • 2.
  • 3.
  • 4.
  • 5.
  • 6. Teste vs. Depuração Objetivos do teste: mostrar que o software tem erros. Objetivos da depuração: encontrar a causa do erro detectado no teste, e projetar e implementar as modificações no programa para correção do erro.
  • 7.
  • 8. Teste Unitário “ Procedimento automático usado para validar se uma pequena parte do código funciona corretamente ”.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17. TDD – Test-Driven Development “ Desenvolvimento guiado por testes ”. “ TDD se popularizou através da Extreme Programming (XP) por Kent Beck ”.
  • 18.
  • 20.
  • 21.
  • 22.
  • 23. Coding Dojo “ É uma técnica de treinamento que remete as artes marciais. O dojô é o local onde os movimentos da luta são repetidos a exaustão, sempre fazendo pequenas melhorias a cada repetição. No nosso caso, o treino deve reunir pessoas para resolver um problema simples de programação em conjunto, usando apenas um computador ligado a um projetor ”. (dojofloripa.wordpress.com)
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29. Coding Dojo: prática Vamos aos códigos..
  • 30.
  • 31.
  • 32. TATFT! Test All The F*in’ Time