Your SlideShare is downloading. ×
0
BDD on Rails Cucumber, Selenium, Rspec e compahia Christiano Milfont Terceiro encontro 2009 Copyright 2009 Milfont.org
<ul><ul><li>Christiano Milfont </li></ul></ul><ul><ul><li>http://www.milfont.org </li></ul></ul>Palestrante
Release Plan <ul><li>“ A good plan violently executed now is better than a perfect plan executed next week.” </li></ul><ul...
Master Story List ID Criticidade Item Iteração Estimativa Restando 1 Altíssimo Registrar exercicio 1 2 0 2 Baixo Convidar ...
<ul><li>User Story </li></ul><ul><ul><ul><li>Card  [cartão] </li></ul></ul></ul><ul><ul><ul><li>Conversation  [conversação...
Behaviour Driven Development Story Card 2 pontos Funcionalidade Atletas precisam registrar exercícios detalhes: Tipo de ex...
Behaviour Driven Development Story Card 2 pontos Funcionalidade Atletas precisam registrar exercícios Propriedades Não obr...
Hands on
Test Driven Development <ul><li>“ Desenvolvimento guiado por testes é um caminho de gerenciamento do medo durante a progra...
Test Driven Development <ul><li>RED - GREEN - REFACTOR </li></ul><ul><li>Escreva um teste que não funciona. </li></ul><ul>...
Test Driven Development <ul><li>O ritmo em 3 A’s </li></ul><ul><li>Arrange [Criar um objeto] </li></ul><ul><li>Act  [Invoc...
Test Driven Development <ul><li>def idade(data) </li></ul><ul><li>idade_ano = (Date.today.year - data.year) </li></ul><ul>...
Test Driven Development <ul><li>def idade(data) </li></ul><ul><li>if data </li></ul><ul><li>idade_ano = (Date.today.year -...
Test Driven Development <ul><li>def idade(data) </li></ul><ul><li>if data </li></ul><ul><li>idade_ano = (Date.today.year -...
http://www.xpce.org
Upcoming SlideShare
Loading in...5
×

BDD com Cucumber, Selenium e Rails

2,463

Published on

Slides da palestra BDD on Rails no terceiro encontro XPCE

Published in: Technology, News & Politics
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,463
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
44
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • 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
  • Transcript of "BDD com Cucumber, Selenium e Rails"

    1. 1. BDD on Rails Cucumber, Selenium, Rspec e compahia Christiano Milfont Terceiro encontro 2009 Copyright 2009 Milfont.org
    2. 2. <ul><ul><li>Christiano Milfont </li></ul></ul><ul><ul><li>http://www.milfont.org </li></ul></ul>Palestrante
    3. 3. Release Plan <ul><li>“ A good plan violently executed now is better than a perfect plan executed next week.” </li></ul><ul><li>“ Um bom plano executado violentamente agora é melhor que um plano perfeito executado na próxima semana. </li></ul><ul><li>General George S. Patton </li></ul>
    4. 4. 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 ? ? ?
    5. 5. <ul><li>User Story </li></ul><ul><ul><ul><li>Card [cartão] </li></ul></ul></ul><ul><ul><ul><li>Conversation [conversação] </li></ul></ul></ul><ul><ul><ul><li>Confirmation [confirmação] </li></ul></ul></ul><ul><li>“ Ron Jeffries, 2001” </li></ul>Behaviour Driven Development
    6. 6. 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
    7. 7. 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
    8. 8. Hands on
    9. 9. Test Driven Development <ul><li>“ Desenvolvimento guiado por testes é um caminho de gerenciamento do medo durante a programação.” </li></ul><ul><li>Kent Beck - Test Driven </li></ul><ul><li>Development by Example </li></ul>
    10. 10. Test Driven Development <ul><li>RED - GREEN - REFACTOR </li></ul><ul><li>Escreva um teste que não funciona. </li></ul><ul><li>Escreva o código e faço-o funcionar. </li></ul><ul><li>Refatore e elimine o código repetitivo. </li></ul>
    11. 11. Test Driven Development <ul><li>O ritmo em 3 A’s </li></ul><ul><li>Arrange [Criar um objeto] </li></ul><ul><li>Act [Invocar um método] </li></ul><ul><li>Assert [Verificar o resultado] </li></ul><ul><li>Refactoring Workbook, Bill Wake </li></ul>
    12. 12. Test Driven Development <ul><li>def idade(data) </li></ul><ul><li>idade_ano = (Date.today.year - data.year) </li></ul><ul><li>if Date.today.month > data.month </li></ul><ul><li>idade_ano </li></ul><ul><li>elsif Date.today.month == data.month && Date.today.day == data.day </li></ul><ul><li>idade_ano </li></ul><ul><li>elsif Date.today.month < data.month </li></ul><ul><li>idade_ano - 1 </li></ul><ul><li>elsif Date.today.month == data.month && Date.today.day < data.day </li></ul><ul><li>idade_ano - 1 </li></ul><ul><li>elsif Date.today.month == data.month && Date.today.day > data.day </li></ul><ul><li>idade_ano </li></ul><ul><li>end </li></ul><ul><li>end </li></ul><ul><li>Estágio 1 - Refactoring </li></ul>
    13. 13. Test Driven Development <ul><li>def idade(data) </li></ul><ul><li>if data </li></ul><ul><li>idade_ano = (Date.today.year - data.year) </li></ul><ul><li>if Date.today.month > data.month || </li></ul><ul><li>Date.today.month == data.month && Date.today.day > data.day || </li></ul><ul><li>Date.today.month == data.month && Date.today.day == data.day </li></ul><ul><li>idade_ano </li></ul><ul><li>elsif Date.today.month < data.month || </li></ul><ul><li>Date.today.month == data.month && Date.today.day < data.day </li></ul><ul><li>idade_ano - 1 </li></ul><ul><li>end </li></ul><ul><li>end </li></ul><ul><li>end </li></ul><ul><li>Estágio 2 - Refactoring </li></ul>
    14. 14. Test Driven Development <ul><li>def idade(data) </li></ul><ul><li>if data </li></ul><ul><li>idade_ano = (Date.today.year - data.year) </li></ul><ul><li>idade_ano = idade_ano - 1 if (Date.today.month <= data.month) && </li></ul><ul><li>(Date.today.day < data.day) </li></ul><ul><li>idade_ano </li></ul><ul><li>end </li></ul><ul><li>end </li></ul><ul><li>Estágio 3 - Refactoring </li></ul>
    15. 15. http://www.xpce.org
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×