terça-feira, 23 de novembro de 2010

Um Exemplo de BDD com Easyb no Eclipse

bdd

O desenvolvimento dirigido a comportamento(BDD) foca no comportamento do sistema. Sendo que desenvolvimento é de fora para dentro. Iniciando de fora com identificação dos resultados do negócio e então descendo para o conjunto de recursos que permita atingir os resultados. Cada recurso é capturado como uma estória, que define o âmbito do recurso juntamente com os seus critérios de aceitação.

Estrutura da Estória

Título (descrição da estória)

Como [pessoa]

Eu gostaria de  [funcionalidade]

Para que [benefícios]

Exemplo:

Titulo: Calculadora Básica

Como um usuário da calculadora

Eu gostaria de fazer as quatro operações básicas

Para que erros não atrapalhem os demais cálculos

Estrutura do Cenário

Cenário: Título

Dado algum contexto inicial,

E mais de contexto,

Quando um evento ocorre,

Então verifique alguns resultados,

E outros resultados,

Exemplo:

Cenário: Multiplicação

Dado Que tenho uma calculadora

Quando Eu entro com 3 e 5

E Clico =

Então Então vejo 15

A estória deve ser o produto de uma conversa que envolve o cliente, a equipe e demais participantes do projeto.

Exemplo de um Cenário Usando Easyb

Easyb é um framework de desenvolvimento dirigido a comportamento para a plataforma Java(groovy). Usei na IDE Eclipse Galileu e a linguagem dinâmica groovy.

O cenário Multiplicacao.story:

import bddcalculadora.Calculadora

scenario "Multiplicação", {

given "Que tenho uma calculadora", {

calculadora = new Calculadora()

}

when "Eu entro com 3 e 5", {

calculadora.valorA=3

calculadora.valorB=5

}

and "Clico =", {

resultado = calculadora.multiplicar();

}

then "Então vejo 15", {

resultado.shouldBe 15

}

}

Saída do cenário Multiplicação:

clip_image002

A Estrutura do projeto calculadora:

clip_image003

Para rodar easyb no eclipse a configuração pode ser via plug-in, maven e ant:

http://www.easyb.org/running.html#eclipse

No projeto calculadora estou usando o ant.

Veja que as lib’s necessárias são três e estão disponíveis no link:

http://www.easyb.org/index.html

Um artigo muito bom que foi minha inspiração para usar easyb: “BDD - Behavior-Driven Development!” de Rodrigo Branas http://onca.st/blog/?p=953

Vídeo sobre BDD em java usando easyb:

 

Fonte:

“BDD - Behavior-Driven Development!” by Rodrigo Branas:

http://onca.st/blog/?p=953

“What's in a Story?” by

[This article has been translated into Korean by HongJoo Lee .]!:

http://blog.dannorth.net/whats-in-a-story/

“Easyb”:

http://www.easyb.org/index.html

Vídeo “BDD in Java with easyb”

www.youtube.com/watch?v=GIqA4c-RvFQ

Ta-ta for now

Nenhum comentário:

Postar um comentário