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

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
 
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
 
TDD: A Essência do Mantra
TDD: A Essência do MantraTDD: A Essência do Mantra
TDD: A Essência do MantraDionatan default
 
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, ...)Fábio Nogueira de Lucena
 
Test-Driven Develpment - TDD
Test-Driven Develpment - TDDTest-Driven Develpment - TDD
Test-Driven Develpment - TDDKleber Bernardo
 
TDD Desenvolvimento orientado ao teste
TDD Desenvolvimento orientado ao testeTDD Desenvolvimento orientado ao teste
TDD Desenvolvimento orientado ao testeRafaela Prado
 
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 .NETGabriel Schade Cardoso
 
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 PHPDouglas V. Pasqua
 
Zend Framework Estrutura e TDD
Zend Framework Estrutura e TDDZend Framework Estrutura e TDD
Zend Framework Estrutura e TDDPHP Day Curitiba
 
Desenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesDesenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesCamilo Ribeiro
 
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ódigoAna Claudia Nogueira
 
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 PimentelManoel 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

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
 
Dial6 cdr modelo_carta
Dial6 cdr modelo_cartaDial6 cdr modelo_carta
Dial6 cdr modelo_cartaSal Sal
 
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 2Cezar Souza
 
Cavaleiro da Dinamarca
Cavaleiro da DinamarcaCavaleiro da Dinamarca
Cavaleiro da Dinamarcaluiscontente
 
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º AnoDaniela Sousa
 

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

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...Developer Academy
 
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
 
Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1Diego Pacheco
 
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 fislAdriano Petrich
 
Refactory Worshop
Refactory WorshopRefactory Worshop
Refactory Worshopguestd37c23
 
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 finalAdriano Petrich
 
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
 
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 softwareDextra Sistemas / Etec Itu
 
Desenvolvimento Guiado por Testes
Desenvolvimento Guiado por TestesDesenvolvimento Guiado por Testes
Desenvolvimento Guiado por Testeselliando dias
 
Testando Aplicações com PHPT
Testando Aplicações com PHPTTestando Aplicações com PHPT
Testando Aplicações com PHPTSidney Souza
 
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 ÁgilBruno Eustáquio
 
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 Javaelliando dias
 
XP Programming
XP ProgrammingXP Programming
XP ProgrammingCJR, UnB
 
Apresentacao Testes de Unidade
Apresentacao Testes de UnidadeApresentacao Testes de Unidade
Apresentacao Testes de UnidadeAline Ferreira
 

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
 

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