bdd com cucumber

Post on 19-May-2015

777 Views

Category:

Technology

9 Downloads

Preview:

Click to see full reader

DESCRIPTION

Outra apresentação feita na FACENSA, na cadeira de Qualidade de Software, sob orientação do prof. Daniel Wildt.

TRANSCRIPT

Luciano Costa

behaviour = comportamento

behaviour driven development

==

desenvolvimento orientado acomportamento

BDD

descreva como sua aplicação

deve se comportar

BDD

teste primeiro,

codifique depois!

BDD/TDD

codifique somente o necessáriopara passar no teste

BDD/TDD

comportamento

Por que você está aqui?

Estrutura de User Story

Sendo um ...

Eu quero/necessito ...

De modo que ...

Estrutura de User Story

Sendo um ... (quem)

Eu quero/necessito ... (funcionalidade)

De modo que ... (valor de negócio)

Sistema para locadora de DVD’s

brilliant!

exemplo

Funcionalidade: Usuário lista filmes a alugar com prioridadePara aumentar a quantidade de filmes alugadosO usuário cadastradoNecessita informar os filmes que deseja assistir

Funcionalidade: Usuário lista filmes a alugar com prioridadePara aumentar a quantidade de filmes alugadosO usuário cadastradoNecessita informar os filmes que deseja assistir

Funcionalidade: Usuário lista filmes a alugar com prioridadePara aumentar a quantidade de filmes alugadosO usuário cadastradoNecessita informar os filmes que deseja assistir

Ooops!Eu acho que vi um

padrão!

Funcionalidade: Usuário lista filmes a alugar com prioridadePara aumentar a quantidade de filmes alugadosO usuário cadastradoNecessita informar os filmes que deseja assistir

Lembra User Story?

Ooops!Eu acho que vi um

padrão!

Funcionalidade: Usuário lista filmes a alugar com prioridade

Para aumentar a quantidade de filmes alugados

O usuário cadastrado

Necessita informar os filmes que deseja assistir

(quem)

(funcionalidade)

(valor de negócio)

Glup!Eu vi sim!Eu vi sim!

Estrutura de User Story

Sendo um ... (quem)

Eu quero/necessito ... (funcionalidade)

De modo que ... (valor de negócio)

Funcionalidade: Usuário lista filmes a alugar com prioridade

Para aumentar a quantidade de filmes alugados

O usuário cadastrado

Necessita informar os filmes que deseja assistir

(quem)

(funcionalidade)

(valor de negócio)

Cucumber Feature

behaviour driven development

Foco na linguagem

Colaboração

Por quê o código deve ser criado em detrimento a detalhes

Outside-in development

Funcionalidade: Usuário lista filmes a alugar com prioridadePara aumentar a quantidade de filmes alugadosO usuário cadastradoNecessita informar os filmes que deseja assistir

Cenário: Alta prioridadeDado que estou autenticadoQuando eu clicar no filme “Elvis”E apertar o botão “prioridade alta”Então eu devo ver “filme adicionado à lista”E devo ver “Elvis” na minha listaE “Elvis” deve estar marcado como “prioridade alta”

Cenário: ....Dado ... Quando ...Então ...

/features/aluguel.feature

Dado “que estou autenticado” do//code

end

Quando “eu clicar no filme \“Elvis\”” do//code

end

E “apertar o botão \“prioridade alta\”” do//code

end

Então “eu devo ver \“filme adicionado à lista\”” do//code

end

E “devo ver \“Elvis\” na minha lista” do//code

end

E “\“Elvis” deve estar marcado como \“prioridade alta\”” do//code

end

/features/steps/aluguel_steps.rb

The Art of War Plain Text!

Cucumber

é uma ferramenta que

executa documentação

de funcionalidades

escrita em texto puro

Internacionalização!

use o seu idioma

integrações

Dúvidas ?

E quanto à tradução de “Cucumber” ?

=)

Cucumber = Pepino!

Obrigado, abraço!

Luciano Costaluciano@monttez.com

Don Pepino!

top related