SlideShare uma empresa Scribd logo
Test-driven
                                           Felipe Elias Philipp @ W3BOX
                           Development
 15/01/2010

Friday, January 29, 2010
O dia a dia de um
       desenvolvedor




Friday, January 29, 2010
Pensamentos comuns
       (e errados) sobre testes




Friday, January 29, 2010
Pensamentos comuns
       (e errados) sobre testes

       • Eu sou desenvolvedor, não sou
         testador.




Friday, January 29, 2010
Pensamentos comuns
       (e errados) sobre testes

       • Eu sou desenvolvedor, não sou
         testador.


       • Vou deixar alguém que
         conheça as regras de negócio
         testar.




Friday, January 29, 2010
Pensamentos comuns
       (e errados) sobre testes

       • Eu sou desenvolvedor, não sou
         testador.


       • Vou deixar alguém que
         conheça as regras de negócio
         testar.


       • É melhor deixar outra pessoa
         testar.




Friday, January 29, 2010
Pensamentos comuns
       (e errados) sobre testes

       • Eu sou desenvolvedor, não sou
         testador.


       • Vou deixar alguém que
         conheça as regras de negócio
         testar.


       • É melhor deixar outra pessoa
         testar.


       • Não tenho tempo para testar.




Friday, January 29, 2010
Quem deve testar?   Quem é responsável pelos testes?


Friday, January 29, 2010
Por que o
       desenvolvedor deve
       testar?




Friday, January 29, 2010
Como testar?




Friday, January 29, 2010
TDD - Test-driven
       Development




Friday, January 29, 2010
“É uma técnica de desenvolvimento de software em que se
               desenvolve em pequenas iterações, onde primeiro se escreve o
               teste e depois o código. Cada iteração deve começar com um
                 teste que falhe, e terminar com todos os testes passando”




Friday, January 29, 2010
O ciclo de TDD

       • O programador escreve um
         teste que falhe.




Friday, January 29, 2010
O ciclo de TDD

       • O programador escreve um
         teste que falhe.


       • O programador escreve o
         código mais simples possível
         para o teste passar.




Friday, January 29, 2010
O ciclo de TDD

       • O programador escreve um
         teste que falhe.


       • O programador escreve o
         código mais simples possível
         para o teste passar.


       • Com todos os testes passando,
         refatora-se o código se
         necessário.




Friday, January 29, 2010
O ciclo de TDD

       • O programador escreve um
         teste que falhe.


       • O programador escreve o
         código mais simples possível
         para o teste passar.


       • Com todos os testes passando,
         refatora-se o código se
         necessário.


       • Ciclo se repete.




Friday, January 29, 2010
Quais as vantagens do TDD?




Friday, January 29, 2010
Mais segurança e
       confiança no código
       Se alguém introduzir um bug, o
       teste falhará.




Friday, January 29, 2010
Desacoplamento
       entre os
       componentes
       Sem aquela história: “mexe de
       um lado, estraga de outro”




Friday, January 29, 2010
Melhor qualidade do
                                                 Facilidade na refatoração
                                        código
Friday, January 29, 2010
Os testes servem como
                                               e são executáveis!
                                especificação
Friday, January 29, 2010
TDD não é...

       • ... teste caixa preta.




Friday, January 29, 2010
TDD não é...

       • ... teste caixa preta.


       • ... teste de aceitação.




Friday, January 29, 2010
TDD não é...

       • ... teste caixa preta.


       • ... teste de aceitação.


       • ... perda de tempo.




Friday, January 29, 2010
TDD não é...

       • ... teste caixa preta.


       • ... teste de aceitação.


       • ... perda de tempo.


       • ... bala de prata.




Friday, January 29, 2010
Algumas dicas




Friday, January 29, 2010
Algumas dicas

       • Faça um brainstorm antes para pensar nos testes possíveis.




