SlideShare uma empresa Scribd logo
Test Driven Development
 Teste automatizado é uma
  documentação executável.
 Testes automáticos geram Feed Back
  rápido e fácil (1 click).
 Teste de software é qualidade de
  software.
 Teste de caixa preta (Funcional), é
  cansativo para o ser humano.
TDD - Pós Graduação em Engenharia de Software Ágil
   Integração
   Regressão
   Aceitação
   Stress / Carga
   Funcional / Caixa Preta
   Unitários
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
   Criado por Kent Back
   Em 2003
   XP (Extreme Programming)
   Manifesto Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
Keep It Simple, Stupid
You Ain’t Gonna Need It
TDD - Pós Graduação em Engenharia de Software Ágil
Don´t repeat yourself
     Duplicate is Evil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
Desenha   Implementa   Testa
Desenha   Testa   Implementa   Testa
Desenha




Testa                Testa




        Implementa
Desenha




Testa                Testa




        Implementa
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
Entenda o
           Bug




Teste               Teste




        Corrija o
          Bug
   Encontre o foco do problema que gera o Bug
   Transforme-o em um teste
   Teste. Ele deve falhar
   Corrija o bug
   Teste novamente. Ele deve passar
   Tente fazer com que os próprios usuários
    submetam testes
   Examine o código e encontre possíveis Bugs
    semelhantes
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
Não importa se foi feito essa manhã.
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
Anh? =/




Teste             Teste




        Ahh! =)
   Analise o código
   Construa o teste e veja se você entendeu o
    problema
   Teste
   Adapte o teste (Iterativamente)
   Teste
   Siga para a próxima parte
   Entenda
   Documente
   Refatore
   Remova excessos
   Padronize
   Faça-o seguro e robusto
   CUIDADO!
   Vá devagar
   Esteja pronto para desfazer tudo
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
 Elevação   do comprometimento
  do time
 Planejamento mais rápido
 Sãoconsiderados Scrum e
 TDD na discussão do que é
 ou não entregável
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
SCRUM                       TDD
Agilidade e Transparência   Qualidade
MITOS                           REALIDADES

TDD pode gerar um conjunto de       Componentes de terceiros às
testes 100% aplicáveis para         vezes deixam de ter testes e até o
qualquer aplicação                  código-fonte.



Você só precisa fazer teste de      É preciso aplicar outras técnicas
unidade                             de testes, mesmo para sistemas
                                    simples.

                                    TDD contemplam apenas o teste
TDD é suficiente para testar tudo   entre o desenvolvedor e a
                                    unidade.

TDD não é escalável                 O TDD encoraja o refactoring, o
                                    que torna o código escalável.
TDD - Pós Graduação em Engenharia de Software Ágil
   Os riscos aumentam

   Demora mais na entrega e muito menos na
    correção
   Ou o problema não foi entendido

   Ou utiliza um grande inimigo o Ctrl+C,
    Ctrl+V
   É como se não conhecesse uma biblioteca e
    isso o impedisse de testar

   Trata apenas de programação coisa que já
    estamos acostumados
   Sem fundamento

   Se o cenário é inédito existe a comunidade
    que pode ajudar
   Testes devem ser escritos antes do código

   Não significa abrir mão de uma poderosa
    ferramenta
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
   Escreva um teste que não irá funcionar.

   Faça com que esse teste funcione com a
    implementação mais óbvia e rápida possível.

   Repita esse ciclo iterativamente refatorando o
    código eliminando o desnecessário.
TDD - Pós Graduação em Engenharia de Software Ágil
   Bruno Eustáquio
   Juliana Villas Boas
   Marcelo Nascimento
   Thiago Funghi
   Thiago Ribeiro

PO - Márcio Sete

Mais conteúdo relacionado

PDF
Introdução ao TDD (Test-Driven Development) - #guma10anos
PDF
Tdd na veia
PPTX
TDD (Test-Driven Development)
PPT
TDD - Test Driven Development com JAVA
PPTX
TDD: Técnicas, Benefícios e Limitação
PDF
TDD: A Essência do Mantra
PDF
TDD para "meros mortais"
PDF
Test Driven Development (TDD) para seres humanos.
Introdução ao TDD (Test-Driven Development) - #guma10anos
Tdd na veia
TDD (Test-Driven Development)
TDD - Test Driven Development com JAVA
TDD: Técnicas, Benefícios e Limitação
TDD: A Essência do Mantra
TDD para "meros mortais"
Test Driven Development (TDD) para seres humanos.

Mais procurados (19)

PDF
Test-Driven Develpment - TDD
PPTX
TDD Desenvolvimento orientado ao teste
PPT
TDD direto das trincheiras
PPTX
Tdd x testes unidades
PDF
Coding Dojo - Funcionamento
PDF
TDD com Python
PPT
Desenvolvimento Guiado Por Testes
PDF
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
PPTX
PPT
Minicurso de TDD
PPTX
Programe a eficácia do seu código
PPT
TDD - Test Driven Development
PPTX
1 2 3 - Testando - Automatizando os testes de software
PDF
RealDay: Introduction to TDD
KEY
Testes - Para que?
PDF
TDD - Workshop Pyladies SP
PDF
Testes Unitários
PDF
Desenvolvimento Guiado por Testes
Test-Driven Develpment - TDD
TDD Desenvolvimento orientado ao teste
TDD direto das trincheiras
Tdd x testes unidades
Coding Dojo - Funcionamento
TDD com Python
Desenvolvimento Guiado Por Testes
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Minicurso de TDD
Programe a eficácia do seu código
TDD - Test Driven Development
1 2 3 - Testando - Automatizando os testes de software
RealDay: Introduction to TDD
Testes - Para que?
TDD - Workshop Pyladies SP
Testes Unitários
Desenvolvimento Guiado por Testes
Anúncio

Destaque (9)

PPTX
Pensando TDD
PPTX
SITSP Developers 2016 - ABAP c/ TDD
PDF
TDD para Java EE
PPT
Introdução ao TDD
PPT
TDD And Refactoring
PPTX
TDD - Test Driven Development
PPTX
Test-Driven Development (TDD)
PPTX
TDD - Agile
PDF
Test Driven Development (TDD)
Pensando TDD
SITSP Developers 2016 - ABAP c/ TDD
TDD para Java EE
Introdução ao TDD
TDD And Refactoring
TDD - Test Driven Development
Test-Driven Development (TDD)
TDD - Agile
Test Driven Development (TDD)
Anúncio

Semelhante a TDD - Pós Graduação em Engenharia de Software Ágil (20)

PDF
Por quê você deve utilizar TDD?
PPT
Test driven development
PPTX
Desenvolvimento orientado a testes - TDD
PDF
UnP Eng. Software - Aula 27
PPT
Final Project (2013): Test-Driven Development applied on web applications
PPTX
TDD - A Verdadeira Face do Teste
PPTX
Test-Driven Development
PPTX
Desenvolvimento dirigido por comportamento e por teste
PDF
Introdução ao TDD
PDF
Introdução ao TDD
KEY
Qualidade no desenvolvimento de Software com TDD e PHPUnit
PPTX
Introdução a tdd
PPTX
TDD (Resumo)
PPTX
TDD na Prática
PPTX
Test-Driven Development (TDD) utilizando o framework xUnit.net
PDF
Boas práticas no desenvolvimento de software através do uso de TDD
PPTX
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Developers-SP - Janei...
PPT
Treinamento Testes Unitários - parte 1
PDF
TDD e Refactoring
PPTX
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Grupo Bandeirantes - ...
Por quê você deve utilizar TDD?
Test driven development
Desenvolvimento orientado a testes - TDD
UnP Eng. Software - Aula 27
Final Project (2013): Test-Driven Development applied on web applications
TDD - A Verdadeira Face do Teste
Test-Driven Development
Desenvolvimento dirigido por comportamento e por teste
Introdução ao TDD
Introdução ao TDD
Qualidade no desenvolvimento de Software com TDD e PHPUnit
Introdução a tdd
TDD (Resumo)
TDD na Prática
Test-Driven Development (TDD) utilizando o framework xUnit.net
Boas práticas no desenvolvimento de software através do uso de TDD
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Developers-SP - Janei...
Treinamento Testes Unitários - parte 1
TDD e Refactoring
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Grupo Bandeirantes - ...

Mais de Bruno Eustáquio (7)

PDF
Empreendedorismo, Tecnologia e as Oportunidades Disfarçadas
PDF
Inbound Marketing - Saiba Porquê sua Empresa já Deveria ter uma Estratégia de...
PDF
UFV 2013 - 10 dicas para criar uma empresa inovadora de sucesso... Ou não.
PDF
UNA 2013 - 10 dicas para criar uma empresa inovadora de sucesso... Ou não.
PDF
Introdução ao ERP
PDF
Mídias sociais para profissionais de RH
PDF
SEO, Como e porque otimizar seu website - Semana da Informática UFV
Empreendedorismo, Tecnologia e as Oportunidades Disfarçadas
Inbound Marketing - Saiba Porquê sua Empresa já Deveria ter uma Estratégia de...
UFV 2013 - 10 dicas para criar uma empresa inovadora de sucesso... Ou não.
UNA 2013 - 10 dicas para criar uma empresa inovadora de sucesso... Ou não.
Introdução ao ERP
Mídias sociais para profissionais de RH
SEO, Como e porque otimizar seu website - Semana da Informática UFV

