SlideShare une entreprise Scribd logo
1  sur  13
Autor: Laerte Guedes
         AIT-PROEG
BDD: Conceito
   BDD (Behavior Driven Development) :
    Tem seu foco principal no
    comportamento do software, ou seja, no
    que será entregue, de modo a reduzir a
    distância entre o negócio e a tecnologia.
    É considerado por seus adeptos como
    uma evolução do TDD, e é uma mistura
    do TDD (Test Driven Development) e
    DDD (Domain Drive Design).
TDD: Conceito
   TDD (Test Driven Development):
    Consiste em escreve um teste antes de
    criar determinada funcionalidade,
    executar este teste e vê-lo parar,
    codificar o suficiente para ver o teste
    passar e depois refatorar o código. É
    bastante utilizado no mercado e no
    geral, aumenta a qualidade do software.
DDD: Conceito
   Traduzindo significa “Projeto Orientado
    a Domínio” e basicamente descreve
    padrões de desenvolvimento de
    software, com ênfase em boas práticas
    de programação, integração entre
    código e negócio e baixo acoplamento
    entre classes.
BDD: Princípios Fundamentais
 Negócio e Tecnologia deveriam “falar”
  sobre um sistema.
 Qualquer sistema deveria ter um valor
  identificável e verificável para o
  “negócio”.
 Análise, design e planejamento precoce
  tem, sempre, retorno questionável.
BDD: Fluxograma
BDD - Processo
 BDD integra, negócio e TI.
 Negócio: Compete a este a definição de
  Features (em alto nível, as principais
  características do sistema), cenários
  (ações e resultados esperados) e passos
  (interações entre usuário ou sistema e
  um determinados resultado esperado).
BDD - Processo
   TI: Definição das etapas
    (correspondências, usando teste,
    podendo ser estes de unidade e etapas
    definidas pelo negócio) e código
    (codificação integrada com o negócio).
BDD - Gherkin
 A adoção efetiva do BDD implica na
  utilização de uma vocabulário consistente
  por parte do “negócio”. Trata-se do
  Gherkin.
 Cada cenário corresponde a uma lista de
  etapas.
 Eles são descritos em arquivos texto
  simples, escritos em “qualquer” idioma
  obedecendo algumas regras simples de
  sintaxe.
 O nome desse “conjunto de regras simples”
  é Gherkin.
BDD - Gherkim
BDD - Vantagens
 Testes antes da implementação
  aumentam a qualidade do produto.
 Definição de cenário e etapas deixa
  muito mais nítido o que deve ser feito.
 Torna os testes mais humanos, por os
  cenário serem “não abstratos”.
 Maior aproximação com o P.O.
Fontes
 http://www.urubatan.com.br/introduzind
  o-bdd/
 http://www.agileandart.com/2010/07/16
  /ddd-introducao-a-domain-driven-
  design/
 http://www.marcuscavalcanti.net/blog/2
  010/01/07/algumas-observacoes-sobre-
  bdd/
Obrigado!

Contenu connexe

Tendances

Arquitetura de Computadores - RAID
Arquitetura de Computadores - RAIDArquitetura de Computadores - RAID
Arquitetura de Computadores - RAID
elliando dias
 
Software Architecture: Test Case Writing
Software Architecture: Test Case WritingSoftware Architecture: Test Case Writing
Software Architecture: Test Case Writing
Sitdhibong Laokok
 
Conceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de softwareConceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de software
Ronney Moreira de Castro
 
Gerência de Configuração
Gerência de ConfiguraçãoGerência de Configuração
Gerência de Configuração
Wagner Zaparoli
 
Pmbok
PmbokPmbok
Pmbok
lcbj
 

Tendances (20)

Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade
 
Business Design Thinking
Business Design ThinkingBusiness Design Thinking
Business Design Thinking
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 
Introdução ao GitHub e Git
Introdução ao GitHub  e GitIntrodução ao GitHub  e Git
Introdução ao GitHub e Git
 
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
 
FGV Bauru GPJ7 - Plano de Gerenciamento de Escopo v2 - Disciplina Concorrênci...
FGV Bauru GPJ7 - Plano de Gerenciamento de Escopo v2 - Disciplina Concorrênci...FGV Bauru GPJ7 - Plano de Gerenciamento de Escopo v2 - Disciplina Concorrênci...
FGV Bauru GPJ7 - Plano de Gerenciamento de Escopo v2 - Disciplina Concorrênci...
 
engenharia-de-requisitos
engenharia-de-requisitosengenharia-de-requisitos
engenharia-de-requisitos
 
Arquitetura de Computadores - RAID
Arquitetura de Computadores - RAIDArquitetura de Computadores - RAID
Arquitetura de Computadores - RAID
 
