SlideShare uma empresa Scribd logo
Teste sua aplicação
antes que ela teste você

     I BootCamp OeSC Livre
       São Miguel do Oeste
            jun/2012


                             por Tiago Link
Who I am?

    Tiago Link
Desenvolvedor Web
desenvolvemos ideias e aplicações web
Presenteio.com
Sistema online para criar listas de presentes para
casamentos, amigo secreto...




Belasis.com.br
Sistema online para controle de salões de
beleza, spas, estéticas, profissionais de
beleza em geral...




Ruby e Rails
Teste sua aplicação...
... antes que ela teste
         você.
Vamos falar de testes...
Não.
 Vamos falar de
desenvolvimento.
Código.
Responsabilidade.
Cenário:
 Dono do produto
Cenário:
              Dono do produto




Investidor
Cenário:
              Dono do produto




Investidor




                                Desenvolvedor
Contextos:
●   Adicionar nova funcionalidade...
●   Atualizar versão do sistema...
●   Atualizar dependências do sistema...
●   Alterar código legado...
●   Refatorar código criativo (gambiarra)...
●   ....
Como garantir a eficácia
     do código?
●   Através de Testes...
●   Através de Documentação...
●   Através de Design Patterns...
●   Através de Especificação das Funcionalidades...
●   Através de Código limpo e bem escrito...
●   ...
Tipos de Testes

●   Caixa Branca
●   Caixa Preta
●   Testes Unitários
●   Testes de Integração
●   Testes de Aceitação
●   ...
TDD

Desenvolvimento Orientado a Testes
BDD

Desenvolvimento Guiado por
     Comportamento
TDD/BDD
●   São técnicas de Desenvolvimento
●   Encorajar o design simples
●   Inspirar confiança
●   Relacionado aos conceitos de metodologias Ágeis
●   Sistemas dinâmicos complexos, mesmo com fatores
    determinados, geram resultados instáveis
TDD/BDD
●   Utiliza as ferramentas de testes
●   Proporciona a documentação do código
●   DRY, KISS, YAGNI...
●   Em vez de testar a funcionalidade você especifica ela
●   Escreve somente o código necessário, sem desperdício
Escrever código eficaz é
 vê-lo falhar primeiro.
TDD/BDD - Ciclo de Vida
            RED




 REFACTOR         GREEN
TDD/BDD - Exemplo

 Desenvolver o jogo: FizzBuzz
TDD/BDD - Princípios
●   Escrever primeiro o teste e vê-lo falhar
●   Escrever apenas o código suficiente para o teste passar
●   Refatorar
●   Escrever testes pequenos
●   Seguir com o próximo teste
TDD/BDD - Vantagens
●   Colabora para o aumento da qualidade do sistema
●   O software cresce de forma ordenada
●   O design do sistema melhora
●   Problemas são identificados antes de ir para o cliente
●   Colabora com o aprendizado do desenvolvedor
●   O software se adapta melhor a mudanças
●   ...
BDD
●   Como começar?
●   O que testar?
Como começar?
●   Escrever testes outside-in (de fora pra dentro)
O que testar?
●   User Stories (história do usuário)
Histórias do Usuário
Funcionalidade: Gerenciar Pessoas
Como um usuário do sistema
Eu quero utilizar este cadastro em outros pontos do sistema
Cenários - Critérios de
       Aceitação
Cenário: Adicionar Pessoa Válida
Dado que estou em listagem de pessoas
E clico em "Nova Pessoa"
E preencho o campo nome com "Fulano de Tal"
E preencho o campo email com "fulano@empresa.com
Quando clicar em "Salvar Registro"
Então preciso ver "Pessoa cadastrada com sucesso"
BDD - Exemplo
 (Cucumber)

Desenvolver uma calculadora
BDD - Vantagens
●   Documenta a regra de negócio
●   Valida a regra de negócio antes de escrever o código
●   Colabora com a comunicação interna dentro da empresa
Dificuldades
●   Não é fácil escrever testes, especialmente para iniciantes
●   Resistência de equipes e de gerentes de projetos
●   Muitas desculpas...
Top 5 Desculpas
●   Vai demorar muito mais...
●   A funcionalidade é fácil e não precisa testar...
●   Não sei testar ou como testar...
●   Isso não dá pra testar...
●   Melhor deixar para os outros testarem...
●   É mais caro testar...
Dicas
●   Baby Steps
●   Funcionalidades complexas: dividir em partes simples
●   Perseverança
●   Torcer para que o teste "quebre"*
●   Festejar quando isso acontecer.
Perguntas?
Vou ficar devendo...
●   Integração Contínua
●   Testes Automatizados
●   Deploy Contínuo
●   Ferramentas BDD em ruby (Cucumber, Rspec, Steak)
●   Exemplos utilizados na prática
Não existe bala de prata
Teste sua aplicação...
Para entrar em contato...
Basta pesquisar no Google a palavra "Link", você encontrará:

 ●   about.me/tiagolink
 ●   github.com/tiagolink
 ●   twitter.com/tiagolink
 ●   facebook.com/tiagolink
 ●   slideshare.com/tiagolink
 ●   tiagolink.net (blog - em breve)
 ●   tlink.k@gmail.com (E-mail)


                     Obrigado!

Mais conteúdo relacionado

Mais procurados

Revisão de Código - Uma prática que depende da cultura
Revisão de Código - Uma prática que depende da culturaRevisão de Código - Uma prática que depende da cultura
Revisão de Código - Uma prática que depende da cultura
Leandro Parazito
 
BDD em Ação - Testadores 2015
BDD em Ação - Testadores 2015BDD em Ação - Testadores 2015
BDD em Ação - Testadores 2015
Alan Rafael Batista
 
Introdução a BDD
Introdução a BDDIntrodução a BDD
Introdução a BDD
Ismael
 
Be React. Do Tests!
Be React. Do Tests!Be React. Do Tests!
Be React. Do Tests!
Henrique Gogó
 
BDD
BDDBDD
Reconhecendo suas habilidades como Testador
Reconhecendo suas habilidades como Testador Reconhecendo suas habilidades como Testador
Reconhecendo suas habilidades como Testador
Elias Nogueira
 
Testes em ambiente agil - TechTalks ADP Labs
Testes em ambiente agil - TechTalks ADP LabsTestes em ambiente agil - TechTalks ADP Labs
Testes em ambiente agil - TechTalks ADP Labs
Elias Nogueira
 
[MTC 2021] Vieses da qualidade - Daniele Vieira Fiorot
[MTC 2021] Vieses da qualidade -  Daniele Vieira Fiorot[MTC 2021] Vieses da qualidade -  Daniele Vieira Fiorot
[MTC 2021] Vieses da qualidade - Daniele Vieira Fiorot
minastestingconference
 
BDD JBehave
BDD JBehaveBDD JBehave
BDD JBehave
Ismael
 
Apresentação BDD
Apresentação BDDApresentação BDD
Apresentação BDD
Tiago Link
 
QA além da automação
QA além da automaçãoQA além da automação
QA além da automação
minastestingconference
 
Desenvolvimento BDD
Desenvolvimento BDDDesenvolvimento BDD
Desenvolvimento BDD
Fabiano Da Ventura
 
Compartilhando qualidade e conhecimento com code review
Compartilhando qualidade e conhecimento com code reviewCompartilhando qualidade e conhecimento com code review
Compartilhando qualidade e conhecimento com code review
Antonio Spinelli
 
[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveira
[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveira[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveira
[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveira
minastestingconference
 
DevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágilDevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágil
Elias Nogueira
 
Falácias e outras ilusões sobre Teste Ágil
Falácias e outras ilusões sobre Teste ÁgilFalácias e outras ilusões sobre Teste Ágil
Falácias e outras ilusões sobre Teste Ágil
Mario Ramos
 
BDD não é Automação de Testes
BDD não é Automação de TestesBDD não é Automação de Testes
BDD não é Automação de Testes
Elias Nogueira
 
Levantamento de requisitos em times ageis - licoes aprendidas (da pior forma ...
Levantamento de requisitos em times ageis - licoes aprendidas (da pior forma ...Levantamento de requisitos em times ageis - licoes aprendidas (da pior forma ...
Levantamento de requisitos em times ageis - licoes aprendidas (da pior forma ...
Mariana Elisa Moisés , CTFL-AT,MBA
 
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
 
Tdc2013 - Trilha de Teste -
Tdc2013 - Trilha de Teste - Tdc2013 - Trilha de Teste -
Tdc2013 - Trilha de Teste -
Leonardo Galani
 

Mais procurados (20)

Revisão de Código - Uma prática que depende da cultura
Revisão de Código - Uma prática que depende da culturaRevisão de Código - Uma prática que depende da cultura
Revisão de Código - Uma prática que depende da cultura
 
BDD em Ação - Testadores 2015
BDD em Ação - Testadores 2015BDD em Ação - Testadores 2015
BDD em Ação - Testadores 2015
 
Introdução a BDD
Introdução a BDDIntrodução a BDD
Introdução a BDD
 
Be React. Do Tests!
Be React. Do Tests!Be React. Do Tests!
Be React. Do Tests!
 
BDD
BDDBDD
BDD
 
Reconhecendo suas habilidades como Testador
Reconhecendo suas habilidades como Testador Reconhecendo suas habilidades como Testador
Reconhecendo suas habilidades como Testador
 
Testes em ambiente agil - TechTalks ADP Labs
Testes em ambiente agil - TechTalks ADP LabsTestes em ambiente agil - TechTalks ADP Labs
Testes em ambiente agil - TechTalks ADP Labs
 
[MTC 2021] Vieses da qualidade - Daniele Vieira Fiorot
[MTC 2021] Vieses da qualidade -  Daniele Vieira Fiorot[MTC 2021] Vieses da qualidade -  Daniele Vieira Fiorot
[MTC 2021] Vieses da qualidade - Daniele Vieira Fiorot
 
BDD JBehave
BDD JBehaveBDD JBehave
BDD JBehave
 
Apresentação BDD
Apresentação BDDApresentação BDD
Apresentação BDD
 
QA além da automação
QA além da automaçãoQA além da automação
QA além da automação
 
Desenvolvimento BDD
Desenvolvimento BDDDesenvolvimento BDD
Desenvolvimento BDD
 
Compartilhando qualidade e conhecimento com code review
Compartilhando qualidade e conhecimento com code reviewCompartilhando qualidade e conhecimento com code review
Compartilhando qualidade e conhecimento com code review
 
[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveira
[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveira[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveira
[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveira
 
DevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágilDevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágil
 
Falácias e outras ilusões sobre Teste Ágil
Falácias e outras ilusões sobre Teste ÁgilFalácias e outras ilusões sobre Teste Ágil
Falácias e outras ilusões sobre Teste Ágil
 
BDD não é Automação de Testes
BDD não é Automação de TestesBDD não é Automação de Testes
BDD não é Automação de Testes
 
Levantamento de requisitos em times ageis - licoes aprendidas (da pior forma ...
Levantamento de requisitos em times ageis - licoes aprendidas (da pior forma ...Levantamento de requisitos em times ageis - licoes aprendidas (da pior forma ...
Levantamento de requisitos em times ageis - licoes aprendidas (da pior forma ...
 
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, ...)
 
Tdc2013 - Trilha de Teste -
Tdc2013 - Trilha de Teste - Tdc2013 - Trilha de Teste -
Tdc2013 - Trilha de Teste -
 

Semelhante a Teste sua aplicação antes que ela teste você

BDD em Ação
BDD em AçãoBDD em Ação
BDD em Ação
Uilian Ries
 
Treinamento TDD - Atech
Treinamento TDD - AtechTreinamento TDD - Atech
Treinamento TDD - Atech
cesarcneto
 
Test First, TDD e outros Bichos
Test First, TDD e outros BichosTest First, TDD e outros Bichos
Test First, TDD e outros Bichos
Kleitor Franklint Correa Araujo
 
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
Rogerio Fontes
 
Treinamento Agile com scrum
Treinamento Agile com scrumTreinamento Agile com scrum
Treinamento Agile com scrum
Eduardo Bregaida
 
Treinamento Agile com Scrum - V2
Treinamento Agile com Scrum - V2Treinamento Agile com Scrum - V2
Treinamento Agile com Scrum - V2
Eduardo Bregaida
 
DDD + BDD + TDD + Scrum
DDD + BDD + TDD + ScrumDDD + BDD + TDD + Scrum
DDD + BDD + TDD + Scrum
Eduardo Bregaida
 
Cultura de testes
Cultura de testesCultura de testes
Cultura de testes
Cristiano Cunha
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégias
Kleitor Franklint Correa Araujo
 
TDD: A Essência do Mantra
TDD: A Essência do MantraTDD: A Essência do Mantra
TDD: A Essência do Mantra
Dionatan default
 
ZeroBugsProject - Técnicas de programação efetivas
ZeroBugsProject - Técnicas de programação efetivasZeroBugsProject - Técnicas de programação efetivas
ZeroBugsProject - Técnicas de programação efetivas
Rafael Chinelato Del Nero
 
Codigo limpo
Codigo limpoCodigo limpo
Codigo limpo
diegomcunha
 
BDD e TDD na prática com SpecFlow e Visual Studio 2012
BDD e TDD na prática com SpecFlow e Visual Studio 2012BDD e TDD na prática com SpecFlow e Visual Studio 2012
BDD e TDD na prática com SpecFlow e Visual Studio 2012
Igor Abade
 
Teste automatizados e tdd
Teste automatizados e tddTeste automatizados e tdd
Teste automatizados e tdd
Luiz Fernando Signorelli
 
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão GeralFeature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
Ruan Carvalho
 
[GDG Quality Fest 2017] BDD - Como quebrar as barreiras de negócio dentro do ...
[GDG Quality Fest 2017] BDD - Como quebrar as barreiras de negócio dentro do ...[GDG Quality Fest 2017] BDD - Como quebrar as barreiras de negócio dentro do ...
[GDG Quality Fest 2017] BDD - Como quebrar as barreiras de negócio dentro do ...
Andrelise Rafael Gonçalves
 
Fatores que influenciam na longevidade de um Software
Fatores que influenciam na longevidade de um SoftwareFatores que influenciam na longevidade de um Software
Fatores que influenciam na longevidade de um Software
Pablo Dall'Oglio
 
Testes Automatizados e Especificação Por Exemplo - Unindo TI e Negócio atravé...
Testes Automatizados e Especificação Por Exemplo - Unindo TI e Negócio atravé...Testes Automatizados e Especificação Por Exemplo - Unindo TI e Negócio atravé...
Testes Automatizados e Especificação Por Exemplo - Unindo TI e Negócio atravé...
Bruno Bemfica
 
Fatores que influenciam na longevidade de um Software
Fatores que influenciam na longevidade de um SoftwareFatores que influenciam na longevidade de um Software
Fatores que influenciam na longevidade de um Software
Pablo Dall'Oglio
 
#Qualidade decodigo
#Qualidade decodigo#Qualidade decodigo
#Qualidade decodigo
Bruno Fernandes "PorKaria"
 

Semelhante a Teste sua aplicação antes que ela teste você (20)

BDD em Ação
BDD em AçãoBDD em Ação
BDD em Ação
 
Treinamento TDD - Atech
Treinamento TDD - AtechTreinamento TDD - Atech
Treinamento TDD - Atech
 
Test First, TDD e outros Bichos
Test First, TDD e outros BichosTest First, TDD e outros Bichos
Test First, TDD e outros Bichos
 
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
 
Treinamento Agile com scrum
Treinamento Agile com scrumTreinamento Agile com scrum
Treinamento Agile com scrum
 
Treinamento Agile com Scrum - V2
Treinamento Agile com Scrum - V2Treinamento Agile com Scrum - V2
Treinamento Agile com Scrum - V2
 
DDD + BDD + TDD + Scrum
DDD + BDD + TDD + ScrumDDD + BDD + TDD + Scrum
DDD + BDD + TDD + Scrum
 
Cultura de testes
Cultura de testesCultura de testes
Cultura de testes
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégias
 
TDD: A Essência do Mantra
TDD: A Essência do MantraTDD: A Essência do Mantra
TDD: A Essência do Mantra
 
ZeroBugsProject - Técnicas de programação efetivas
ZeroBugsProject - Técnicas de programação efetivasZeroBugsProject - Técnicas de programação efetivas
ZeroBugsProject - Técnicas de programação efetivas
 
Codigo limpo
Codigo limpoCodigo limpo
Codigo limpo
 
BDD e TDD na prática com SpecFlow e Visual Studio 2012
BDD e TDD na prática com SpecFlow e Visual Studio 2012BDD e TDD na prática com SpecFlow e Visual Studio 2012
BDD e TDD na prática com SpecFlow e Visual Studio 2012
 
Teste automatizados e tdd
Teste automatizados e tddTeste automatizados e tdd
Teste automatizados e tdd
 
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão GeralFeature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
 
[GDG Quality Fest 2017] BDD - Como quebrar as barreiras de negócio dentro do ...
[GDG Quality Fest 2017] BDD - Como quebrar as barreiras de negócio dentro do ...[GDG Quality Fest 2017] BDD - Como quebrar as barreiras de negócio dentro do ...
[GDG Quality Fest 2017] BDD - Como quebrar as barreiras de negócio dentro do ...
 
Fatores que influenciam na longevidade de um Software
Fatores que influenciam na longevidade de um SoftwareFatores que influenciam na longevidade de um Software
Fatores que influenciam na longevidade de um Software
 
Testes Automatizados e Especificação Por Exemplo - Unindo TI e Negócio atravé...
Testes Automatizados e Especificação Por Exemplo - Unindo TI e Negócio atravé...Testes Automatizados e Especificação Por Exemplo - Unindo TI e Negócio atravé...
Testes Automatizados e Especificação Por Exemplo - Unindo TI e Negócio atravé...
 
Fatores que influenciam na longevidade de um Software
Fatores que influenciam na longevidade de um SoftwareFatores que influenciam na longevidade de um Software
Fatores que influenciam na longevidade de um Software
 
#Qualidade decodigo
#Qualidade decodigo#Qualidade decodigo
#Qualidade decodigo
 

Último

Apresentação_Primeira_Guerra_Mundial 9 ANO-1.pptx
Apresentação_Primeira_Guerra_Mundial 9 ANO-1.pptxApresentação_Primeira_Guerra_Mundial 9 ANO-1.pptx
Apresentação_Primeira_Guerra_Mundial 9 ANO-1.pptx
JulianeMelo17
 
Caderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdf
Caderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdfCaderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdf
Caderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdf
enpfilosofiaufu
 
- TEMPLATE DA PRATICA - Psicomotricidade.pptx
- TEMPLATE DA PRATICA - Psicomotricidade.pptx- TEMPLATE DA PRATICA - Psicomotricidade.pptx
- TEMPLATE DA PRATICA - Psicomotricidade.pptx
LucianaCristina58
 
Especialidade - Animais Ameaçados de Extinção(1).pdf
Especialidade - Animais Ameaçados de Extinção(1).pdfEspecialidade - Animais Ameaçados de Extinção(1).pdf
Especialidade - Animais Ameaçados de Extinção(1).pdf
DanielCastro80471
 
educação inclusiva na atualidade como ela se estabelece atualmente
educação inclusiva na atualidade como ela se estabelece atualmenteeducação inclusiva na atualidade como ela se estabelece atualmente
educação inclusiva na atualidade como ela se estabelece atualmente
DeuzinhaAzevedo
 
Egito antigo resumo - aula de história.pdf
Egito antigo resumo - aula de história.pdfEgito antigo resumo - aula de história.pdf
Egito antigo resumo - aula de história.pdf
sthefanydesr
 
UFCD_10949_Lojas e-commerce no-code_índice.pdf
UFCD_10949_Lojas e-commerce no-code_índice.pdfUFCD_10949_Lojas e-commerce no-code_índice.pdf
UFCD_10949_Lojas e-commerce no-code_índice.pdf
Manuais Formação
 
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptxTreinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
MarcosPaulo777883
 
759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf
759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf
759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf
MessiasMarianoG
 
Atividade letra da música - Espalhe Amor, Anavitória.
Atividade letra da música - Espalhe  Amor, Anavitória.Atividade letra da música - Espalhe  Amor, Anavitória.
Atividade letra da música - Espalhe Amor, Anavitória.
Mary Alvarenga
 
iNTRODUÇÃO À Plantas terrestres e Plantas aquáticas. (1).pdf
iNTRODUÇÃO À Plantas terrestres e Plantas aquáticas. (1).pdfiNTRODUÇÃO À Plantas terrestres e Plantas aquáticas. (1).pdf
iNTRODUÇÃO À Plantas terrestres e Plantas aquáticas. (1).pdf
andressacastro36
 
Pintura Romana .pptx
Pintura Romana                     .pptxPintura Romana                     .pptx
Pintura Romana .pptx
TomasSousa7
 
05-os-pre-socraticos sociologia-28-slides.pptx
05-os-pre-socraticos sociologia-28-slides.pptx05-os-pre-socraticos sociologia-28-slides.pptx
05-os-pre-socraticos sociologia-28-slides.pptx
ValdineyRodriguesBez1
 
socialização faculdade uniasselvi 2024 matea
socialização faculdade uniasselvi 2024 mateasocialização faculdade uniasselvi 2024 matea
socialização faculdade uniasselvi 2024 matea
ILDISONRAFAELBARBOSA
 
Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...
Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...
Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...
Biblioteca UCS
 
Famílias Que Contribuíram Para O Crescimento Do Assaré
Famílias Que Contribuíram Para O Crescimento Do AssaréFamílias Que Contribuíram Para O Crescimento Do Assaré
Famílias Que Contribuíram Para O Crescimento Do Assaré
profesfrancleite
 
Leonardo da Vinci .pptx
Leonardo da Vinci                  .pptxLeonardo da Vinci                  .pptx
Leonardo da Vinci .pptx
TomasSousa7
 
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptxSlides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
LuizHenriquedeAlmeid6
 
Caça-palavras - ortografia S, SS, X, C e Z
Caça-palavras - ortografia  S, SS, X, C e ZCaça-palavras - ortografia  S, SS, X, C e Z
Caça-palavras - ortografia S, SS, X, C e Z
Mary Alvarenga
 
Fernão Lopes. pptx
Fernão Lopes.                       pptxFernão Lopes.                       pptx
Fernão Lopes. pptx
TomasSousa7
 

Último (20)

Apresentação_Primeira_Guerra_Mundial 9 ANO-1.pptx
Apresentação_Primeira_Guerra_Mundial 9 ANO-1.pptxApresentação_Primeira_Guerra_Mundial 9 ANO-1.pptx
Apresentação_Primeira_Guerra_Mundial 9 ANO-1.pptx
 
Caderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdf
Caderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdfCaderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdf
Caderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdf
 
- TEMPLATE DA PRATICA - Psicomotricidade.pptx
- TEMPLATE DA PRATICA - Psicomotricidade.pptx- TEMPLATE DA PRATICA - Psicomotricidade.pptx
- TEMPLATE DA PRATICA - Psicomotricidade.pptx
 
Especialidade - Animais Ameaçados de Extinção(1).pdf
Especialidade - Animais Ameaçados de Extinção(1).pdfEspecialidade - Animais Ameaçados de Extinção(1).pdf
Especialidade - Animais Ameaçados de Extinção(1).pdf
 
educação inclusiva na atualidade como ela se estabelece atualmente
educação inclusiva na atualidade como ela se estabelece atualmenteeducação inclusiva na atualidade como ela se estabelece atualmente
educação inclusiva na atualidade como ela se estabelece atualmente
 
Egito antigo resumo - aula de história.pdf
Egito antigo resumo - aula de história.pdfEgito antigo resumo - aula de história.pdf
Egito antigo resumo - aula de história.pdf
 
UFCD_10949_Lojas e-commerce no-code_índice.pdf
UFCD_10949_Lojas e-commerce no-code_índice.pdfUFCD_10949_Lojas e-commerce no-code_índice.pdf
UFCD_10949_Lojas e-commerce no-code_índice.pdf
 
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptxTreinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
 
759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf
759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf
759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf
 
Atividade letra da música - Espalhe Amor, Anavitória.
Atividade letra da música - Espalhe  Amor, Anavitória.Atividade letra da música - Espalhe  Amor, Anavitória.
Atividade letra da música - Espalhe Amor, Anavitória.
 
iNTRODUÇÃO À Plantas terrestres e Plantas aquáticas. (1).pdf
iNTRODUÇÃO À Plantas terrestres e Plantas aquáticas. (1).pdfiNTRODUÇÃO À Plantas terrestres e Plantas aquáticas. (1).pdf
iNTRODUÇÃO À Plantas terrestres e Plantas aquáticas. (1).pdf
 
Pintura Romana .pptx
Pintura Romana                     .pptxPintura Romana                     .pptx
Pintura Romana .pptx
 
05-os-pre-socraticos sociologia-28-slides.pptx
05-os-pre-socraticos sociologia-28-slides.pptx05-os-pre-socraticos sociologia-28-slides.pptx
05-os-pre-socraticos sociologia-28-slides.pptx
 
socialização faculdade uniasselvi 2024 matea
socialização faculdade uniasselvi 2024 mateasocialização faculdade uniasselvi 2024 matea
socialização faculdade uniasselvi 2024 matea
 
Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...
Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...
Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...
 
Famílias Que Contribuíram Para O Crescimento Do Assaré
Famílias Que Contribuíram Para O Crescimento Do AssaréFamílias Que Contribuíram Para O Crescimento Do Assaré
Famílias Que Contribuíram Para O Crescimento Do Assaré
 
Leonardo da Vinci .pptx
Leonardo da Vinci                  .pptxLeonardo da Vinci                  .pptx
Leonardo da Vinci .pptx
 
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptxSlides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
 
Caça-palavras - ortografia S, SS, X, C e Z
Caça-palavras - ortografia  S, SS, X, C e ZCaça-palavras - ortografia  S, SS, X, C e Z
Caça-palavras - ortografia S, SS, X, C e Z
 
Fernão Lopes. pptx
Fernão Lopes.                       pptxFernão Lopes.                       pptx
Fernão Lopes. pptx
 

Teste sua aplicação antes que ela teste você

  • 1. Teste sua aplicação antes que ela teste você I BootCamp OeSC Livre São Miguel do Oeste jun/2012 por Tiago Link
  • 2. Who I am? Tiago Link Desenvolvedor Web
  • 3. desenvolvemos ideias e aplicações web
  • 4. Presenteio.com Sistema online para criar listas de presentes para casamentos, amigo secreto... Belasis.com.br Sistema online para controle de salões de beleza, spas, estéticas, profissionais de beleza em geral... Ruby e Rails
  • 6. ... antes que ela teste você.
  • 7. Vamos falar de testes...
  • 8. Não. Vamos falar de desenvolvimento.
  • 10. Cenário: Dono do produto
  • 11. Cenário: Dono do produto Investidor
  • 12. Cenário: Dono do produto Investidor Desenvolvedor
  • 13. Contextos: ● Adicionar nova funcionalidade... ● Atualizar versão do sistema... ● Atualizar dependências do sistema... ● Alterar código legado... ● Refatorar código criativo (gambiarra)... ● ....
  • 14.
  • 15. Como garantir a eficácia do código? ● Através de Testes... ● Através de Documentação... ● Através de Design Patterns... ● Através de Especificação das Funcionalidades... ● Através de Código limpo e bem escrito... ● ...
  • 16. Tipos de Testes ● Caixa Branca ● Caixa Preta ● Testes Unitários ● Testes de Integração ● Testes de Aceitação ● ...
  • 19. TDD/BDD ● São técnicas de Desenvolvimento ● Encorajar o design simples ● Inspirar confiança ● Relacionado aos conceitos de metodologias Ágeis ● Sistemas dinâmicos complexos, mesmo com fatores determinados, geram resultados instáveis
  • 20. TDD/BDD ● Utiliza as ferramentas de testes ● Proporciona a documentação do código ● DRY, KISS, YAGNI... ● Em vez de testar a funcionalidade você especifica ela ● Escreve somente o código necessário, sem desperdício
  • 21. Escrever código eficaz é vê-lo falhar primeiro.
  • 22. TDD/BDD - Ciclo de Vida RED REFACTOR GREEN
  • 23. TDD/BDD - Exemplo Desenvolver o jogo: FizzBuzz
  • 24. TDD/BDD - Princípios ● Escrever primeiro o teste e vê-lo falhar ● Escrever apenas o código suficiente para o teste passar ● Refatorar ● Escrever testes pequenos ● Seguir com o próximo teste
  • 25. TDD/BDD - Vantagens ● Colabora para o aumento da qualidade do sistema ● O software cresce de forma ordenada ● O design do sistema melhora ● Problemas são identificados antes de ir para o cliente ● Colabora com o aprendizado do desenvolvedor ● O software se adapta melhor a mudanças ● ...
  • 26. BDD ● Como começar? ● O que testar?
  • 27. Como começar? ● Escrever testes outside-in (de fora pra dentro)
  • 28.
  • 29. O que testar? ● User Stories (história do usuário)
  • 30. Histórias do Usuário Funcionalidade: Gerenciar Pessoas Como um usuário do sistema Eu quero utilizar este cadastro em outros pontos do sistema
  • 31. Cenários - Critérios de Aceitação Cenário: Adicionar Pessoa Válida Dado que estou em listagem de pessoas E clico em "Nova Pessoa" E preencho o campo nome com "Fulano de Tal" E preencho o campo email com "fulano@empresa.com Quando clicar em "Salvar Registro" Então preciso ver "Pessoa cadastrada com sucesso"
  • 32. BDD - Exemplo (Cucumber) Desenvolver uma calculadora
  • 33. BDD - Vantagens ● Documenta a regra de negócio ● Valida a regra de negócio antes de escrever o código ● Colabora com a comunicação interna dentro da empresa
  • 34. Dificuldades ● Não é fácil escrever testes, especialmente para iniciantes ● Resistência de equipes e de gerentes de projetos ● Muitas desculpas...
  • 35. Top 5 Desculpas ● Vai demorar muito mais... ● A funcionalidade é fácil e não precisa testar... ● Não sei testar ou como testar... ● Isso não dá pra testar... ● Melhor deixar para os outros testarem... ● É mais caro testar...
  • 36. Dicas ● Baby Steps ● Funcionalidades complexas: dividir em partes simples ● Perseverança ● Torcer para que o teste "quebre"* ● Festejar quando isso acontecer.
  • 38. Vou ficar devendo... ● Integração Contínua ● Testes Automatizados ● Deploy Contínuo ● Ferramentas BDD em ruby (Cucumber, Rspec, Steak) ● Exemplos utilizados na prática
  • 39. Não existe bala de prata
  • 41.
  • 42. Para entrar em contato... Basta pesquisar no Google a palavra "Link", você encontrará: ● about.me/tiagolink ● github.com/tiagolink ● twitter.com/tiagolink ● facebook.com/tiagolink ● slideshare.com/tiagolink ● tiagolink.net (blog - em breve) ● tlink.k@gmail.com (E-mail) Obrigado!