SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 30 day free trial to unlock unlimited reading.
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.
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.
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 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.
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 maneira errada!
Jura pra mim, por favor, que você não vai fazer isso! !
1
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.
“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
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
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 maneira certa!
Quer realmente aplicar a técnica? Fique atento aos próximos slides
3
17.
Você pode me
dar um 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
Entendimento compartilhado
Escrever em um formato amigável
Especificação executável
Wireframes | Mocks | Protótipo
Feedback
Visibilidade
Software de Valor
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.
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.
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 Product Owner 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 time escreve post-its com dúvidas
Depois agrupam as dúvidas relacionadas
De forma ordenada, questionam, o PO
24.
User Story
Pergunta
Pergunta
RegraRegra
Geralmente, de uma dúvida temos uma ou
mais regras
Cada regra é um Critério de Aceite
25.
ExemploExemplo
User Story
RegraRegra
Escrito em uma
linguagem de negócio
Pode ser utilizado
Gherkin
Provê o resultado do
Entendimento
Compartilhado
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.
# 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