Friday, January 29, 2010
Algumas dicas

       • Faça um brainstorm antes para pensar nos testes possíveis.


       • Escreva um teste legível.




Friday, January 29, 2010
Algumas dicas

       • Faça um brainstorm antes para pensar nos testes possíveis.


       • Escreva um teste legível.


       • Crie testes simples de resolver.




Friday, January 29, 2010
Algumas dicas

       • Faça um brainstorm antes para pensar nos testes possíveis.


       • Escreva um teste legível.


       • Crie testes simples de resolver.


       • Use dados reais!




Friday, January 29, 2010
Alguns mantras




Friday, January 29, 2010
Alguns mantras

       • Não tente resolver todos os problemas de uma vez.




Friday, January 29, 2010
Alguns mantras

       • Não tente resolver todos os problemas de uma vez.


       • Não vá para o próximo teste quando você ainda está resolvendo o atual.




Friday, January 29, 2010
Alguns mantras

       • Não tente resolver todos os problemas de uma vez.


       • Não vá para o próximo teste quando você ainda está resolvendo o atual.


       • Se você precisa de mais funcionalidades, exponha-as em um teste.




Friday, January 29, 2010
Alguns mantras

       • Não tente resolver todos os problemas de uma vez.


       • Não vá para o próximo teste quando você ainda está resolvendo o atual.


       • Se você precisa de mais funcionalidades, exponha-as em um teste.


       • Se você encontrar um bug, exponha-o em um teste.




Friday, January 29, 2010
Alguns mantras

       • Não tente resolver todos os problemas de uma vez.


       • Não vá para o próximo teste quando você ainda está resolvendo o atual.


       • Se você precisa de mais funcionalidades, exponha-as em um teste.


       • Se você encontrar um bug, exponha-o em um teste.


       • Não refatore até os testes estarem passando (verde).




Friday, January 29, 2010
Perguntas?




Friday, January 29, 2010

Mais conteúdo relacionado

PPTX
Apresentacao Testes de Unidade
PDF
Verdades e mitos sobre testes que eu gostaria
PPT
Introdução ao TDD
PDF
Padrões para Desenvolvimento de Software Guiado por Testes
PPTX
Testes Unitários
PPTX
Apresentação lições aprendidas
PPTX
Apresentação lições aprendidas
PDF
Mock it with mockito
Apresentacao Testes de Unidade
Verdades e mitos sobre testes que eu gostaria
Introdução ao TDD
Padrões para Desenvolvimento de Software Guiado por Testes
Testes Unitários
Apresentação lições aprendidas
Apresentação lições aprendidas
Mock it with mockito

Mais procurados (9)

PDF
Testes de unidade - Conhecendo e aplicando
DOC
Testes de Sistema
PPT
Test-Driven Development - Introdução ao método de construção de software guia...
PPTX
O poder do TDD
PDF
Hacktoberfest - Contribuindo com Open Source
PPT
Treinamento Testes Unitários - parte 1
PDF
E no Sétimo dia ele escreveu testes - Seminario PHP
PPTX
O que faz (ou não) um tester no mundo ágil
PDF
Testando como um profissional
Testes de unidade - Conhecendo e aplicando
Testes de Sistema
Test-Driven Development - Introdução ao método de construção de software guia...
O poder do TDD
Hacktoberfest - Contribuindo com Open Source
Treinamento Testes Unitários - parte 1
E no Sétimo dia ele escreveu testes - Seminario PHP
O que faz (ou não) um tester no mundo ágil
Testando como um profissional
Anúncio

Destaque (9)

DOC
Autoretrato
PDF
Catalogo Wv 2009
PPTX
Ruby On Rails
DOC
Artículo revista beatriz risco
DOC
Trabajo para el blog
PPT
DecáLogo Del Docente Edja
PPS
Por que somos feos?
ODT
Ciro alegria
PPS
Why Men Die Young
Autoretrato
Catalogo Wv 2009
Ruby On Rails
Artículo revista beatriz risco
Trabajo para el blog
DecáLogo Del Docente Edja
Por que somos feos?
Ciro alegria
Why Men Die Young
Anúncio

