Dicas Úteis

Dica 1: Usando "Dado-Quando-Então" para Descobrir e Validar Requerimentos

postado em 30 de nov de 2012 06:58 por Antonio Plais   [ 30 de nov de 2012 08:13 atualizado‎(s)‎ ]

Nota: Originalmente publicado por IIBA. Traduzido para o Português por Centus Consultoria

Por Ellen Gottesdiener e Mary Gorman
Copyright EBG Consulting, Inc. 2012

Revisões e comentários à essa dica: http://IIBA.info/QT4BBA47
Veja como compartilhar suas dicas em 
http://community.theIIBA.org/QT4BBA

Definição
Dado-Quando-Então - Given-When-Then (GWT) no original em Inglês - é uma formato estruturado para expressar cenários com dados de exemplo, incluindo pré- e pós- condições.

Utilidade
GWT ajuda às partes interessadas no projeto (parceiros de negócio, tecnologia e clientes, por exemplo) a se comunicar usando uma terminologia mais precisa. Você pode usar a técnica GWT para explorar opções de produto e confirmar as opções selecionadas.

Como utilizar?
Para qualquer história, cenário ou regra de negócio, responda às seguintes perguntas:

Dado: Qual o contexto do sistema? Que pré-condições devem ser verdadeiras antes que a ação seja testada? Que dados devem estar disponíveis no sistema?

Quando: O que será testado? Que dados de entrada devem ser testados através de regras de negócio quando a ação ocorre?

Então: Em resposta à ação, qual a saída ou resultado esperado? Qual é a pós-condição (estado) ou dado de saída observado pelo usuário?

Exemplo

História Como um cliente eu preciso cancelar um serviço de limpeza de janelas.
Cenário O Cliente contata a empresa Squeeky Kleen dois dias úteis antes da data programada para o serviço.
Regra de Negócio Quando um serviço é cancelado com menos de um dia útil da data programada para o serviço, deve ser cobrada uma taxa de cancelamento.
Dado
Pré-condição(ções) Status do serviço: programado
Dados Número do serviço: 1255
Data programada: 24 de Outubro de 2012
Quando
Ação Solicitação de cancelamento de serviço
Dados de entrada Data da solicitação: 22 de Outubro de 2012
Então
Dados de saída Seu serviço foi cancelado. Você gostaria de reprogramar para outra data?
Pós-condição Status do serviço: cancelado

Descoberta colaborativa
Partes interessadas necessitam formas eficientes e precisas de confirmar requerimentos. GWT orienta você na definição de exemplos. Você pode usar a técnica GWT para explorar as opções do sistema através de uma abordagem concreta.

Validação no tempo certo
É melhor testar a validade dos seus requisitos antes da entrega. GWT ajuda você a evitar surpresas desagradáveis, como entregar a solução errada.

GWT em resumo
Dado-Quando-Então ajuda você a economizar tempo, evitar retrabalho reduzir erros nos requisitos e proporciona responsabilidade compartilhada pelo detalhamento dos requisitos.

Técnica Alternativa
Use dados de exemplo em tabelas para definir entradas e saídas para um cenário (veja Gottesdiener e Gorman, 2012).

Fonte
Gottesdiener, Ellen, e Mary Gorman. Discover to Deliver: Agile Product Planning and Analysis. EBG Consulting. 2012.

Notas:
1. GWT se originou em Behavior-Driven Development (BDD), de Dan North. Outros nomes: Acceptance Test Driven Development (ATDD) e Specification by Example (SbE).

2. Veja o  Agile Extension to the BABOK® Guide, “Get Real Using Examples.”

3. Ferramentas que geram testes de aceitação usando GWT: Cucumber, Easyb, RSpec, Jbehave e outras.

Para informações adicionais
Adzic, Gojko, Specification by Example: How Successful Teams Deliver the Right Software. Manning Publications, 2011.

Matts, Chris, and Gojko Adzic. “Feature Injections: Three Steps to Success.” Disponível aqui.

North, Dan. “Introducing BDD.” Disponível aqui.

Membros do IIBA estão qualificados para comprar o livro de Ellen e Mary Discover to Deliver: Agile Product Planning and Analysis. Aprenda como entregar produtos de alto valor. Para pedidos com desconto, visite IIBA Bookstore.

1-1 of 1