bdd com cucumber

31
Luciano Costa

Upload: luciano-costa

Post on 19-May-2015

777 views

Category:

Technology


9 download

DESCRIPTION

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

TRANSCRIPT

Page 1: BDD com Cucumber

Luciano Costa

Page 2: BDD com Cucumber

behaviour = comportamento

Page 3: BDD com Cucumber

behaviour driven development

==

desenvolvimento orientado acomportamento

BDD

Page 4: BDD com Cucumber

descreva como sua aplicação

deve se comportar

BDD

Page 5: BDD com Cucumber

teste primeiro,

codifique depois!

BDD/TDD

Page 6: BDD com Cucumber

codifique somente o necessáriopara passar no teste

BDD/TDD

Page 7: BDD com Cucumber

comportamento

Page 8: BDD com Cucumber

Por que você está aqui?

Page 9: BDD com Cucumber

Estrutura de User Story

Sendo um ...

Eu quero/necessito ...

De modo que ...

Page 10: BDD com Cucumber

Estrutura de User Story

Sendo um ... (quem)

Eu quero/necessito ... (funcionalidade)

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

Page 11: BDD com Cucumber

Sistema para locadora de DVD’s

brilliant!

exemplo

Page 12: BDD com Cucumber

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

Page 13: BDD com Cucumber

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

Page 14: BDD com Cucumber

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!

Page 15: BDD com Cucumber

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!

Page 16: BDD com Cucumber

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!

Page 17: BDD com Cucumber

Estrutura de User Story

Sendo um ... (quem)

Eu quero/necessito ... (funcionalidade)

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

Page 18: BDD com Cucumber

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

Page 19: BDD com Cucumber

behaviour driven development

Foco na linguagem

Colaboração

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

Outside-in development

Page 20: BDD com Cucumber

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

Page 21: BDD com Cucumber

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

Page 22: BDD com Cucumber

The Art of War Plain Text!

Page 23: BDD com Cucumber

Cucumber

é uma ferramenta que

executa documentação

de funcionalidades

escrita em texto puro

Page 24: BDD com Cucumber

Internacionalização!

use o seu idioma

Page 25: BDD com Cucumber

integrações

Page 26: BDD com Cucumber

Dúvidas ?

Page 27: BDD com Cucumber

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

=)

Page 28: BDD com Cucumber
Page 29: BDD com Cucumber
Page 30: BDD com Cucumber

Cucumber = Pepino!

Page 31: BDD com Cucumber

Obrigado, abraço!

Luciano [email protected]

Don Pepino!