Semelhante a Test-driven Development - Introdução (20)

PDF
Cultura de testes
PDF
Testes e Refatoração
PDF
Testes e Refatoração
PDF
Testes de Software & Ferramentas de Testes
PPTX
TDD - A Verdadeira Face do Teste
PPTX
Testes Automatizados
PPTX
Introdução a tdd
PDF
Testing sucks
PDF
Desenvolvimento em .Net - Testes Unitários
PPTX
Construindo bons relacionamentos entre desenvolvedores e testadores
PDF
Introdução ao TDD
PDF
4 engenharia de software
PDF
DevCamp - O papel de um testador em uma equipe ágil
PDF
Aula - Teste de Software
PDF
Test Driven Development - Trabalhe tranquilo e maximize sua produtividade
PDF
Automação de Testes Mitos e Verdades
KEY
Qualidade no desenvolvimento de Software com TDD e PHPUnit
PPTX
TDD (Resumo)
PDF
TDD com Python
Cultura de testes
Testes e Refatoração
Testes e Refatoração
Testes de Software & Ferramentas de Testes
TDD - A Verdadeira Face do Teste
Testes Automatizados
Introdução a tdd
Testing sucks
Desenvolvimento em .Net - Testes Unitários
Construindo bons relacionamentos entre desenvolvedores e testadores
Introdução ao TDD
4 engenharia de software
DevCamp - O papel de um testador em uma equipe ágil
Aula - Teste de Software
Test Driven Development - Trabalhe tranquilo e maximize sua produtividade
Automação de Testes Mitos e Verdades
Qualidade no desenvolvimento de Software com TDD e PHPUnit
TDD (Resumo)
TDD com Python

Último (19)

PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PDF
Apple Pippin Uma breve introdução. - David Glotz
PDF
Aula04-Academia Heri- Tecnologia Geral 2025
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PPTX
Aula 18 - Manipulacao De Arquivos python
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PDF
Processos na gestão de transportes, TM100 Col18
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Custos e liquidação no SAP Transportation Management, TM130 Col18
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Apple Pippin Uma breve introdução. - David Glotz
Aula04-Academia Heri- Tecnologia Geral 2025
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
COBITxITIL-Entenda as diferença em uso governança TI
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Aula 18 - Manipulacao De Arquivos python
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Processos na gestão de transportes, TM100 Col18
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14