Último (11)

PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
PPTX
Eng. Software - pontos essenciais para o início
PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
PPTX
Utilizando code blockes por andre backes
PPTX
Arquitetura de computadores - Memórias Secundárias
PDF
Manejo integrado de pragas na cultura do algodão
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PPTX
Tipos de servidor em redes de computador.pptx
PPTX
Design - Introdução a Gestalt e teoria das formas
Viasol Energia Solar -Soluções para geração e economia de energia
Eng. Software - pontos essenciais para o início
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
Utilizando code blockes por andre backes
Arquitetura de computadores - Memórias Secundárias
Manejo integrado de pragas na cultura do algodão
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Tipos de servidor em redes de computador.pptx
Design - Introdução a Gestalt e teoria das formas

TDD - Pós Graduação em Engenharia de Software Ágil

  • 2.  Teste automatizado é uma documentação executável.  Testes automáticos geram Feed Back rápido e fácil (1 click).  Teste de software é qualidade de software.  Teste de caixa preta (Funcional), é cansativo para o ser humano.
  • 4. Integração  Regressão  Aceitação  Stress / Carga  Funcional / Caixa Preta  Unitários
  • 10. Criado por Kent Back  Em 2003  XP (Extreme Programming)  Manifesto Ágil
  • 12. Keep It Simple, Stupid
  • 13. You Ain’t Gonna Need It
  • 15. Don´t repeat yourself Duplicate is Evil
  • 19. Desenha Implementa Testa
  • 20. Desenha Testa Implementa Testa
  • 21. Desenha Testa Testa Implementa
  • 22. Desenha Testa Testa Implementa
  • 26. Entenda o Bug Teste Teste Corrija o Bug
  • 27. Encontre o foco do problema que gera o Bug  Transforme-o em um teste  Teste. Ele deve falhar  Corrija o bug  Teste novamente. Ele deve passar
  • 28. Tente fazer com que os próprios usuários submetam testes  Examine o código e encontre possíveis Bugs semelhantes
  • 32. Não importa se foi feito essa manhã.
  • 37. Anh? =/ Teste Teste Ahh! =)
  • 38. Analise o código  Construa o teste e veja se você entendeu o problema  Teste  Adapte o teste (Iterativamente)  Teste  Siga para a próxima parte
  • 39. Entenda  Documente  Refatore  Remova excessos  Padronize  Faça-o seguro e robusto
  • 40. CUIDADO!  Vá devagar  Esteja pronto para desfazer tudo
  • 54.  Elevação do comprometimento do time  Planejamento mais rápido
  • 55.  Sãoconsiderados Scrum e TDD na discussão do que é ou não entregável
  • 60. SCRUM TDD Agilidade e Transparência Qualidade
  • 61. MITOS REALIDADES TDD pode gerar um conjunto de Componentes de terceiros às testes 100% aplicáveis para vezes deixam de ter testes e até o qualquer aplicação código-fonte. Você só precisa fazer teste de É preciso aplicar outras técnicas unidade de testes, mesmo para sistemas simples. TDD contemplam apenas o teste TDD é suficiente para testar tudo entre o desenvolvedor e a unidade. TDD não é escalável O TDD encoraja o refactoring, o que torna o código escalável.
  • 63. Os riscos aumentam  Demora mais na entrega e muito menos na correção
  • 64. Ou o problema não foi entendido  Ou utiliza um grande inimigo o Ctrl+C, Ctrl+V
  • 65. É como se não conhecesse uma biblioteca e isso o impedisse de testar  Trata apenas de programação coisa que já estamos acostumados
  • 66. Sem fundamento  Se o cenário é inédito existe a comunidade que pode ajudar
  • 67. Testes devem ser escritos antes do código  Não significa abrir mão de uma poderosa ferramenta
  • 82. Escreva um teste que não irá funcionar.  Faça com que esse teste funcione com a implementação mais óbvia e rápida possível.  Repita esse ciclo iterativamente refatorando o código eliminando o desnecessário.
  • 84. Bruno Eustáquio  Juliana Villas Boas  Marcelo Nascimento  Thiago Funghi  Thiago Ribeiro PO - Márcio Sete