BDD com Cucumber, Selenium e Rails

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Notes on slide 1

    Anos 80 - década Code-and-Fix. Ausência de metodologias de desenvolvimento. Programação procedural e estruturada. Evolução da programação linear. Programas são: sequência, decisão e iteração. Dificuldade de simular relações entre entidades em processos de negócios.

    Contar história do analista pedreiro Critérios de aceitação devem ser executáveis UML fracassou em ser uma linguagem de modelagem por provocar um gap entre o modelo e a execução.

    A story card with notes providing additional detail.

    A story card with notes providing additional detail.

    A story card with notes providing additional detail.

    In a paper called “Simple Smalltalk Testing: With Patterns,”1 Kent Beck described how to write Object Tests using Smalltalk. This paper presented the evolution of a simple testing framework that became known as SUnit. Kent teamed up with Erich Gamma to port the framework to Java and called the result JUnit. Since 1999, Fearless programming

    Three Rules of TDD Só escreve codigo depois de passar em todas as verificações possiveis

    Arrange = Create an object Act = Invoke a method Assert = Check a result

    Arrange = Create an object Act = Invoke a method Assert = Check a result

    Arrange = Create an object Act = Invoke a method Assert = Check a result

    Arrange = Create an object Act = Invoke a method Assert = Check a result

    Favorites, Groups & Events

    BDD com Cucumber, Selenium e Rails - Presentation Transcript

    1. BDD on Rails Cucumber, Selenium, Rspec e compahia Christiano Milfont Terceiro encontro 2009 Copyright 2009 Milfont.org
        • Christiano Milfont
        • http://www.milfont.org
      Palestrante
    2. Release Plan
      • “ A good plan violently executed now is better than a perfect plan executed next week.”
      • “ Um bom plano executado violentamente agora é melhor que um plano perfeito executado na próxima semana.
      • General George S. Patton
    3. Master Story List ID Criticidade Item Iteração Estimativa Restando 1 Altíssimo Registrar exercicio 1 2 0 2 Baixo Convidar amigos 1 8 ? 3 Baixo ? ? ? 4 Médio Aprovar parceiro 1 2 ? 5 Alto Controlar idade 1 4 0 6 Baixo Cadastrar status ? ? ? 7 Baixo Inserir fotos ? ? ? 8 baixo Cadastro treinador ? ? ?
      • User Story
          • Card [cartão]
          • Conversation [conversação]
          • Confirmation [confirmação]
      • “ Ron Jeffries, 2001”
      Behaviour Driven Development
    4. Behaviour Driven Development Story Card 2 pontos Funcionalidade Atletas precisam registrar exercícios detalhes: Tipo de exercício, tempo de inicio, tempo de término e frequência cardíaca
    5. Behaviour Driven Development Story Card 2 pontos Funcionalidade Atletas precisam registrar exercícios Propriedades Não obrigatórios: frequência cardíaca. Obrigatórios: tipo de exercício e período
    6. Hands on
    7. Test Driven Development
      • “ Desenvolvimento guiado por testes é um caminho de gerenciamento do medo durante a programação.”
      • Kent Beck - Test Driven
      • Development by Example
    8. Test Driven Development
      • RED - GREEN - REFACTOR
      • Escreva um teste que não funciona.
      • Escreva o código e faço-o funcionar.
      • Refatore e elimine o código repetitivo.
    9. Test Driven Development
      • O ritmo em 3 A’s
      • Arrange [Criar um objeto]
      • Act [Invocar um método]
      • Assert [Verificar o resultado]
      • Refactoring Workbook, Bill Wake
    10. Test Driven Development
      • def idade(data)
      • idade_ano = (Date.today.year - data.year)
      • if Date.today.month > data.month
      • idade_ano
      • elsif Date.today.month == data.month && Date.today.day == data.day
      • idade_ano
      • elsif Date.today.month < data.month
      • idade_ano - 1
      • elsif Date.today.month == data.month && Date.today.day < data.day
      • idade_ano - 1
      • elsif Date.today.month == data.month && Date.today.day > data.day
      • idade_ano
      • end
      • end
      • Estágio 1 - Refactoring
    11. Test Driven Development
      • def idade(data)
      • if data
      • idade_ano = (Date.today.year - data.year)
      • if Date.today.month > data.month ||
      • Date.today.month == data.month && Date.today.day > data.day ||
      • Date.today.month == data.month && Date.today.day == data.day
      • idade_ano
      • elsif Date.today.month < data.month ||
      • Date.today.month == data.month && Date.today.day < data.day
      • idade_ano - 1
      • end
      • end
      • end
      • Estágio 2 - Refactoring
    12. Test Driven Development
      • def idade(data)
      • if data
      • idade_ano = (Date.today.year - data.year)
      • idade_ano = idade_ano - 1 if (Date.today.month <= data.month) &&
      • (Date.today.day < data.day)
      • idade_ano
      • end
      • end
      • Estágio 3 - Refactoring
    13. http://www.xpce.org

    + Christiano MilfontChristiano Milfont, 4 weeks ago

    custom

    226 views, 0 favs, 3 embeds more stats

    Slides da palestra BDD on Rails no terceiro encontr more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 226
      • 145 on SlideShare
      • 81 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 10
    Most viewed embeds
    • 62 views on http://www.milfont.org
    • 19 views on http://www.xpce.org
    • 1 views on http://www.fast-gate.co.cc

    more

    All embeds
    • 62 views on http://www.milfont.org
    • 19 views on http://www.xpce.org
    • 1 views on http://www.fast-gate.co.cc

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories