SlideShare uma empresa Scribd logo
Behavior Driven
Development
Conteúdo
● Introdução
● BDD - O que é, como funciona, vantagens e desvantagens
● BDD - Descrevendo features e cenários
● Hands-on
● Experiências com BDD
● Piadas ruins
Introdução - Por quê?
- Ter uma linguagem clara e universal sobre as funcionalidades
- Ter requisitos de comportamento claros e descritos
- Melhorar a comunicação e colaboração entre envolvidos no projeto
Introdução - Por quê?
- Documentação viva e testável das funcionalidades
Introdução - Por quê?
- Independente de linguagem ou framework
- Pode ser implantado em qualquer momento no projeto
- Features
- Funcionalidades/requisitos do software
- Cenários
- Diferentes situações possíveis na mesma feature
- Contexto
- Dados de entrada
- Ações
- Ações efetuadas por usuário humanos e não humanos
- Resultados
- Verificação de saídas esperadas
Features, cenários, contexto...
Contexto ->
Ação ->
Resultado ->
Desvantagens
- Necessita colaboração dos analistas de negócio
- Teoricamente, mais lento para executar
- Mais difícil encontrar causa raiz de erros (teste de caixa preto)
Desvantagens
- Não indicado para cenários simples e diretos (opinião pessoal)
Ex:
Dado um usuário do sistema
Quando ele fizer digitar o usuário e senha e clicar em Login
Então deverá ser redirecionado para a página inicial
Mas e o TDD?
- TDD => Focado em design da aplicação e cobertura de testes
- BDD = > Focado em comportamento , comunicação e descoberta de requisitos
- Podem coexistir sem problemas ;)
Mão na massa!
Código em:
https://github.com/thiagoferreiraw/bdd-talk
Obrigado!

Mais conteúdo relacionado

Mais procurados

Metodologias de desenvolvimento - Waterfall vs Agile
Metodologias de desenvolvimento - Waterfall vs AgileMetodologias de desenvolvimento - Waterfall vs Agile
Metodologias de desenvolvimento - Waterfall vs AgileMarcelo Murad
 
Quando os rótulos não atendem as suas necessidades
Quando os rótulos não atendem as suas necessidadesQuando os rótulos não atendem as suas necessidades
Quando os rótulos não atendem as suas necessidadesJuliano Ribeiro
 
UnP Eng. Software - Aula 25
UnP Eng. Software - Aula 25UnP Eng. Software - Aula 25
UnP Eng. Software - Aula 25Hélio Medeiros
 
Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006Luís Fernando Richter
 
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014Teste de performance na nuvem com JMeter e BlazeMeter TDC2014
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014Qualister
 
Prototipagem de Software para Devs
Prototipagem de Software para DevsPrototipagem de Software para Devs
Prototipagem de Software para DevsMarcos Marcolin
 
DevQA | Da zona de conforto ao comprometimento com a qualidade
DevQA | Da zona de conforto ao comprometimento com a qualidadeDevQA | Da zona de conforto ao comprometimento com a qualidade
DevQA | Da zona de conforto ao comprometimento com a qualidadeKamilla Queiroz Xavier
 
Cursos Agile Think - Feature Driven Development (FDD) - 4/4
Cursos Agile Think - Feature Driven Development (FDD) - 4/4Cursos Agile Think - Feature Driven Development (FDD) - 4/4
Cursos Agile Think - Feature Driven Development (FDD) - 4/4André Vidal
 
Apresentacao IzCode Web
Apresentacao IzCode  WebApresentacao IzCode  Web
Apresentacao IzCode Webjoaopauloaos
 
Introdução a BDD
Introdução a BDDIntrodução a BDD
Introdução a BDDIsmael
 
Especificação de Requisitos de Software
Especificação de Requisitos de SoftwareEspecificação de Requisitos de Software
Especificação de Requisitos de SoftwareRalph Rassweiler
 
BDD - Integrando regras de negócio e programação
BDD - Integrando regras de negócio e programaçãoBDD - Integrando regras de negócio e programação
BDD - Integrando regras de negócio e programaçãoGleica Reinert
 
Visual Regression Tests - Dando um Upload nos seus testes de UI!
Visual Regression Tests - Dando um Upload nos seus testes de UI!Visual Regression Tests - Dando um Upload nos seus testes de UI!
Visual Regression Tests - Dando um Upload nos seus testes de UI!Mariana Elisa Moisés , CTFL-AT,MBA
 
Behavior Driven Development - Unificando propostas de negócio com testes e có...
Behavior Driven Development - Unificando propostas de negócio com testes e có...Behavior Driven Development - Unificando propostas de negócio com testes e có...
Behavior Driven Development - Unificando propostas de negócio com testes e có...Rafael Prallon
 
A importância da qualidade de software e suas diversas perspectivas
A importância da qualidade de software e suas diversas perspectivasA importância da qualidade de software e suas diversas perspectivas
A importância da qualidade de software e suas diversas perspectivasRicardo Serradas
 

Mais procurados (20)

Metodologias de desenvolvimento - Waterfall vs Agile
Metodologias de desenvolvimento - Waterfall vs AgileMetodologias de desenvolvimento - Waterfall vs Agile
Metodologias de desenvolvimento - Waterfall vs Agile
 
Quando os rótulos não atendem as suas necessidades
Quando os rótulos não atendem as suas necessidadesQuando os rótulos não atendem as suas necessidades
Quando os rótulos não atendem as suas necessidades
 
UnP Eng. Software - Aula 25
UnP Eng. Software - Aula 25UnP Eng. Software - Aula 25
UnP Eng. Software - Aula 25
 
Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006
 
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014Teste de performance na nuvem com JMeter e BlazeMeter TDC2014
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014
 
Prototipagem de Software para Devs
Prototipagem de Software para DevsPrototipagem de Software para Devs
Prototipagem de Software para Devs
 
DevQA | Da zona de conforto ao comprometimento com a qualidade
DevQA | Da zona de conforto ao comprometimento com a qualidadeDevQA | Da zona de conforto ao comprometimento com a qualidade
DevQA | Da zona de conforto ao comprometimento com a qualidade
 
Definição e classificação dos requisitos
Definição e classificação dos requisitosDefinição e classificação dos requisitos
Definição e classificação dos requisitos
 
Prototipacao Funcional
Prototipacao FuncionalPrototipacao Funcional
Prototipacao Funcional
 
Cursos Agile Think - Feature Driven Development (FDD) - 4/4
Cursos Agile Think - Feature Driven Development (FDD) - 4/4Cursos Agile Think - Feature Driven Development (FDD) - 4/4
Cursos Agile Think - Feature Driven Development (FDD) - 4/4
 
Apresentacao IzCode Web
Apresentacao IzCode  WebApresentacao IzCode  Web
Apresentacao IzCode Web
 
Introdução a BDD
Introdução a BDDIntrodução a BDD
Introdução a BDD
 
Especificação de Requisitos de Software
Especificação de Requisitos de SoftwareEspecificação de Requisitos de Software
Especificação de Requisitos de Software
 
BDD - Integrando regras de negócio e programação
BDD - Integrando regras de negócio e programaçãoBDD - Integrando regras de negócio e programação
BDD - Integrando regras de negócio e programação
 
Visual Regression Tests - Dando um Upload nos seus testes de UI!
Visual Regression Tests - Dando um Upload nos seus testes de UI!Visual Regression Tests - Dando um Upload nos seus testes de UI!
Visual Regression Tests - Dando um Upload nos seus testes de UI!
 
Behavior Driven Development - Unificando propostas de negócio com testes e có...
Behavior Driven Development - Unificando propostas de negócio com testes e có...Behavior Driven Development - Unificando propostas de negócio com testes e có...
Behavior Driven Development - Unificando propostas de negócio com testes e có...
 
Requisitos de software
Requisitos de softwareRequisitos de software
Requisitos de software
 
Aula3 engenharia requisitos
Aula3 engenharia requisitosAula3 engenharia requisitos
Aula3 engenharia requisitos
 
Testes Automatizados
Testes AutomatizadosTestes Automatizados
Testes Automatizados
 
A importância da qualidade de software e suas diversas perspectivas
A importância da qualidade de software e suas diversas perspectivasA importância da qualidade de software e suas diversas perspectivas
A importância da qualidade de software e suas diversas perspectivas
 

Semelhante a Behavior driven development

Agile Brazil 2018 BDD - a chave para melhorar a comunicação entre stakehold...
Agile Brazil 2018   BDD - a chave para melhorar a comunicação entre stakehold...Agile Brazil 2018   BDD - a chave para melhorar a comunicação entre stakehold...
Agile Brazil 2018 BDD - a chave para melhorar a comunicação entre stakehold...Allan Ferreira
 
UFSC - Utilizando BDD para análise de negócio e desenvolvimento de projetos
UFSC - Utilizando BDD para análise de negócio e desenvolvimento de projetosUFSC - Utilizando BDD para análise de negócio e desenvolvimento de projetos
UFSC - Utilizando BDD para análise de negócio e desenvolvimento de projetosAllan Ferreira
 
Teste sua aplicação antes que ela teste você
Teste sua aplicação antes que ela teste vocêTeste sua aplicação antes que ela teste você
Teste sua aplicação antes que ela teste vocêTiago Link
 
