domingo, 9 de fevereiro de 2014

Cartão de História + BDD

Cartão de Histórias

Por Nelson Abu Samra Rahal Junior

Linha de Raciocínio

1 – Especificação

Montar uma especificação que esteja na língua do desenvolvedor de software

2 – Automação

Texto direcionado para automação de testes

3 – Desenvolvimento Lean

Desenvolvedor não cria funcionalidades, ele desenvolve apenas as funcionalidades que foram acordadas com o Product Owner - “Fazer menos para fazer mais”

4 – História de Usuários

Tem o objetivo de promover um dialogo, isto é, conversa. Todas as conversas expressão algum tipo de funcionalidade, seja de regra de negocio, comportamento de software, requisito não funcional, etc.

5 – Cartão de História

São 3C's
- Cartão
- Conversa
- Confirmação

Que podemos representar pela História, Conversa que gera os Critérios de Aceite e a confirmação de como essas conversas (Critérios de Aceite) estão corretos.

6 – O Desenvolvedor de Software
Mostre este material a equipe de desenvolvimento, se eles expressarem desejo a este tipo de especificação, não tem negociação, faça.
Exemplo 01 – Funcionalidade de Status

História: Como usuário de rede social desejo postar um novo status, para que meus amigos possam ver

Critérios de Aceite:
1 – Entrar com o pensamento
2 – Publicar o pensamento
3 – Todos os amigos visualizarem meu pensamento

BDD

Critério de Aceite - 1
Cenário 1 – Entrar com o pensamento
Dado que eu chame o site https://www.facebook.com/
Quando o site é apresentado
Então eu devo visualizar a opção de Status

Cenário 1 – Digitar o pensamento
Dado que eu esteja no site https://www.facebook.com/
Quando eu clico na caixa de texto de Status
Então eu devo visualizar uma caixa de texto com a informação “No que você esta pensando?”
E o botão “Publicar”
E a opção de “Amigos”
E a opção “Marcar pessoas em sua publicação”
E a opção “Adicionar um local a sua publicação”
E a opção “Selecione um arquivo para enviar”
E a opção “Diga o que você esta pensando”

Critério de Aceite - 2
Cenário 1 – Publicar o Pensamento
Dado que eu entre no status com a informação “Bom dia”
Quando pressiono Publicar
Então eu devo visualizar “Bom dia” no meu “Feed de Noticias”

Cenário 2 – Publicar o Pensamento Vazio
Dado que eu entre no status com a informação “”
Quando pressiono Publicar
Então nada deve ser publicado no meu “Feed de Noticias”

Critério de Aceite - 3
Cenário 1 – Todos os amigos visualizarem meu pensamento
Dado que eu estejá no site https://www.facebook.com/
E Logado
E sou amigo de Nelson Abu Samra Rahal Junior
E que Nelson Abu Samra Rahal Junior entre no status com a informação “Bom dia”
Quando Nelson Abu Samra Rahal Junior pressiono Publicar
Então eu devo visualizar “Bom dia” no meu “Feed de Noticias”

Cenário 2 – Todos os amigos NÃO visualizarem meu pensamento vazio
Dado que eu estejá no site https://www.facebook.com/
E Logado
E sou amigo de Nelson Abu Samra Rahal Junior
E que Nelson Abu Samra Rahal Junior entre no status com a informação “”
Quando Nelson Abu Samra Rahal Junior pressiono Publicar
Então nada deve ser publicado no meu “Feed de Noticias” 

Exemplo 02 – Autenticação de Usuários

História: Como um usuário de redes sociais desejo me autenticar no sistema, para que eu possa utilizar


Critérios de Aceite:
1 – Validar o usuário

BDD

Critério de Aceite - 1
Cenário 1 – Dados de usuário errados
Dados que eu entre com e-mail ou telefone igual a “Jose da Silva”
E senha igual a “1234”
Quando pressiono Entrar
Então eu devo ver a mensagem de erro “Dados inválidos”

Cenário 2 – Dados de usuário vazio
Dados que eu entre com e-mail ou telefone igual a “”
E senha igual a “”
Quando pressiono Entrar
Então eu devo ver a mensagem de erro “Dados inválidos”

Cenário 3 – Dados de usuário correto
Dados que eu entre com e-mail ou telefone igual a “abuzitos”
E senha igual a “1234”
Quando pressiono Entrar
Então eu devo ver a tela principal do facebook

Cenário 4 – Dados de usuário parcialmente correto
Dados que eu entre com e-mail ou telefone igual a “abuzitos”
E senha igual a “”
Ou senha igual a “xpto”
Então eu devo ver a mensagem de erro “Dados inválidos”
Então eu devo ver a tela principal do facebook

Exemplo 03 – Busca

Histórias:
a) Como um usuário de redes sociais desejo buscar pessoas, para que eu possa iniciar uma amizade

b) Como um usuário de redes sociais desejo buscar locais, para que eu possa curtir

c) Como um usuário de redes sociais desejo buscar coisas, para que eu possa curtir

Critérios de Aceite:
1 – Digitar informação de busca e visualizar resultados

BDD

Critério de Aceite - 1
Cenário 1 – Busca informação vazio
Dado que eu digite em busca “”
Quando pressiono Enter ou Botão de Busca
Então eu devo visualizar a pagina de “Todos os Resultados”
E a mensagem “Por favor introduza uma consulta na caixa acima.”

Cenário 2 – Busca informação existente
Dado que eu digite em busca “Abu Samra Rahal”
Quando termino de digitar
Então eu devo ver as informações “Nelson Abu Samra Rahal Junior”
E “Marjury Abu Samra Rahal”
E “Neilza Andrea Abu Samra Rahal”

Cenário 3 – Busca informação inexistente
Dado que eu digite em busca “xpto1234”
Quando termino de digitar
Então eu devo ver a informação “Ver resultados para XPTO”
E “Exibindo os 0 principais resultados”

Muito obrigado e abraços a todos,

Abu

Este post faz parte do material "Pensamentos Ágeis: Uma Coletânea de ideias de como penso sobre Ágil"


Nenhum comentário: