SlideShare uma empresa Scribd logo
1 de 42
Baixar para ler offline
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 culturaLeandro Parazito
 
Introdução a BDD
Introdução a BDDIntrodução a BDD
Introdução a BDDIsmael
 
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 LabsElias 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 Fiorotminastestingconference
 
BDD JBehave
BDD JBehaveBDD JBehave
BDD JBehaveIsmael
 
Apresentação BDD
Apresentação BDDApresentação BDD
Apresentação BDDTiago Link
 
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 reviewAntonio 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 Oliveiraminastestingconference
 
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 ágilElias 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 ÁgilMario 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 TestesElias 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ê

Treinamento TDD - Atech
Treinamento TDD - AtechTreinamento TDD - Atech
Treinamento TDD - Atechcesarcneto
 
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
 
Treinamento Agile com scrum
Treinamento Agile com scrumTreinamento Agile com scrum
Treinamento Agile com scrumEduardo Bregaida
 
Treinamento Agile com Scrum - V2
Treinamento Agile com Scrum - V2Treinamento Agile com Scrum - V2
Treinamento Agile com Scrum - V2Eduardo Bregaida
 
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égiasKleitor 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 MantraDionatan 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 efetivasRafael Chinelato Del Nero
 
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 2012Igor Abade
 
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão GeralFeature-Driven Development - Visão Geral
Feature-Driven Development - Visão GeralRuan 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 SoftwarePablo 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 SoftwarePablo Dall'Oglio
 

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 | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Centro Jacques Delors
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOColégio Santa Teresinha
 
ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VER
ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VERELETIVA TEXTOS MULTIMODAIS LINGUAGEM VER
ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VERDeiciane Chaves
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfManuais Formação
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.keislayyovera123
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024Jeanoliveira597523
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesMary Alvarenga
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfAdrianaCunha84
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfEditoraEnovus
 
Governo Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 BrasilGoverno Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 Brasillucasp132400
 
Simulado 2 Etapa - 2024 Proximo Passo.pdf
Simulado 2 Etapa  - 2024 Proximo Passo.pdfSimulado 2 Etapa  - 2024 Proximo Passo.pdf
Simulado 2 Etapa - 2024 Proximo Passo.pdfEditoraEnovus
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasRosalina Simão Nunes
 
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...ArianeLima50
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresLilianPiola
 
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMCOMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMVanessaCavalcante37
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxLuizHenriquedeAlmeid6
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 

Último (20)

Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
 
ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VER
ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VERELETIVA TEXTOS MULTIMODAIS LINGUAGEM VER
ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VER
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdf
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das Mães
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdf
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdf
 
Governo Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 BrasilGoverno Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 Brasil
 
Simulado 2 Etapa - 2024 Proximo Passo.pdf
Simulado 2 Etapa  - 2024 Proximo Passo.pdfSimulado 2 Etapa  - 2024 Proximo Passo.pdf
Simulado 2 Etapa - 2024 Proximo Passo.pdf
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
 
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...
 
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
 
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMCOMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 

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!