[TDC-Floripa 2017] Utilizando BDD para análise de negócio e desenvolvimento d...
[TDC-Floripa 2017] Utilizando BDD para análise de negócio e desenvolvimento d...[TDC-Floripa 2017] Utilizando BDD para análise de negócio e desenvolvimento d...
[TDC-Floripa 2017] Utilizando BDD para análise de negócio e desenvolvimento d...Allan Ferreira
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...tdc-globalcode
 
TDC2017 | Florianópolis - Trilha Analise de Negocios Utilizando BDD para anal...
TDC2017 | Florianópolis - Trilha Analise de Negocios Utilizando BDD para anal...TDC2017 | Florianópolis - Trilha Analise de Negocios Utilizando BDD para anal...
TDC2017 | Florianópolis - Trilha Analise de Negocios Utilizando BDD para anal...tdc-globalcode
 
Integração do Zabbix com Testes Automatizados
Integração do Zabbix com Testes AutomatizadosIntegração do Zabbix com Testes Automatizados
Integração do Zabbix com Testes AutomatizadosRobert Silva
 
tdc-2022-poa-quem-tem-medo-low-code.pdf
tdc-2022-poa-quem-tem-medo-low-code.pdftdc-2022-poa-quem-tem-medo-low-code.pdf
tdc-2022-poa-quem-tem-medo-low-code.pdfDouglas Siviotti
 
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão GeralFeature-Driven Development - Visão Geral
Feature-Driven Development - Visão GeralRuan Carvalho
 
Arquitetura de Software e o DNAD2013
Arquitetura de Software e o DNAD2013Arquitetura de Software e o DNAD2013
Arquitetura de Software e o DNAD2013André Borgonovo
 
[GDG Quality Fest 2017] BDD - Como quebrar as barreiras de negócio dentro do ...
[GDG Quality Fest 2017] BDD - Como quebrar as barreiras de negócio dentro do ...[GDG Quality Fest 2017] BDD - Como quebrar as barreiras de negócio dentro do ...
[GDG Quality Fest 2017] BDD - Como quebrar as barreiras de negócio dentro do ...Andrelise Rafael Gonçalves
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasKleitor Franklint Correa Araujo
 
TDC SP 2018 - Utilizando BDD para análise de negócio e desenvolvimento de pro...
TDC SP 2018 - Utilizando BDD para análise de negócio e desenvolvimento de pro...TDC SP 2018 - Utilizando BDD para análise de negócio e desenvolvimento de pro...
TDC SP 2018 - Utilizando BDD para análise de negócio e desenvolvimento de pro...Allan Ferreira
 
Utilizando BDD com Specflow e Selenium para testes Web MSP Tech Day Curitiba
Utilizando BDD com Specflow e Selenium para testes Web MSP Tech Day CuritibaUtilizando BDD com Specflow e Selenium para testes Web MSP Tech Day Curitiba
Utilizando BDD com Specflow e Selenium para testes Web MSP Tech Day CuritibaCleiton Felipe Moraes
 
BDD e TDD na prática com SpecFlow e Visual Studio 2012
BDD e TDD na prática com SpecFlow e Visual Studio 2012BDD e TDD na prática com SpecFlow e Visual Studio 2012
BDD e TDD na prática com SpecFlow e Visual Studio 2012Igor Abade
 
Ap i unidade 3 - levantamento de requisitos
Ap i   unidade 3 - levantamento de requisitosAp i   unidade 3 - levantamento de requisitos
Ap i unidade 3 - levantamento de requisitosGlauber Aquino
 

Semelhante a Behavior driven development (20)

Agile Brazil 2018 BDD - a chave para melhorar a comunicação entre stakehold...
Agile Brazil 2018   BDD - a chave para melhorar a comunicação entre stakehold...Agile Brazil 2018   BDD - a chave para melhorar a comunicação entre stakehold...
Agile Brazil 2018 BDD - a chave para melhorar a comunicação entre stakehold...
 
UFSC - Utilizando BDD para análise de negócio e desenvolvimento de projetos
UFSC - Utilizando BDD para análise de negócio e desenvolvimento de projetosUFSC - Utilizando BDD para análise de negócio e desenvolvimento de projetos
UFSC - Utilizando BDD para análise de negócio e desenvolvimento de projetos
 
Teste sua aplicação antes que ela teste você
Teste sua aplicação antes que ela teste vocêTeste sua aplicação antes que ela teste você
Teste sua aplicação antes que ela teste você
 
[TDC-Floripa 2017] Utilizando BDD para análise de negócio e desenvolvimento d...
[TDC-Floripa 2017] Utilizando BDD para análise de negócio e desenvolvimento d...[TDC-Floripa 2017] Utilizando BDD para análise de negócio e desenvolvimento d...
[TDC-Floripa 2017] Utilizando BDD para análise de negócio e desenvolvimento d...
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
TDC2017 | Florianópolis - Trilha Analise de Negocios Utilizando BDD para anal...
TDC2017 | Florianópolis - Trilha Analise de Negocios Utilizando BDD para anal...TDC2017 | Florianópolis - Trilha Analise de Negocios Utilizando BDD para anal...
TDC2017 | Florianópolis - Trilha Analise de Negocios Utilizando BDD para anal...
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Integração do Zabbix com Testes Automatizados
Integração do Zabbix com Testes AutomatizadosIntegração do Zabbix com Testes Automatizados
Integração do Zabbix com Testes Automatizados
 
tdc-2022-poa-quem-tem-medo-low-code.pdf
tdc-2022-poa-quem-tem-medo-low-code.pdftdc-2022-poa-quem-tem-medo-low-code.pdf
tdc-2022-poa-quem-tem-medo-low-code.pdf
 
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão GeralFeature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
 
Arquitetura de Software e o DNAD2013
Arquitetura de Software e o DNAD2013Arquitetura de Software e o DNAD2013
Arquitetura de Software e o DNAD2013
 
[GDG Quality Fest 2017] BDD - Como quebrar as barreiras de negócio dentro do ...
[GDG Quality Fest 2017] BDD - Como quebrar as barreiras de negócio dentro do ...[GDG Quality Fest 2017] BDD - Como quebrar as barreiras de negócio dentro do ...
[GDG Quality Fest 2017] BDD - Como quebrar as barreiras de negócio dentro do ...
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégias
 
BDD com SpecFlow
BDD com SpecFlowBDD com SpecFlow
BDD com SpecFlow
 
TDC SP 2018 - Utilizando BDD para análise de negócio e desenvolvimento de pro...
TDC SP 2018 - Utilizando BDD para análise de negócio e desenvolvimento de pro...TDC SP 2018 - Utilizando BDD para análise de negócio e desenvolvimento de pro...
TDC SP 2018 - Utilizando BDD para análise de negócio e desenvolvimento de pro...
 
Utilizando BDD com Specflow e Selenium para testes Web MSP Tech Day Curitiba
Utilizando BDD com Specflow e Selenium para testes Web MSP Tech Day CuritibaUtilizando BDD com Specflow e Selenium para testes Web MSP Tech Day Curitiba
Utilizando BDD com Specflow e Selenium para testes Web MSP Tech Day Curitiba
 
BDD em Ação
BDD em AçãoBDD em Ação
BDD em Ação
 
BDD e TDD na prática com SpecFlow e Visual Studio 2012
BDD e TDD na prática com SpecFlow e Visual Studio 2012BDD e TDD na prática com SpecFlow e Visual Studio 2012
BDD e TDD na prática com SpecFlow e Visual Studio 2012
 
Ap i unidade 3 - levantamento de requisitos
Ap i   unidade 3 - levantamento de requisitosAp i   unidade 3 - levantamento de requisitos
Ap i unidade 3 - levantamento de requisitos
 
FDD
FDDFDD
FDD
 

Behavior driven development

  • 2. Conteúdo ● Introdução ● BDD - O que é, como funciona, vantagens e desvantagens ● BDD - Descrevendo features e cenários ● Hands-on ● Experiências com BDD ● Piadas ruins
  • 3. Introdução - Por quê? - Ter uma linguagem clara e universal sobre as funcionalidades - Ter requisitos de comportamento claros e descritos - Melhorar a comunicação e colaboração entre envolvidos no projeto
  • 4. Introdução - Por quê? - Documentação viva e testável das funcionalidades
  • 5. Introdução - Por quê? - Independente de linguagem ou framework - Pode ser implantado em qualquer momento no projeto
  • 6. - Features - Funcionalidades/requisitos do software - Cenários - Diferentes situações possíveis na mesma feature - Contexto - Dados de entrada - Ações - Ações efetuadas por usuário humanos e não humanos - Resultados - Verificação de saídas esperadas Features, cenários, contexto...
  • 8. Desvantagens - Necessita colaboração dos analistas de negócio - Teoricamente, mais lento para executar - Mais difícil encontrar causa raiz de erros (teste de caixa preto)
  • 9. Desvantagens - Não indicado para cenários simples e diretos (opinião pessoal) Ex: Dado um usuário do sistema Quando ele fizer digitar o usuário e senha e clicar em Login Então deverá ser redirecionado para a página inicial
  • 10. Mas e o TDD? - TDD => Focado em design da aplicação e cobertura de testes - BDD = > Focado em comportamento , comunicação e descoberta de requisitos - Podem coexistir sem problemas ;)
  • 11. Mão na massa! Código em: https://github.com/thiagoferreiraw/bdd-talk