Test-driven Development - Introdução

  • 1. Test-driven Felipe Elias Philipp @ W3BOX Development 15/01/2010 Friday, January 29, 2010
  • 2. O dia a dia de um desenvolvedor Friday, January 29, 2010
  • 3. Pensamentos comuns (e errados) sobre testes Friday, January 29, 2010
  • 4. Pensamentos comuns (e errados) sobre testes • Eu sou desenvolvedor, não sou testador. Friday, January 29, 2010
  • 5. Pensamentos comuns (e errados) sobre testes • Eu sou desenvolvedor, não sou testador. • Vou deixar alguém que conheça as regras de negócio testar. Friday, January 29, 2010
  • 6. Pensamentos comuns (e errados) sobre testes • Eu sou desenvolvedor, não sou testador. • Vou deixar alguém que conheça as regras de negócio testar. • É melhor deixar outra pessoa testar. Friday, January 29, 2010
  • 7. Pensamentos comuns (e errados) sobre testes • Eu sou desenvolvedor, não sou testador. • Vou deixar alguém que conheça as regras de negócio testar. • É melhor deixar outra pessoa testar. • Não tenho tempo para testar. Friday, January 29, 2010
  • 8. Quem deve testar? Quem é responsável pelos testes? Friday, January 29, 2010
  • 9. Por que o desenvolvedor deve testar? Friday, January 29, 2010
  • 11. TDD - Test-driven Development Friday, January 29, 2010
  • 12. “É uma técnica de desenvolvimento de software em que se desenvolve em pequenas iterações, onde primeiro se escreve o teste e depois o código. Cada iteração deve começar com um teste que falhe, e terminar com todos os testes passando” Friday, January 29, 2010
  • 13. O ciclo de TDD • O programador escreve um teste que falhe. Friday, January 29, 2010
  • 14. O ciclo de TDD • O programador escreve um teste que falhe. • O programador escreve o código mais simples possível para o teste passar. Friday, January 29, 2010
  • 15. O ciclo de TDD • O programador escreve um teste que falhe. • O programador escreve o código mais simples possível para o teste passar. • Com todos os testes passando, refatora-se o código se necessário. Friday, January 29, 2010
  • 16. O ciclo de TDD • O programador escreve um teste que falhe. • O programador escreve o código mais simples possível para o teste passar. • Com todos os testes passando, refatora-se o código se necessário. • Ciclo se repete. Friday, January 29, 2010
  • 17. Quais as vantagens do TDD? Friday, January 29, 2010
  • 18. Mais segurança e confiança no código Se alguém introduzir um bug, o teste falhará. Friday, January 29, 2010
  • 19. Desacoplamento entre os componentes Sem aquela história: “mexe de um lado, estraga de outro” Friday, January 29, 2010
  • 20. Melhor qualidade do Facilidade na refatoração código Friday, January 29, 2010
  • 21. Os testes servem como e são executáveis! especificação Friday, January 29, 2010
  • 22. TDD não é... • ... teste caixa preta. Friday, January 29, 2010
  • 23. TDD não é... • ... teste caixa preta. • ... teste de aceitação. Friday, January 29, 2010
  • 24. TDD não é... • ... teste caixa preta. • ... teste de aceitação. • ... perda de tempo. Friday, January 29, 2010
  • 25. TDD não é... • ... teste caixa preta. • ... teste de aceitação. • ... perda de tempo. • ... bala de prata. Friday, January 29, 2010
  • 27. Algumas dicas • Faça um brainstorm antes para pensar nos testes possíveis. Friday, January 29, 2010
  • 28. Algumas dicas • Faça um brainstorm antes para pensar nos testes possíveis. • Escreva um teste legível. Friday, January 29, 2010
  • 29. Algumas dicas • Faça um brainstorm antes para pensar nos testes possíveis. • Escreva um teste legível. • Crie testes simples de resolver. Friday, January 29, 2010
  • 30. Algumas dicas • Faça um brainstorm antes para pensar nos testes possíveis. • Escreva um teste legível. • Crie testes simples de resolver. • Use dados reais! Friday, January 29, 2010
  • 32. Alguns mantras • Não tente resolver todos os problemas de uma vez. Friday, January 29, 2010
  • 33. Alguns mantras • Não tente resolver todos os problemas de uma vez. • Não vá para o próximo teste quando você ainda está resolvendo o atual. Friday, January 29, 2010
  • 34. Alguns mantras • Não tente resolver todos os problemas de uma vez. • Não vá para o próximo teste quando você ainda está resolvendo o atual. • Se você precisa de mais funcionalidades, exponha-as em um teste. Friday, January 29, 2010
  • 35. Alguns mantras • Não tente resolver todos os problemas de uma vez. • Não vá para o próximo teste quando você ainda está resolvendo o atual. • Se você precisa de mais funcionalidades, exponha-as em um teste. • Se você encontrar um bug, exponha-o em um teste. Friday, January 29, 2010
  • 36. Alguns mantras • Não tente resolver todos os problemas de uma vez. • Não vá para o próximo teste quando você ainda está resolvendo o atual. • Se você precisa de mais funcionalidades, exponha-as em um teste. • Se você encontrar um bug, exponha-o em um teste. • Não refatore até os testes estarem passando (verde). Friday, January 29, 2010