Você está na página 1de 19

Universidade Federal da Paraíba

Centro de Ciências Aplicadas e Educação


Departamento de Ciência Exatas

Engenharia de Software Aplicada

Estórias de Usuário com Cenários BDD


Capítulo 03
Juliana Saraiva
julianajags@dcx.ufpb.br
Definição de Estórias 2

• Estórias contadas pelo usuário, descrevendo seus desejos junto ao sistema a


ser construído.
• Descreve como o usuário terá valor específico no sistema.
• Normalmente definido através de 3 cláusulas:
Como <papel/função>
Eu quero/gostaria/devo
<objetivo/meta>
Para que <resultado/alguma
razão/benefício>
Quem/O que/ Por que 3

Como um cliente do
banco

Eu quero poder sacar


dinheiro em terminais
eletrônicos

Para evitar filas


Quem? 4

➔ Como um Aluno

Eu quero reservar
exemplar da biblioteca

Para que eu possa realizar


minha pesquisa
O que? 5

Como um Aluno

➔ Eu quero
reservar exemplar
da biblioteca

Para que eu possa realizar


minha pesquisa
Por quê? 6

Como um Aluno

Eu quero reservar
exemplar da biblioteca

➔ Para que eu
possa realizar
minha pesquisa
BDD – Contextualização 7

• Behavior-Driven Development (Desenvolvimento orientado a comportamento)


• Práticas ágeis
• Pensa na representação do sistema a partir da linguagem do domínio:
• Promove um entendimento comum do domínio do negócio e equipe de
desenvolvimento.
• A descoberta dos requisitos é através de exemplos.
• Sua grande contribuição a integração (negócio – desenvolvimento):
• Todos possuem acesso a qualquer aspecto do sistema (requisitos, código,
testes).
• Usa prática de Especificação por Exemplos:
• Conjunto de práticas que surgiu do uso de exemplos e conversas para descobrir
e descrever os requisitos.
BDD – Contextualização 8
BDD – Contextualização 9

Cenários
BDD – Princípios 1
0
• Descrever comportamento.
• NÃO especificar soluções.
• Descobrir comportamento que entregue valor ao negócio.
• Usar conversas e exemplos para explorar o que o sistema deve
fazer
• CONSEQUÊNCIAS PRÁTICAS:
• Foco nas funcionalidades (dar valor ao negócio);
• Trabalho em equipe para especificação;
• Abraça a incerteza (mínimo produto viável a ser checado
pelo usuário);
• Ilustra funcionalidades por exemplos (estórias e cenários);
BDD – Notação Gherkin 1
1
Funcionalidade descritas através de cenários no formato: ”Dado que-quando-então”.

• Dado que: descreve as pré-condições para o cenário e prepara o ambiente de teste.


Serve para colocar o sistema no estado conhecido antes que o usuário (ou sistema
externo) comece a interagir com o sistema.

• Quando: descreve a ação-chave que o usuário executa, ou estado de transição.

• Então: é usado para descrever os resultados esperados. As observações devem estar


relacionados
Dadocom o valor
<seta asdepré-
negócios/benefício na descrição da funcionalidade.
condições/contexto>
• E e Mas: são cláusulas
Quando <umadicionais
eventousados
ocorre>para unir as cláusulas anteriores e
proporcionar
Então uma forma mais
<saída legível para especificar a funcionalidade.
obtida/comportamento
esperado>
1
BDD – Funcionalidades (Features) 2
• Expectativas do Usuário/Cliente.
Feature: <descrição>
Como <papel/função>
Eu quero/gostaria/devo
<objetivo/meta>
Para que <resultado/alguma
•razão/benefício>
Descrevem o COMPORTAMENTO das funcionalidades.
• Dado
Funções do sistema,
<seta o que ele faz.
as pré-
condições/contexto>
Quando <um evento ocorre>
Então <saída obtida/comportamento
esperado>
1
Estórias de Usuário e Cenário BDD 3
Feature: <descrição>
Funcionalidade
Como <papel/função>
Eu quero/gostaria/devo
<objetivo/meta>
Para que <resultado/alguma
Estória
Cenário x: <título>
razão/benefício>
Dado <seta as pré-
condições/contexto>
Quando <um evento ocorre> Cenários
Então <saída
obtida/comportamento esperado>
Exemplo Saque Bancário 1
4

Funcionalidade: Realizar saque bancário

Como um cliente do banco


Eu quero realizar saque
Para que obter dinheiro em papel
Cenário #1 Realização de saque em uma conta
com crédito
Cenário #2 Realização de saque em uma conta
sem crédito
Cenário #1 – COM Crédito 1
5
Funcionalidade: Realizar saque bancário
Como um cliente do banco
Eu quero realizar saque
Para que obter dinheiro em papel
Cenário #1 Realização de saque em uma conta
com crédito
Dado que a conta tem crédito
E o cartão está na validade
E o terminal tem dinheiro
Quando o cliente solicitar o saque
Então o débito deve ser realizado
E o dinheiro deve ser entregue
E o cartão deve ser devolvido
Cenário #2 – SEM Crédito 1
6
Funcionalidade: Realizar saque bancário
Como um cliente do banco
Eu quero realizar saque
Para que obter dinheiro em papel
Cenário #1 Realização de saque em uma conta
sem crédito
Dado que a conta está sem crédito
E o cartão é valido
Quando o cliente solicitar o saque
Então aviso de crédito deve ser
apresentada
E o dinheiro não deve ser entregue
E o cartão deve ser devolvido
Exemplo biblioteca 1
7
Funcionalidade: Fazer empréstimo no site da
biblioteca
Como um Aluno
Eu quero fazer o empréstimo de livros pelo site da
biblioteca
Cenário #1 Livros podem ser adicionados do
Para que eu possa pegar os livros na central da
empréstimo
biblioteca
Cenário #2 Livros podem ser removidos do
empréstimo
Cenário #3 Empréstimo deve estar vazio no inicio
da sessão
Cenário #4 Título só pode ser adicionado ao
empréstimo uma vez
Cenário #5 Reserva pode ter no máximo três
livros
Estória + Cenário BDD 1
Exemplo biblioteca 8
Funcionalidade: Fazer empréstimo no site da
biblioteca
Como um Aluno
ê s !
biblioteca
v c
Eu quero fazer o empréstimo de livros pelo site da
o
Cenário #1 Livros podem ser adicionados do
Para
empréstimo
biblioteca
c m
que eu possa pegar os livros na central da
o
Cenário #2 Livros podem ser removidos do
empréstimo

r a é
A o
Cenário #3 Empréstimo deve estar vazio no inicio

g
da sessão
Cenário #4 Título só pode ser adicionado ao
empréstimo uma vez
Cenário #5 Reserva pode ter no máximo três
livros
Referências 1
9

• I. Sommerville, Software Engineering. Harlow, England, 2011.


• J. Smart, BDD in Action: Behavior-Driven Development for the Whole
Software Lifecycle. Shelter Island, NY: Manning Publications, 2014.
• G. Adzic, Specification by Example: How Successful Teams Deliver the
Right Software. Greenwich, CT, USA: Manning Publications Co., 2011.

Você também pode gostar