SlideShare uma empresa Scribd logo
BDD
Behavior-driven Development
Eron Rodrigues Alves
04/08/2015
Introdução
Dan North (2006)
TDD? ATDD? DDD?
• Por onde começar?
• O que testar?
• O teste precisa começar falhando? (Baby steps)
Introdução
TDD (e ATDD) DDD
BDD
Práticas
• Outside-in Development.
• Exemplos para descrever o comportamento.
(Estórias - Requisitos)
• Automatizar os exemplos. (Testes de
Aceitação)
– Testes são chamados de “Cenários” ou
“Especificações”.
Práticas
• Usar deve (should).
• Usar simuladores de teste (mocks, stubs,
fakes, dummies, spies).
• Linguagem Ubíqua.
Ciclo de desenvolvimento
1. Descrever a estória;
2. Detalhar o comportamento esperado da estória
através de cenários;
3. Mapear o cenário em uma classe de teste
automatizado;
4. Implementar o código para que o teste passe com
sucesso. (Red – Yellow – Green)
Ferramentas
• JSpec (Java)
• ScalaTest (Scala)
• Specter (.Net)
• RSpec (Ruby)
• Cucumber
Cucumber
Descrevendo Comportamento
Given (Dado): Representa a situação inicial do teste e pode ser
considerado como a pré-condição.
When (Quando): Representa uma ação ou evento. Pode ser
considerado como um procedimento.
Then (Então): Representa uma resposta, comportamento ou resultado
esperado.
And (E): usado para estender o given, when ou then positivamente.
But (Mas): usado para estender o given, when ou then negativamente.
Cucumber
Descrevendo Comportamento
Feature Inscrição
Inscrição deve ser rápida e amigável.
Scenario: Inscrição com sucesso.
Novos usuários devem receber um e-mail de confirmação e
uma saudação personalizada ao entrar no sistema.
Given Escolhi me inscrever
When Me inscrever com dados válidos
Then Devo receber um e-mail de confirmação
And Devo visualizar uma saudação personalizada
Cucumber
Descrevendo Comportamento
Scenario: E-mail duplicado
Quando alguém tenta criar uma conta para um endereço de
e-mail que já está cadastrado.
Given escolhi me inscrever
But inseri e-mail já cadastrado
Then devo ser informado que o e-mail já está cadastrado
And deve ser oferecida uma opção para recuperar a senha
Cucumber
Desenvolvendo o Teste
BDD
Conclusão
Referências
http://dannorth.net/introducing-bdd/
http://guide.agilealliance.org/
http://www.thoughtworks.com/pt/insights/
http://www.bugbang.com.br/
https://cucumber.io/docs/reference
http://www.toolsqa.com/

Mais conteúdo relacionado

PPTX
Semana da Mulher na Tecnologia_Introducao ao Bdd
PPTX
Scrum - Conceitos
PDF
Khomp testes complexos!
PPTX
Palestra Ufpb
PDF
Boa Práticas no Desenvolvimento Java Enterprise
PPT
Introdução a BDD
PPTX
[GUTS-RS] GUTS Testing Games - Jogo BDD Warriors
PPTX
BDD (Behavior-Driven Development)
Semana da Mulher na Tecnologia_Introducao ao Bdd
Scrum - Conceitos
Khomp testes complexos!
Palestra Ufpb
Boa Práticas no Desenvolvimento Java Enterprise
Introdução a BDD
[GUTS-RS] GUTS Testing Games - Jogo BDD Warriors
BDD (Behavior-Driven Development)

Semelhante a Introdução à BDD (Behavior-driven Development) (20)

PDF
Desenvolvimento BDD
PPTX
InterCon 2017 - Indo além dos testes de classes com BDD (Behavior-Driven Deve...
PDF
Jefferson Andrade - BDD - Behavior-Driven Development - ITA
PPTX
Behavior driven development
PPTX
Indo além dos testes de classes com BDD (Behavior-Driven Development) - DevOp...
PDF
Introdução à Metodologias de Desenvolvimento Orientadas à Testes com Exemplos...
PDF
Behavior Driven Development - Unificando propostas de negócio com testes e có...
PPTX
Behavior-Driven Development (BDD) - QA Ninja Conf 2016
PPTX
Indo além dos testes de classes com BDD (Behavior-Driven Development) - Inter...
PPTX
Behavior-Driven Development (BDD) - DevOps Summit 2016
PPTX
Behavior-Driven Development (BDD) - Abril/2017
PDF
TDC2016SP - Trilha Análise de Negócios
PPTX
BDD (Behavior-Driven Development) - GDG-SP - Julho/2016
PDF
BDD - JBehave + SeleniumHQ + PhantomJS + Fixture Factory
PPTX
Bdd com cucumber + java + selenium
KEY
Cucumber com java
PPTX
BDD e TDD na prática com SpecFlow e Visual Studio 2012
PPTX
Agile trends GOV - Foco no Valor: Utilizando BDD para melhorar a comunicação ...
Desenvolvimento BDD
InterCon 2017 - Indo além dos testes de classes com BDD (Behavior-Driven Deve...
Jefferson Andrade - BDD - Behavior-Driven Development - ITA
Behavior driven development
Indo além dos testes de classes com BDD (Behavior-Driven Development) - DevOp...
Introdução à Metodologias de Desenvolvimento Orientadas à Testes com Exemplos...
Behavior Driven Development - Unificando propostas de negócio com testes e có...
Behavior-Driven Development (BDD) - QA Ninja Conf 2016
Indo além dos testes de classes com BDD (Behavior-Driven Development) - Inter...
Behavior-Driven Development (BDD) - DevOps Summit 2016
Behavior-Driven Development (BDD) - Abril/2017
TDC2016SP - Trilha Análise de Negócios
BDD (Behavior-Driven Development) - GDG-SP - Julho/2016
BDD - JBehave + SeleniumHQ + PhantomJS + Fixture Factory
Bdd com cucumber + java + selenium
Cucumber com java
BDD e TDD na prática com SpecFlow e Visual Studio 2012
Agile trends GOV - Foco no Valor: Utilizando BDD para melhorar a comunicação ...
Anúncio

Mais de Eron Rodrigues Alves (8)

PDF
Contágio Por que as coisas pegam? - Jonah Berger
PDF
Canvas de proposta de valor
PDF
Teste de usabilidade
PDF
Engineering culture
PPTX
Angular2 - Principais Mudanças
PDF
Design Thinking
PPTX
Marketing 3.0
PPTX
Ionic Framework
Contágio Por que as coisas pegam? - Jonah Berger
Canvas de proposta de valor
Teste de usabilidade
Engineering culture
Angular2 - Principais Mudanças
Design Thinking
Marketing 3.0
Ionic Framework
Anúncio

Último (19)

PDF
Processos na gestão de transportes, TM100 Col18
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PDF
Apple Pippin Uma breve introdução. - David Glotz
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PDF
Aula04-Academia Heri- Tecnologia Geral 2025
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PPTX
Aula 18 - Manipulacao De Arquivos python
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Processos na gestão de transportes, TM100 Col18
Custos e liquidação no SAP Transportation Management, TM130 Col18
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Apple Pippin Uma breve introdução. - David Glotz
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Aula04-Academia Heri- Tecnologia Geral 2025
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
COBITxITIL-Entenda as diferença em uso governança TI
Aula 18 - Manipulacao De Arquivos python
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx

Introdução à BDD (Behavior-driven Development)