SlideShare uma empresa Scribd logo
1 de 34
Baixar para ler offline
Romulo Santos
TDD PARA SERES HUMANOS
Uma conversa simples sobre os benefícios do desenvolvimento
orientado a testes, que está vivo, evoluindo e passa muito bem.
Quem sou eu?
2
Troublemaker lv. 21
Romulo Santos
POR QUE TESTAMOS?
Essa é fácil hein!
3
PRA SABER SE NÃO
ESTAMOS ERRADOS
Eu disse que era fácil! Tome ai um bat-joinha.
4
AUTOMATIZADOS
OU MANUAIS?
Que tipo de teste é melhor?
5
AUTOMATIZADOS
Testes automatizados são mais legais que dinossauros robôs!
6
ANTES OU DEPOIS?
Qual é a melhor hora pra testar?
7
NENHUM DOS DOIS!
Yeah Yeah!
8
CICLO MALDITO DA FRUSTRAÇÃO GARANTIDA
9
Erros
Stress
Testes
CICLO LINDO DA RECOMPENSA IMEDIATA
10
Erros
Stress
Testes
POR QUE NÃO
TESTAR DEPOIS?
Porque não?
11
DISCIPLINA12
TDD NÃO É SOBRE
TESTES
(VERIFICAÇÃO)
Ah não!
13
TDD É SOBRE DESIGN
Design não é uma fase, mas um processo contínuo!
14
TDD NÃO É REVOLUÇÃO, TDD É EVOLUÇÃO
O objetivo é código limpo e que funciona
Tudo o que você sabia sobre um bom design ainda vale.
15
DESIGN UP-FRONT (TRADICIONAL)
16
16
Design
16
Implementação Teste
DESIGN UP-FRONT (TESTE PRIMEIRO)
17
17
Design
17
ImplementaçãoTeste
TEST DRIVEN DEVELOPMENT / TEST DRIVEN DESIGN
18
18
Design
18
Implementação
Teste
Teste
COMO FAZER
•1 Adicione um teste
•2 Rode todos os testes
•3 Faça uma pequena mudança
•4 Rode todos os testes (todos devem passar)
•5 Refatore
19
VERMELHO VERDE REFATORE
20
TÉCNICAS PARA UM
BOM TDD
TDD Ninja!
21
LISTA DE TESTES
Uma coisa de cada vez
22
ISOLAMENTO
Cada coisa separada
23
DE CIMA PRA BAIXO
OU DE BAIXO PRA
CIMA
Direções opostas rumo ao mesmo destino
24
TESTES DEVEM
ENSINAR
Ter um significado
25
COMO FAZER O TESTE
•Onde começar? 

Teste mais simples

•Como Começar? 

Assertion mais óbvia

•E depois? 

Testes e assertions que respondem a perguntas

Que te ajudam a entender outros testes

Que você sabe que dará conta
26
O teste é uma ferramenta para um design melhor
TESTE É A MELHOR
DOCUMENTAÇÃO
Código limpo e que funciona!
27
OUTRAS VANTAGENS
Como se precisasse!
28
VOCE SABE QUANDO
TERMINOU
Só falta testar…
29
VOCÊ APRENDE O
MÁXIMO COM O
CÓDIGO
Ao invés de ficar sempre com a primeira idéia que aparece.
30
AGREGA QUALIDADE
Usuários mais felizes
31
INSPIRA CONFIANÇA
32
O FIM DO MEDO
33
Perguntas e sugestões
rsantos@thoughtworks.com
OBRIGADO!

Mais conteúdo relacionado

Mais procurados

Test Driven Development - Em busca de feedback util e concreto
Test Driven Development - Em busca de feedback util e concretoTest Driven Development - Em busca de feedback util e concreto
Test Driven Development - Em busca de feedback util e concretoHélio Medeiros
 
Automatizando testes em 4 passos
Automatizando testes em 4 passosAutomatizando testes em 4 passos
Automatizando testes em 4 passosHélio Medeiros
 
Boas práticas no desenvolvimento de software através do uso de TDD
Boas práticas no desenvolvimento de software através do uso de TDDBoas práticas no desenvolvimento de software através do uso de TDD
Boas práticas no desenvolvimento de software através do uso de TDDJony Ferreira dos Santos
 
Facilitando o desenvolvimento orientado a testes em aplicações PHP
Facilitando o desenvolvimento orientado a testes em aplicações PHPFacilitando o desenvolvimento orientado a testes em aplicações PHP
Facilitando o desenvolvimento orientado a testes em aplicações PHPPedro Chaves
 
