Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

BDD não é automação de teste - Scrum Gathering

1,058 views

Published on

Palestra ministrada no Scrum Gathering Rio no dia 27/07/2018 falando como as pessoas ou times entendem, de maneira errada, o que é BDD. Depois é apresentado a maneira correta de utilizar BDD em conjunto com a técnica de Example Mapping e exemplos de uso.

Published in: Technology

BDD não é automação de teste - Scrum Gathering

  1. 1. BDD não é automação de teste!
  2. 2. Elias Nogueira | Agile Coach – QA Engineer Eu ajudo pessoas e empresas a entregar software com qualidade. @eliasnogueira https://github.com/eliasnogueira/public-speaking linkedin.com/in/eliasnogueira
  3. 3. Inspiração Don’t let automation sabotage your BDD adoption John Ferguson Smart | Autor do livro BDD in Action “Automação de Teste pode ser uma oportunidade para ajudar times que adotam Behavior Driven Development. Mas faça isso muito cedo, ou de maneira errada, e seu esforço pode ter o efeito oposto”
  4. 4. Inspiração BDD não é automação de teste Elias Nogueira “Se você não sabe o que é Behavior Driven Development, ou não o aplica de maneira correta, você vai acreditar que ele serve para automação de teste.”
  5. 5. BDD de maneira errada! Jura pra mim, por favor, que você não vai fazer isso! ! 1
  6. 6. Instalar o Cucumber Instalar o Cucumber, escrever algumas features e tentar automatizá-las, sem saber o que é BDD só porque tem um formato amigável para automação é uma péssima ideia. 6
  7. 7. “O maior problema do Cucumber é que a maioria das pessoas tentam usá-la sem entender o que ela é. “Cucumber não é uma ferramenta de testar software. É uma ferramenta para testar o entendimento das pessoas em como um software (ainda a ser escrito) deve se comportar.” Aslak Hellesøy, criador do Cucumber https://news.ycombinator.com/item?id=10194242
  8. 8. Escrever features muito técnicas 8
  9. 9. # EXEMPLO RUIM! Não faça isso! language: pt Funcionalidade: Compra de produtos Cenario: Compra de um produto com frete grátis em região específica Dado que eu sou um cliente da região Sul Quando eu clico no menu "eletrônicos" E eu clico no item "TVs 49" no canto esquerdo da tela E eu clico na "TV LG Smart 49” E eu preencho meu CEP com "91010-000" E eu clico no botão "Calcular frete" Entao eu vejo a mensagem "Frete Grátis!" abaixo do botão
  10. 10. QA escrever os critérios de aceite 10
  11. 11. Feature Cria os cenários baseado em itens técnicos Usa Cucumber e Selenium (ou derivados) Entende Formaliza Automatizar Entregar
  12. 12. Você aplica algo que foi apresentado 12 ?
  13. 13. O que é BDD Vamos definir o que é isso de uma vez por todas 2
  14. 14. “ BDD é um processo colaborativo que envolve múltiplos membros do time trabalhando em conjunto com BA’s/Product Owners para descobrir e refinar requisitos usando conversas de forma estruturadas sobre exemplos de uso e comportamentos do sistema.
  15. 15. “ BDD é um processo colaborativo que envolve múltiplos membros do time trabalhando em conjunto com BA’s/Product Owners para descobrir e refinar requisitos usando conversas de forma estruturadas sobre exemplos de uso e comportamentos do sistema.
  16. 16. BDD da maneira certa! Quer realmente aplicar a técnica? Fique atento aos próximos slides 3
  17. 17. Você pode me dar um exemplo deste requisito? O coração ❤ do BDD é a conversa!
  18. 18. Definir Formalizar AutomatizarEntregar Descobrir Visão Fluxo Capacidade Feature Regras de Negócio Exemplos Entendimento compartilhado Escrever em um formato amigável Especificação executável Wireframes | Mocks | Protótipo Feedback Visibilidade Software de Valor
  19. 19. Los 3 amigos Pelo menos, um representante de cada papel (BA, QA, Dev) estão reunidos com o Product Owner para descobrir e definir os requisitos. ● Refinamentos ● Planejamentos
  20. 20. Pedir QuestionarSugerir Acreditamos que isso trará valor para... Mas, e se...Como nós podemos... Porque? E se...? Porque? E se...? E se...? Me dá um exemplo
  21. 21. Example Mapping Pelo menos, um representante de cada papel (BA, QA, Dev) estão reunidos com o Product Owner para descobrir e definir os requisitos.
  22. 22. User Story O Product Owner escreve as User Stories em post-its Explica a sua necessidade Ajuda o time a entender a sua necessidade/problemas
  23. 23. User Story Pergunta Pergunta O time escreve post-its com dúvidas Depois agrupam as dúvidas relacionadas De forma ordenada, questionam, o PO
  24. 24. User Story Pergunta Pergunta RegraRegra Geralmente, de uma dúvida temos uma ou mais regras Cada regra é um Critério de Aceite
  25. 25. ExemploExemplo User Story RegraRegra Escrito em uma linguagem de negócio Pode ser utilizado Gherkin Provê o resultado do Entendimento Compartilhado
  26. 26. Exibir uma mensagem informando frete grátis Permitir Frete Grátis em uma compra Como eu identifico a região da compra? Como o cliente será informado do frete grátis? Frete grátis para Sul com compras acima de R$ 100 Após digitar o CEP devemos identificar a região do usuário Mensagem de frete grátis deve aparecer abaixo do campo CEP
  27. 27. # EXEMPLO RUIM! Não faça isso! language: pt Funcionalidade: Compra de produtos Cenario: Compra de um produto com frete grátis em região específica Dado que eu sou um cliente da região Sul Quando eu clico no menu "eletrônicos" E eu clico no item "TVs 49" no canto esquerdo da tela E eu clico na "TV LG Smart 49” E eu preencho meu CEP com "91010-000" E eu clico no botão "Calcular frete" Entao eu vejo a mensagem "Frete Grátis!" abaixo do botão
  28. 28. # EXEMPLO BOM! Faça isso! language: pt Funcionalidade: Compra de produtos Cenario: Compra de um produto com frete grátis em região específica Dado que eu sou um cliente Quando eu comprar um produto de qualquer categoria E o valor total da compra for igual ou maior a R$ 100 E meu CEP pertencer a região Sul Entao eu vejo o frete grátis # a região sul é composta pelas seguintes faixas de cep: # PR | 80000-000 a 87999-999 # SC | 88000-000 a 89999-999 # RS | 90000-000 a 99999-999
  29. 29. Descobrir Definir Formalizar Automatizar
  30. 30. Mindset mais que mecânica BDD é sobre: § colaboração § fazer as conversas certas § com as pessoas certas § e fazer isso acontecer
  31. 31. Obrigado! Duvidas? @eliasnogueira

×