#VSSUMMIT
Cleiton Felipe de Moraes
Entenda o que é BDD
Analista Desenvolvedor
SoroCódigos / DevBrasil
#VSSUMMIT
BDD - Behaviour-Driven Development
Specflow - Ferramenta para auxiliar na aplicação do BDD.
O que é BDD e Specflow?
#VSSUMMIT
Behaviour-Driven Development
Tecnologia e Negócios falando a mesma língua!
Seu Projeto
Funcionalidades
Cenário
Passos
Step Definitions
Codificação
Bibliotecas de Automação
#VSSUMMIT
Demos
#VSSUMMIT
Dúvidas?
#VSSUMMIT
@Cleiton_felipe
Cleiton.felipe@yahoo.com.br
Obrigado!

Bdd-Visual Studio Summit 2015

Notas do Editor

  • #3 BDD é sigla para Behaviour-Driven Development. Trata-se de uma evolução do TDD e do “Acceptance Test Driven Planing”. De forma explícita, BDD relaciona “Test-Driven Development” com “Domain driven design” tornando a relação entre essas duas abordagens consideravelmente mais evidente. BDD colabora para que o desenvolvimento foque na entrega de valor, através da formação de um vocabulário comum, reduzindo a distância entre “Negócio” e Tecnologia. BDD está fundamentada em três princípios simples: Negócio e Tecnologia deveriam “falar” sobre um sistema da mesma forma; 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.
  • #4 BDD expressa mais a parte de negócio do que tecnologia Compete ao “negócio” a definição de: Features – representam, em alto nível, os principais características do sistema – correspondem a uma descrição resumida dos “valores” que estamos entregando (ex: autenticação de usuários, cadastro de clientes, cálculo de imposto, emissão de nota); Cenários – descrições de “casos de uso”, com pré-requisitos, ações e resultado esperado (ex: cadastro de novo usuário, usuário esqueceu senha, etc.) Passos/Etapas (steps) – interações entre agente externo (usuário ou sistema) e resultado esperado para um dado cenário. Compete ao “TI”: Definições para etapas (Step definitions) – correspondências, usando um framework de testes, entre testes de unidade e etapas definidas pelo negócio; Código – implementação efetiva de código para atender as definições do negócio; Biblioteca de automação (opcional) – para simular, caso necessário, ações de um usuário na interface do sistema (WatiN, por exemplo). BDD garante “documentação viva” BDD associa os benefícios de uma documentação formal, escrita e mantida pelo “negócio”, com testes de unidade que “demonstram” que essa documentação é efetivamente válida. Na prática, isso garante que a documentação deixa de ser um registro estático, que se converte em algo gradualmente ultrapassado, em um artefato “vivo” que reflete constantemente o estado atual de um projeto.