Test driven development teste e design no mundo real by mauricio aniche (z-li...
Test driven development teste e design no mundo real by mauricio aniche (z-li...Test driven development teste e design no mundo real by mauricio aniche (z-li...
Test driven development teste e design no mundo real by mauricio aniche (z-li...GessdaSilvaMachado
 
TDD direto das trincheiras
TDD direto das trincheirasTDD direto das trincheiras
TDD direto das trincheirasLuiz Borba
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven DevelopmentWaldyr Felix
 
TDD (Test-Driven Development)
TDD (Test-Driven Development)TDD (Test-Driven Development)
TDD (Test-Driven Development)Renato Groff
 
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
 
Multidisciplinaridade - Desconstruindo especialistas e construindo times
Multidisciplinaridade - Desconstruindo especialistas e construindo timesMultidisciplinaridade - Desconstruindo especialistas e construindo times
Multidisciplinaridade - Desconstruindo especialistas e construindo timesHélio Medeiros
 
Treinamento TDD - Atech
Treinamento TDD - AtechTreinamento TDD - Atech
Treinamento TDD - Atechcesarcneto
 
Test-Driven Development serve pra mim?
Test-Driven Development serve pra mim?Test-Driven Development serve pra mim?
Test-Driven Development serve pra mim?Maurício Aniche
 
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
 
Acredite, você pode agilizar feedbacks aplicando Dev Box Testing
Acredite, você pode agilizar feedbacks aplicando Dev Box Testing Acredite, você pode agilizar feedbacks aplicando Dev Box Testing
Acredite, você pode agilizar feedbacks aplicando Dev Box Testing Ariane Izac
 

Mais procurados (20)

Test Driven Development - Em busca de feedback util e concreto
Test Driven Development - Em busca de feedback util e concretoTest Driven Development - Em busca de feedback util e concreto
Test Driven Development - Em busca de feedback util e concreto
 
Automatizando testes em 4 passos
Automatizando testes em 4 passosAutomatizando testes em 4 passos
Automatizando testes em 4 passos
 
Boas práticas no desenvolvimento de software através do uso de TDD
Boas práticas no desenvolvimento de software através do uso de TDDBoas práticas no desenvolvimento de software através do uso de TDD
Boas práticas no desenvolvimento de software através do uso de TDD
 
Facilitando o desenvolvimento orientado a testes em aplicações PHP
Facilitando o desenvolvimento orientado a testes em aplicações PHPFacilitando o desenvolvimento orientado a testes em aplicações PHP
Facilitando o desenvolvimento orientado a testes em aplicações PHP
 
Test driven development teste e design no mundo real by mauricio aniche (z-li...
Test driven development teste e design no mundo real by mauricio aniche (z-li...Test driven development teste e design no mundo real by mauricio aniche (z-li...
Test driven development teste e design no mundo real by mauricio aniche (z-li...
 
TDD direto das trincheiras
TDD direto das trincheirasTDD direto das trincheiras
TDD direto das trincheiras
 
TDD - Test Driven Development com JAVA
TDD - Test Driven Development com JAVATDD - Test Driven Development com JAVA
TDD - Test Driven Development com JAVA
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
 
O que é Teste de Software?
O que é Teste de Software?O que é Teste de Software?
O que é Teste de Software?
 
TDD (Test-Driven Development)
TDD (Test-Driven Development)TDD (Test-Driven Development)
TDD (Test-Driven Development)
 
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?
 
Testes Unitários
Testes UnitáriosTestes Unitários
Testes Unitários
 
TDD
TDDTDD
TDD
 
Multidisciplinaridade - Desconstruindo especialistas e construindo times
Multidisciplinaridade - Desconstruindo especialistas e construindo timesMultidisciplinaridade - Desconstruindo especialistas e construindo times
Multidisciplinaridade - Desconstruindo especialistas e construindo times
 
Treinamento TDD - Atech
Treinamento TDD - AtechTreinamento TDD - Atech
Treinamento TDD - Atech
 
Test-Driven Development serve pra mim?
Test-Driven Development serve pra mim?Test-Driven Development serve pra mim?
Test-Driven Development serve pra mim?
 
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
 
Tdd x testes unidades
Tdd x testes unidadesTdd x testes unidades
Tdd x testes unidades
 
Introdução a TDD
Introdução a TDDIntrodução a TDD
Introdução a TDD
 
Acredite, você pode agilizar feedbacks aplicando Dev Box Testing
Acredite, você pode agilizar feedbacks aplicando Dev Box Testing Acredite, você pode agilizar feedbacks aplicando Dev Box Testing
Acredite, você pode agilizar feedbacks aplicando Dev Box Testing
 

Destaque

Test Driven Development (TDD)
Test Driven Development (TDD)Test Driven Development (TDD)
Test Driven Development (TDD)David Ehringer
 
SITSP Developers 2016 - ABAP c/ TDD
SITSP Developers 2016 - ABAP c/ TDDSITSP Developers 2016 - ABAP c/ TDD
SITSP Developers 2016 - ABAP c/ TDDJose Nunes
 
Avatars of Test Driven Development (TDD)
Avatars of Test Driven Development (TDD)Avatars of Test Driven Development (TDD)
Avatars of Test Driven Development (TDD)Naresh Jain
 
Como fazer uma apresentação powerpoint
Como fazer uma apresentação powerpointComo fazer uma apresentação powerpoint
Como fazer uma apresentação powerpointCristina Calado
 
Dicas para montar excelentes apresentações de slides no power point
Dicas para montar excelentes apresentações de slides no power pointDicas para montar excelentes apresentações de slides no power point
Dicas para montar excelentes apresentações de slides no power pointBruno Oliveira
 
Slides para Apresentação acadêmica
Slides para Apresentação acadêmicaSlides para Apresentação acadêmica
Slides para Apresentação acadêmicaRafaelBorges3
 
Apresentação de slides pronto
Apresentação de slides prontoApresentação de slides pronto
Apresentação de slides prontocandidacbertao
 

Destaque (10)

Test Driven Development (TDD)
Test Driven Development (TDD)Test Driven Development (TDD)
Test Driven Development (TDD)
 
SITSP Developers 2016 - ABAP c/ TDD
SITSP Developers 2016 - ABAP c/ TDDSITSP Developers 2016 - ABAP c/ TDD
SITSP Developers 2016 - ABAP c/ TDD
 
Avatars of Test Driven Development (TDD)
Avatars of Test Driven Development (TDD)Avatars of Test Driven Development (TDD)
Avatars of Test Driven Development (TDD)
 
Apresentacao Seminario
Apresentacao SeminarioApresentacao Seminario
Apresentacao Seminario
 
Como fazer uma apresentação powerpoint
Como fazer uma apresentação powerpointComo fazer uma apresentação powerpoint
Como fazer uma apresentação powerpoint
 
Criando Bons Slides - Prof. Jiani Cardoso
Criando Bons Slides - Prof. Jiani CardosoCriando Bons Slides - Prof. Jiani Cardoso
Criando Bons Slides - Prof. Jiani Cardoso
 
Slide pronto
Slide prontoSlide pronto
Slide pronto
 
Dicas para montar excelentes apresentações de slides no power point
Dicas para montar excelentes apresentações de slides no power pointDicas para montar excelentes apresentações de slides no power point
Dicas para montar excelentes apresentações de slides no power point
 
Slides para Apresentação acadêmica
Slides para Apresentação acadêmicaSlides para Apresentação acadêmica
Slides para Apresentação acadêmica
 
Apresentação de slides pronto
Apresentação de slides prontoApresentação de slides pronto
Apresentação de slides pronto
 

Semelhante a Test Driven Development (TDD) para seres humanos.

Palestra eu testo voce testa ninguem testa- TDC2012 - Goiânia
Palestra   eu testo voce testa ninguem testa- TDC2012 - GoiâniaPalestra   eu testo voce testa ninguem testa- TDC2012 - Goiânia
Palestra eu testo voce testa ninguem testa- TDC2012 - GoiâniaAlan Jose
 
Do Agil ao agil, como evoluimos processos na plataformatec
Do Agil ao agil, como evoluimos processos na plataformatecDo Agil ao agil, como evoluimos processos na plataformatec
Do Agil ao agil, como evoluimos processos na plataformatecBreno Campos
 
Coding Dojo - Funcionamento
Coding Dojo - FuncionamentoCoding Dojo - Funcionamento
Coding Dojo - Funcionamentothiagodp
 
Testador Tipo T
Testador Tipo TTestador Tipo T
Testador Tipo TGTS-CE
 
TDD Desenvolvimento orientado ao teste
TDD Desenvolvimento orientado ao testeTDD Desenvolvimento orientado ao teste
TDD Desenvolvimento orientado ao testeRafaela Prado
 
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
 
Agile Brazil 2013: TDD e Clean Code, garantia de um desenvolvimento saudável
Agile Brazil 2013: TDD e Clean Code, garantia de um desenvolvimento saudávelAgile Brazil 2013: TDD e Clean Code, garantia de um desenvolvimento saudável
Agile Brazil 2013: TDD e Clean Code, garantia de um desenvolvimento saudávelMauricio Andreazza
 
TDD e Clean Code, garantia de um desenvolvimento saudável
TDD e Clean Code, garantia de um desenvolvimento saudávelTDD e Clean Code, garantia de um desenvolvimento saudável
TDD e Clean Code, garantia de um desenvolvimento saudávelJorge Oleques
 
Greenbar - Testes automatizados na sua empresa
Greenbar - Testes automatizados na sua empresaGreenbar - Testes automatizados na sua empresa
Greenbar - Testes automatizados na sua empresaRafael Ponte
 
Tdd direto das trincheiras
Tdd direto das trincheirasTdd direto das trincheiras
Tdd direto das trincheirasScumpb
 
Test-driven Development - Introdução
Test-driven Development - IntroduçãoTest-driven Development - Introdução
Test-driven Development - IntroduçãoFelipe Elias Philipp
 
QConSP 2014 - Continuous Delivery - Part 06 - Conclusão
QConSP 2014 - Continuous Delivery - Part 06 - ConclusãoQConSP 2014 - Continuous Delivery - Part 06 - Conclusão
QConSP 2014 - Continuous Delivery - Part 06 - ConclusãoRodrigo Russo
 
TDD Direto das Trincheiras versao 2
TDD Direto das Trincheiras versao 2TDD Direto das Trincheiras versao 2
TDD Direto das Trincheiras versao 2Luiz Borba
 
Teste Unitários e TDD
Teste Unitários e TDDTeste Unitários e TDD
Teste Unitários e TDDDiogo Damiani
 

Semelhante a Test Driven Development (TDD) para seres humanos. (20)

Tdd & CI
Tdd & CITdd & CI
Tdd & CI
 
TDD, introdução sem mágica!
TDD, introdução sem mágica!TDD, introdução sem mágica!
TDD, introdução sem mágica!
 
TDD e BDD
TDD e BDDTDD e BDD
TDD e BDD
 
Tdd
TddTdd
Tdd
 
Palestra eu testo voce testa ninguem testa- TDC2012 - Goiânia
Palestra   eu testo voce testa ninguem testa- TDC2012 - GoiâniaPalestra   eu testo voce testa ninguem testa- TDC2012 - Goiânia
Palestra eu testo voce testa ninguem testa- TDC2012 - Goiânia
 
Do Agil ao agil, como evoluimos processos na plataformatec
Do Agil ao agil, como evoluimos processos na plataformatecDo Agil ao agil, como evoluimos processos na plataformatec
Do Agil ao agil, como evoluimos processos na plataformatec
 
Coding Dojo - Funcionamento
Coding Dojo - FuncionamentoCoding Dojo - Funcionamento
Coding Dojo - Funcionamento
 
Testador Tipo T
Testador Tipo TTestador Tipo T
Testador Tipo T
 
Testador tipo t
Testador tipo tTestador tipo t
Testador tipo t
 
TDD Desenvolvimento orientado ao teste
TDD Desenvolvimento orientado ao testeTDD Desenvolvimento orientado ao teste
TDD Desenvolvimento orientado ao teste
 
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
 
Agile Brazil 2013: TDD e Clean Code, garantia de um desenvolvimento saudável
Agile Brazil 2013: TDD e Clean Code, garantia de um desenvolvimento saudávelAgile Brazil 2013: TDD e Clean Code, garantia de um desenvolvimento saudável
Agile Brazil 2013: TDD e Clean Code, garantia de um desenvolvimento saudável
 
TDD e Clean Code, garantia de um desenvolvimento saudável
TDD e Clean Code, garantia de um desenvolvimento saudávelTDD e Clean Code, garantia de um desenvolvimento saudável
TDD e Clean Code, garantia de um desenvolvimento saudável
 
Testes de unidade - Conhecendo e aplicando
Testes de unidade - Conhecendo e aplicandoTestes de unidade - Conhecendo e aplicando
Testes de unidade - Conhecendo e aplicando
 
Greenbar - Testes automatizados na sua empresa
Greenbar - Testes automatizados na sua empresaGreenbar - Testes automatizados na sua empresa
Greenbar - Testes automatizados na sua empresa
 
Tdd direto das trincheiras
Tdd direto das trincheirasTdd direto das trincheiras
Tdd direto das trincheiras
 
Test-driven Development - Introdução
Test-driven Development - IntroduçãoTest-driven Development - Introdução
Test-driven Development - Introdução
 
QConSP 2014 - Continuous Delivery - Part 06 - Conclusão
QConSP 2014 - Continuous Delivery - Part 06 - ConclusãoQConSP 2014 - Continuous Delivery - Part 06 - Conclusão
QConSP 2014 - Continuous Delivery - Part 06 - Conclusão
 
TDD Direto das Trincheiras versao 2
TDD Direto das Trincheiras versao 2TDD Direto das Trincheiras versao 2
TDD Direto das Trincheiras versao 2
 
Teste Unitários e TDD
Teste Unitários e TDDTeste Unitários e TDD
Teste Unitários e TDD
 

Test Driven Development (TDD) para seres humanos.