Paradigmas do Ruby
Paradigmas do RubyParadigmas do Ruby
Paradigmas do Ruby
 
Introdução à Qualidade de Software
Introdução à Qualidade de SoftwareIntrodução à Qualidade de Software
Introdução à Qualidade de Software
 
Gestão de Projetos - Prof. João Frederico Gonzales
Gestão de Projetos - Prof. João Frederico GonzalesGestão de Projetos - Prof. João Frederico Gonzales
Gestão de Projetos - Prof. João Frederico Gonzales
 
BDD não é Automação de Testes
BDD não é Automação de TestesBDD não é Automação de Testes
BDD não é Automação de Testes
 
Minicurso Fundamentos da Análise de Negócio 3.0
Minicurso Fundamentos da Análise de Negócio 3.0Minicurso Fundamentos da Análise de Negócio 3.0
Minicurso Fundamentos da Análise de Negócio 3.0
 
Software Architecture: Test Case Writing
Software Architecture: Test Case WritingSoftware Architecture: Test Case Writing
Software Architecture: Test Case Writing
 
Introducao ao C#
Introducao ao C#Introducao ao C#
Introducao ao C#
 
Conceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de softwareConceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de software
 
Normalização
NormalizaçãoNormalização
Normalização
 
[NDC18] 나는 테스트 정책대로 살기로 했다.
[NDC18] 나는 테스트 정책대로 살기로 했다.[NDC18] 나는 테스트 정책대로 살기로 했다.
[NDC18] 나는 테스트 정책대로 살기로 했다.
 
Gerência de Configuração
Gerência de ConfiguraçãoGerência de Configuração
Gerência de Configuração
 
Pmbok
PmbokPmbok
Pmbok
 

Similaire à BDD

Similaire à BDD (20)

DevQA: Especificações Vivas: Como criar testes compiláveis para o seu User Ca...
DevQA: Especificações Vivas: Como criar testes compiláveis para o seu User Ca...DevQA: Especificações Vivas: Como criar testes compiláveis para o seu User Ca...
DevQA: Especificações Vivas: Como criar testes compiláveis para o seu User Ca...
 
