BDD não é
automação de teste!
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
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”
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.”
BDD de maneira errada!
Jura pra mim, por favor, que você não vai fazer isso! !
1
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
“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
Escrever features
muito técnicas
8
# 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
QA escrever os
critérios de aceite
10
Feature
Cria os cenários baseado em
itens técnicos
Usa Cucumber e Selenium
(ou derivados)
Entende
Formaliza
Automatizar
Entregar
Você aplica
algo que foi
apresentado
12
?
O que é BDD
Vamos definir o que é isso de uma vez por todas
2
“ 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.
“ 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.
BDD da maneira certa!
Quer realmente aplicar a técnica? Fique atento aos próximos slides
3
Você pode me
dar um exemplo
deste requisito?
O coração ❤ do BDD é a conversa!
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
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
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
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.
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
User Story
Pergunta
Pergunta
O time escreve post-its com dúvidas
Depois agrupam as dúvidas relacionadas
De forma ordenada, questionam, o PO
User Story
Pergunta
Pergunta
RegraRegra
Geralmente, de uma dúvida temos uma ou
mais regras
Cada regra é um Critério de Aceite
ExemploExemplo
User Story
RegraRegra
Escrito em uma
linguagem de negócio
Pode ser utilizado
Gherkin
Provê o resultado do
Entendimento
Compartilhado
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
# 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
# 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
Descobrir
Definir
Formalizar
Automatizar
Mindset mais que mecânica
BDD é sobre:
§ colaboração
§ fazer as conversas certas
§ com as pessoas certas
§ e fazer isso acontecer
Obrigado!
Duvidas?
@eliasnogueira

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

  • 1.
  • 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.
    Inspiração Don’t let automationsabotage 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.
    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.
    BDD de maneiraerrada! Jura pra mim, por favor, que você não vai fazer isso! ! 1
  • 6.
    Instalar o Cucumber Instalaro 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.
    “O maior problemado 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.
  • 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.
  • 11.
    Feature Cria os cenáriosbaseado em itens técnicos Usa Cucumber e Selenium (ou derivados) Entende Formaliza Automatizar Entregar
  • 12.
    Você aplica algo quefoi apresentado 12 ?
  • 13.
    O que éBDD Vamos definir o que é isso de uma vez por todas 2
  • 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.
    “ 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.
    BDD da maneiracerta! Quer realmente aplicar a técnica? Fique atento aos próximos slides 3
  • 17.
    Você pode me darum exemplo deste requisito? O coração ❤ do BDD é a conversa!
  • 18.
    Definir Formalizar AutomatizarEntregar Descobrir Visão Fluxo Capacidade Feature Regras de Negócio Exemplos Entendimentocompartilhado Escrever em um formato amigável Especificação executável Wireframes | Mocks | Protótipo Feedback Visibilidade Software de Valor
  • 19.
    Los 3 amigos Pelomenos, um representante de cada papel (BA, QA, Dev) estão reunidos com o Product Owner para descobrir e definir os requisitos. ● Refinamentos ● Planejamentos
  • 20.
    Pedir QuestionarSugerir Acreditamos que issotrará valor para... Mas, e se...Como nós podemos... Porque? E se...? Porque? E se...? E se...? Me dá um exemplo
  • 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.
    User Story O ProductOwner escreve as User Stories em post-its Explica a sua necessidade Ajuda o time a entender a sua necessidade/problemas
  • 23.
    User Story Pergunta Pergunta O timeescreve post-its com dúvidas Depois agrupam as dúvidas relacionadas De forma ordenada, questionam, o PO
  • 24.
    User Story Pergunta Pergunta RegraRegra Geralmente, deuma dúvida temos uma ou mais regras Cada regra é um Critério de Aceite
  • 25.
    ExemploExemplo User Story RegraRegra Escrito emuma linguagem de negócio Pode ser utilizado Gherkin Provê o resultado do Entendimento Compartilhado
  • 26.
    Exibir uma mensagem informandofrete 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.
    # 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.
    # 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.
  • 30.
    Mindset mais quemecânica BDD é sobre: § colaboração § fazer as conversas certas § com as pessoas certas § e fazer isso acontecer
  • 31.