BDD além do Hello                                     World                                     #TDC2011 Goiania          ...
Audiência #TDC2011                                  Trilha de Testes               PO / Clientesábado, 29 de outubro de 2011
Audiência #TDC2011                                  Trilha de Testes               PO / Cliente            Testersábado, 2...
Audiência #TDC2011                                  Trilha de Testes               PO / Cliente            Tester   Develo...
Eder Ignatowicz                                     @ederign                                   Developer?sábado, 29 de out...
Eder Ignatowicz                                     @ederign                                  Multidisciplinarsábado, 29 d...
Eder Ignatowicz                                     @ederignsábado, 29 de outubro de 2011
sábado, 29 de outubro de 2011
sábado, 29 de outubro de 2011
No princípio...sábado, 29 de outubro de 2011
while ((!found) && (pos < (fileContent.Length - 6)))                           {                               byteData = ...
sábado, 29 de outubro de 2011
Kent Beck “enviou” o TDD aos                            programadoressábado, 29 de outubro de 2011
É o fim dos nossos                                    problemas?sábado, 29 de outubro de 2011
Eu sou um programador, não                                        um tester...                                    “Na minh...
Meu código é difícil de                                      testar...sábado, 29 de outubro de 2011
É trivial, não preciso                                        testarsábado, 29 de outubro de 2011
Preciso de uma semana para                                   executar os testes de                                        ...
Eu não tenho tempo para                                  automatizar os testessábado, 29 de outubro de 2011
Hipótese Sapir-Whorf      “existe uma relação sistemática entre ascategorias gramaticais da língua e a forma de seusfalant...
It’s all behaviour!!!sábado, 29 de outubro de 2011
BDD: Behaviour Driven                       Development                       “Escrevendo SOFTWARE e não código”sábado, 29...
Princípios do BDD                                   It’s all behaviour                                         Com objetiv...
Princípios do BDD                                   It’s all behaviour                                         Assert.asse...
Princípios do BDD                                    It’s all behaviour                                          1-) Devo ...
Traduçãosábado, 29 de outubro de 2011
Tradução                    VOCÊ NÃO                   QUER FAZER                      ISTO!sábado, 29 de outubro de 2011
Linguagem Comum                                Title (one line describing the story)                                      ...
Linguagem Comum                                Dado (Given) uma conta de aluguel                                Quando (Wh...
Falando a mesma linguagem....                                  Nós podemos nos entender melhor;                           ...
Princípios do BDD                                 Deliver stakeholder value                                          Com o...
Redução de Custos                                     Eu perco menos tempo e                                     dinheiro ...
Princípios do BDD                                   Enough is Enough                                      Ficou fácil desc...
Detalhamento correto                    Dado (Given) uma conta de aluguel                    Quando (When) o locatario dev...
Detalhamento correto...                                       Eu tenho algo para construir o mais                         ...
Diminuindo a Carga no Final do Sprintsábado, 29 de outubro de 2011
Explore no início                                  Chance menor de ser surpreendido e                                  tem...
SubProdutos do BDDsábado, 29 de outubro de 2011
Rede de Segurançasábado, 29 de outubro de 2011
Testes Automatizados                                     Eu posso fazer modificações com                                   ...
Testes de Regressão Manualsábado, 29 de outubro de 2011
Propriedade Coletiva                                Features + Definição de Passossábado, 29 de outubro de 2011
Suíte de Regressão Automática                                Testes de regressão ficaram baratos!                          ...
Especificação “Tradicional”sábado, 29 de outubro de 2011
Especificação executável                                Dado (Given) uma conta de aluguel                                Qu...
Resumindo, porque BDD?sábado, 29 de outubro de 2011
Melhor entendimento do problema                                Chance de melhorar meu investimento                        ...
Melhor entendimento do problema                                  Eu sei onde inicia, o que fazer em                       ...
Melhor entendimento do problema                                    Software para testar mais                              ...
JBehavesábado, 29 de outubro de 2011
sábado, 29 de outubro de 2011
JBehave                                Title	  (one	  line	  describing	  the	  story)                                	  N...
JBehave                    Utilização das palavras chave dos cenários em                                     texto puro;  ...
Live Coding - JBehavesábado, 29 de outubro de 2011
JBehave != BDDsábado, 29 de outubro de 2011
“All of these tools are great... but, in                                the end, tools are tools. While                   ...
Dúvidas?sábado, 29 de outubro de 2011
Eder Ignatowicz                                     @ederignsábado, 29 de outubro de 2011
Bibliografia                                Apresentação baseado no trabalho de Brent Snooksábado, 29 de outubro de 2011
Upcoming SlideShare
Loading in...5
×

BDD - Além do Hello World

1,643

Published on

Palestra apresentada no #TDC2011 Goiânia.

Desenvolvimento Software ao invés de código.

1 Comment
2 Likes
Statistics
Notes
No Downloads
Views
Total Views
1,643
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
39
Comments
1
Likes
2
Embeds 0
No embeds

No notes for slide

BDD - Além do Hello World

  1. 1. BDD além do Hello World #TDC2011 Goiania Eder Ignatowiczsábado, 29 de outubro de 2011
  2. 2. Audiência #TDC2011 Trilha de Testes PO / Clientesábado, 29 de outubro de 2011
  3. 3. Audiência #TDC2011 Trilha de Testes PO / Cliente Testersábado, 29 de outubro de 2011
  4. 4. Audiência #TDC2011 Trilha de Testes PO / Cliente Tester Developersábado, 29 de outubro de 2011
  5. 5. Eder Ignatowicz @ederign Developer?sábado, 29 de outubro de 2011
  6. 6. Eder Ignatowicz @ederign Multidisciplinarsábado, 29 de outubro de 2011
  7. 7. Eder Ignatowicz @ederignsábado, 29 de outubro de 2011
  8. 8. sábado, 29 de outubro de 2011
  9. 9. sábado, 29 de outubro de 2011
  10. 10. No princípio...sábado, 29 de outubro de 2011
  11. 11. while ((!found) && (pos < (fileContent.Length - 6))) { byteData = new byte[6]; Array.Copy(fileContent, pos, byteData, 0, 6); pos = pos + 6; str_byteData = enc.GetString(byteData); if (str_byteData.Contains("s")) { posE_byteData = str_byteData.IndexOf("s"); pos = pos + (posE_byteData - 6); Array.Copy(fileContent, pos, byteData, 0, 6); pos = pos + 6; if (byteData[0] == 0x73) // s { if (byteData[1] == 0x74) // t { if (byteData[2] == 0x72) // r { if (byteData[3] == 0x65) // e { if (byteData[4] == 0x61) // a { if (byteData[5] == 0x6D) // m { found = true; break; } else { if (byteData[5] == 0x73) { pos = pos - 1; } } Como “testar” isto? }sábado, 29 de outubro de 2011
  12. 12. sábado, 29 de outubro de 2011
  13. 13. Kent Beck “enviou” o TDD aos programadoressábado, 29 de outubro de 2011
  14. 14. É o fim dos nossos problemas?sábado, 29 de outubro de 2011
  15. 15. Eu sou um programador, não um tester... “Na minha máquina funciona”sábado, 29 de outubro de 2011
  16. 16. Meu código é difícil de testar...sábado, 29 de outubro de 2011
  17. 17. É trivial, não preciso testarsábado, 29 de outubro de 2011
  18. 18. Preciso de uma semana para executar os testes de regressãosábado, 29 de outubro de 2011
  19. 19. Eu não tenho tempo para automatizar os testessábado, 29 de outubro de 2011
  20. 20. Hipótese Sapir-Whorf “existe uma relação sistemática entre ascategorias gramaticais da língua e a forma de seusfalantes entenderem o mundo e se portarem dentro dele...” Na sua versão forte, pode ser considerada uma forma de determinismo lingüístico, embora o interesse dos psicólogos pela influência da linguagem nosábado, 29 de outubro de 2011
  21. 21. It’s all behaviour!!!sábado, 29 de outubro de 2011
  22. 22. BDD: Behaviour Driven Development “Escrevendo SOFTWARE e não código”sábado, 29 de outubro de 2011
  23. 23. Princípios do BDD It’s all behaviour Com objetivo de acelerar a cobrança do aluguel Como um cobrador Eu quero visualizar o total da dívida de um locatário Descrição da história (Wiki, JIRA, Tracker, Word)sábado, 29 de outubro de 2011
  24. 24. Princípios do BDD It’s all behaviour Assert.assertEquals (locatario.dividaTotal(), 17000,00); Testes automatizados de unidade e aceitaçãosábado, 29 de outubro de 2011
  25. 25. Princípios do BDD It’s all behaviour 1-) Devo um aluguel de R$1200,00 2-) Devo um aluguel de R$1200,00 3-) O total da dívida deve ser R$2400,00 Procedimento de Testessábado, 29 de outubro de 2011
  26. 26. Traduçãosábado, 29 de outubro de 2011
  27. 27. Tradução VOCÊ NÃO QUER FAZER ISTO!sábado, 29 de outubro de 2011
  28. 28. Linguagem Comum Title (one line describing the story)   Narrative: As a [role] I want [feature] So that [benefit]   Acceptance Criteria: (presented as Scenarios)   Scenario 1: Title Given [context]   And [some more context]... When  [event] Then  [outcome]   And [another outcome]...   Scenario 2: ...sábado, 29 de outubro de 2011
  29. 29. Linguagem Comum Dado (Given) uma conta de aluguel Quando (When) o locatário deve um aluguel no valor de R$1200,00 E (And) o locatário deve outro aluguel no valor de R$1200,00 Então (Then) o total da dívida é R$2400,00sábado, 29 de outubro de 2011
  30. 30. Falando a mesma linguagem.... Nós podemos nos entender melhor; Nós podemos nos aprofundar no entendimento do problema; E maximizar as chances de construirmos as coisas certas.sábado, 29 de outubro de 2011
  31. 31. Princípios do BDD Deliver stakeholder value Com objetivo de acelerar a cobrança do aluguel, por quê? Com objetivo de controlar melhor a cobrança de juros, por quê? Com objetivo de controlar melhor os meus resultados financeiros, BAZINGA!sábado, 29 de outubro de 2011
  32. 32. Redução de Custos Eu perco menos tempo e dinheiro construindo coisas que não são exatamente necessárias e investigando valores que me ajudam a priorizar corretamente!sábado, 29 de outubro de 2011
  33. 33. Princípios do BDD Enough is Enough Ficou fácil descobrir onde se inicia e termina uma funcionalidade. Parei de desperdiçar dinheiro com funcionalidades supérfluassábado, 29 de outubro de 2011
  34. 34. Detalhamento correto Dado (Given) uma conta de aluguel Quando (When) o locatario deve um aluguel no valor de R$1200,00 E (And) o locatário deve outro aluguel no valor de R$1200,00 Então (Then) o total da dívida é R$2400,00sábado, 29 de outubro de 2011
  35. 35. Detalhamento correto... Eu tenho algo para construir o mais rápido possível! Eu tenho algo para testar rapidamente!sábado, 29 de outubro de 2011
  36. 36. Diminuindo a Carga no Final do Sprintsábado, 29 de outubro de 2011
  37. 37. Explore no início Chance menor de ser surpreendido e tempo de descobrir mais problemas Bugs e novos cenários rapidamentesábado, 29 de outubro de 2011
  38. 38. SubProdutos do BDDsábado, 29 de outubro de 2011
  39. 39. Rede de Segurançasábado, 29 de outubro de 2011
  40. 40. Testes Automatizados Eu posso fazer modificações com confiança e velocidade Hummm… eu posso utilizar estes testes?sábado, 29 de outubro de 2011
  41. 41. Testes de Regressão Manualsábado, 29 de outubro de 2011
  42. 42. Propriedade Coletiva Features + Definição de Passossábado, 29 de outubro de 2011
  43. 43. Suíte de Regressão Automática Testes de regressão ficaram baratos! Posso gerar versões mais rapidamente Eu posso me focar em mais testes exploratórios!sábado, 29 de outubro de 2011
  44. 44. Especificação “Tradicional”sábado, 29 de outubro de 2011
  45. 45. Especificação executável Dado (Given) uma conta de aluguel Quando (When) o locatário deve um aluguel no valor de R$1200,00 E (And) o locatário deve outro aluguel no valor de R$1200,00 Então (Then) o total da dívida é R$2400,00sábado, 29 de outubro de 2011
  46. 46. Resumindo, porque BDD?sábado, 29 de outubro de 2011
  47. 47. Melhor entendimento do problema Chance de melhorar meu investimento Desenvolvimento mais eficiente Feedback rápido Documentação "viva"sábado, 29 de outubro de 2011
  48. 48. Melhor entendimento do problema Eu sei onde inicia, o que fazer em seguida e quando parar o desenvolvimento de uma feature Chance de construir algo rapidamente Rede de segurança para efetuar mudançassábado, 29 de outubro de 2011
  49. 49. Melhor entendimento do problema Software para testar mais rapidamente Mais tempo para testes exploratóriossábado, 29 de outubro de 2011
  50. 50. JBehavesábado, 29 de outubro de 2011
  51. 51. sábado, 29 de outubro de 2011
  52. 52. JBehave Title  (one  line  describing  the  story)  Narrative: As  a  [role] Advantages  of  the  “As  a  user,  I  want”   I  want  [feature] user  story  template,  by  Mike  Cohn So  that  [benefit]   Acceptance  Criteria:  (presented  as  Scenarios)   Scenario  1:  Title Given  [context]    And  [some  more  context]... When    [event] Cenários  descrevendo  os   Then    [outcome]    And  [another  outcome]... comportamentos  esperados.   Scenario  2:  ...sábado, 29 de outubro de 2011
  53. 53. JBehave Utilização das palavras chave dos cenários em texto puro; Criação classes para mapear os passos (Steps); Criação de classes para rodar os cenários, chamando os steps necessários;sábado, 29 de outubro de 2011
  54. 54. Live Coding - JBehavesábado, 29 de outubro de 2011
  55. 55. JBehave != BDDsábado, 29 de outubro de 2011
  56. 56. “All of these tools are great... but, in the end, tools are tools. While RSpec and Cucumber are optimized for BDD, using them doesnʼt automatically mean youʼre doing BDD" The RSpec Booksábado, 29 de outubro de 2011
  57. 57. Dúvidas?sábado, 29 de outubro de 2011
  58. 58. Eder Ignatowicz @ederignsábado, 29 de outubro de 2011
  59. 59. Bibliografia Apresentação baseado no trabalho de Brent Snooksábado, 29 de outubro de 2011
  1. A particular slide catching your eye?

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

×