[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 ...
 
Bdd&tdd
Bdd&tddBdd&tdd
Bdd&tdd
 
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ó...
 
Engenharia Ágil
Engenharia ÁgilEngenharia Ágil
Engenharia Ágil
 
Cucumber com java
Cucumber com javaCucumber com java
Cucumber com java
 
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
 
clean code
clean codeclean code
clean code
 
Clean Code na Prática
Clean Code na PráticaClean Code na Prática
Clean Code na Prática
 
Instituto Stela S&T#001, Projeto de software com testes unitários
Instituto Stela S&T#001, Projeto de software com testes unitáriosInstituto Stela S&T#001, Projeto de software com testes unitários
Instituto Stela S&T#001, Projeto de software com testes unitários
 
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...
 
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
 
Introdução a BDD
Introdução a BDDIntrodução a BDD
Introdução a BDD
 
IzCode FactSheet
IzCode   FactSheetIzCode   FactSheet
IzCode FactSheet
 
Gestão e automação de processos
Gestão e automação de processos Gestão e automação de processos
Gestão e automação de processos
 
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...
 
Apresentação de BDD com SpecFlow e Selenium
Apresentação de BDD com SpecFlow e SeleniumApresentação de BDD com SpecFlow e Selenium
Apresentação de BDD com SpecFlow e Selenium
 
Demoiselle Behave - Parte 1
Demoiselle Behave - Parte 1Demoiselle Behave - Parte 1
Demoiselle Behave - Parte 1
 
DDD
DDDDDD
DDD
 
TDC2016SP - Trilha Análise de Negócios
TDC2016SP - Trilha Análise de NegóciosTDC2016SP - Trilha Análise de Negócios
TDC2016SP - Trilha Análise de Negócios
 

Plus de COTIC-PROEG (UFPA)

Plus de COTIC-PROEG (UFPA) (20)

LT - Redis
LT - RedisLT - Redis
LT - Redis
 
LT Ansible
LT AnsibleLT Ansible
LT Ansible
 
Testes automatizados com Cypress
Testes automatizados com CypressTestes automatizados com Cypress
Testes automatizados com Cypress
 
Loop back
Loop backLoop back
Loop back
 
METEOR
METEORMETEOR
METEOR
 
Desenvolvimento de software tradicional vs ágil
Desenvolvimento de software tradicional vs ágilDesenvolvimento de software tradicional vs ágil
Desenvolvimento de software tradicional vs ágil
 
Canva
CanvaCanva
Canva
 
Git v2
Git v2Git v2
Git v2
 
Atitudes que levam ao Fracasso profissional
Atitudes que levam ao Fracasso profissionalAtitudes que levam ao Fracasso profissional
Atitudes que levam ao Fracasso profissional
 
Os 5 Sensos da Qualidade
Os 5 Sensos da QualidadeOs 5 Sensos da Qualidade
Os 5 Sensos da Qualidade
 
WATSON - O Fascinante Computador da IBM
WATSON - O Fascinante Computador da IBMWATSON - O Fascinante Computador da IBM
WATSON - O Fascinante Computador da IBM
 
Produtividade sem enrrolação
Produtividade sem enrrolaçãoProdutividade sem enrrolação
Produtividade sem enrrolação
 
LAB JavaScript
LAB JavaScriptLAB JavaScript
LAB JavaScript
 
Principios e Valores Ágeis
Principios e Valores ÁgeisPrincipios e Valores Ágeis
Principios e Valores Ágeis
 
Big data
Big dataBig data
Big data
 
Metricas para Times Ágeis
Metricas para Times ÁgeisMetricas para Times Ágeis
Metricas para Times Ágeis
 
Aplicação de Abordagens Ágeis: Estudo de Caso de utlização do SCRUM – PROEG/UFPA
Aplicação de Abordagens Ágeis: Estudo de Caso de utlização do SCRUM – PROEG/UFPAAplicação de Abordagens Ágeis: Estudo de Caso de utlização do SCRUM – PROEG/UFPA
Aplicação de Abordagens Ágeis: Estudo de Caso de utlização do SCRUM – PROEG/UFPA
 
Técnicas para Programação em Par
Técnicas para Programação em ParTécnicas para Programação em Par
Técnicas para Programação em Par
 
Feedback Canvas
Feedback CanvasFeedback Canvas
Feedback Canvas
 
5 Doenças do Gerenciamento de Projetos
5 Doenças do Gerenciamento de Projetos5 Doenças do Gerenciamento de Projetos
5 Doenças do Gerenciamento de Projetos
 

BDD

  • 2. BDD: Conceito  BDD (Behavior Driven Development) : Tem seu foco principal no comportamento do software, ou seja, no que será entregue, de modo a reduzir a distância entre o negócio e a tecnologia. É considerado por seus adeptos como uma evolução do TDD, e é uma mistura do TDD (Test Driven Development) e DDD (Domain Drive Design).
  • 3. TDD: Conceito  TDD (Test Driven Development): Consiste em escreve um teste antes de criar determinada funcionalidade, executar este teste e vê-lo parar, codificar o suficiente para ver o teste passar e depois refatorar o código. É bastante utilizado no mercado e no geral, aumenta a qualidade do software.
  • 4. DDD: Conceito  Traduzindo significa “Projeto Orientado a Domínio” e basicamente descreve padrões de desenvolvimento de software, com ênfase em boas práticas de programação, integração entre código e negócio e baixo acoplamento entre classes.
  • 5. BDD: Princípios Fundamentais  Negócio e Tecnologia deveriam “falar” sobre um sistema.  Qualquer sistema deveria ter um valor identificável e verificável para o “negócio”.  Análise, design e planejamento precoce tem, sempre, retorno questionável.
  • 7. BDD - Processo  BDD integra, negócio e TI.  Negócio: Compete a este a definição de Features (em alto nível, as principais características do sistema), cenários (ações e resultados esperados) e passos (interações entre usuário ou sistema e um determinados resultado esperado).
  • 8. BDD - Processo  TI: Definição das etapas (correspondências, usando teste, podendo ser estes de unidade e etapas definidas pelo negócio) e código (codificação integrada com o negócio).
  • 9. BDD - Gherkin  A adoção efetiva do BDD implica na utilização de uma vocabulário consistente por parte do “negócio”. Trata-se do Gherkin.  Cada cenário corresponde a uma lista de etapas.  Eles são descritos em arquivos texto simples, escritos em “qualquer” idioma obedecendo algumas regras simples de sintaxe.  O nome desse “conjunto de regras simples” é Gherkin.
  • 11. BDD - Vantagens  Testes antes da implementação aumentam a qualidade do produto.  Definição de cenário e etapas deixa muito mais nítido o que deve ser feito.  Torna os testes mais humanos, por os cenário serem “não abstratos”.  Maior aproximação com o P.O.
  • 12. Fontes  http://www.urubatan.com.br/introduzind o-bdd/  http://www.agileandart.com/2010/07/16 /ddd-introducao-a-domain-driven- design/  http://www.marcuscavalcanti.net/blog/2 010/01/07/algumas-observacoes-sobre- bdd/