Especificação por exemplo é um conjunto de patterns que ajudam a construir o produto certo da maneira certa. Muitas pessoas atribuem sua utilização apenas a parte de teste de software, porém ela vai muito além disso e tem dicas valiosas sobre o quanto a colaboração pode nos ajudar a descobrir o que nossos clientes realmente precisam.
5. • adaptação: Specification by Example - Gojko Adzic, 2011
Produto certo
Construir certo
Sucesso
Especificação por Exemplo
Falha do
Negócio
Desperdício Pesadelo de
Manutenção
FocodaComunidade
nosúltimos10anos
6. Documentação Viva, simples e
fácil de manter.
Conjunto de patterns
que ajudam a construir o
produto certo.
Tem foco no negócio
utilizando linguagem comum.
Especificação por Exemplo
O que é
8. Benefícios
Mais eficiência na implementação de mudanças
Produtos de alta qualidade
Menos retrabalho
Melhor alinhamento entre os envolvidos no projeto
Documentação Viva
9. Documentação Viva
Simples de manter
Sempre atualizada
Especificação executável
Confiável
Colaborativa
Esclarecedora
13. O que o cliente pede é realmente o que ele
precisa?“
14. Solução de um problema de negócio
Colaboração para derivar o escopo
Time tem experiência para sugerir uma
solução:
• barata
• rápida
• fácil de desenvolver
• fácil de manter
24. Remover as informações extras
Extrair a essência dos exemplos
Uma boa especificação, com exemplos,
é um teste de aceitação
• precisa e testável
• não ser um script
• sobre negócio e não design
A especificação deve ser:
27. Validar de forma rápida e eficiente
Automatizar sem mudar as
especificações
• fazer uma POC
• planejar a arquitetura dos testes
• não postergar ou delegar a automação
• evitar automatizar os testes manuais
existentes
• ganhar confiança nos testes de UI
Dicas:
33. Fácil de entender:
• não crie especificações longas
• conceitos de alto nível
• evite termos técnicos
• evolua a linguagem
• Personas
• colaborar na definição da linguagem
Consistente:
34. Fácil aceso:
• organizar o trabalho por histórias
• reorganize as histórias por áreas
funcionais
• organize através das rotas de UI
• organize através de processos de
negócio
• use tags
35. QA
como parte do time
ajuda a manter a Documentação Viva atualizada e acessível
37. Desenvolvimento Orientado a Comportamento (BDD)
Evolução do Desenvolvimento Orientado a Testes (TDD)
Foco no comportamento do sistema
Entendimento compartilhado
Linguagem Ubíqua
38. Desenvolvimento Orientado a Testes de Aceitação (ATDD)
Prática de desenvolvimento ágil
Colaboração do time para discutir os critérios de aceitação
Critérios viram testes de aceitação (antes do desenvolvimento)
Foco nos testes automatizados
43. Funcionalidade: Entrega Grátis
Oferecida para clientes VIP uma vez que eles comprem um certo
número de livros
Não é oferecida pra clientes comuns e nem para clientes VIPs que
comprem qualquer coisa diferente de livros
O número mínimo de livros para a entrega grátis é 5
44. Exemplos
Tipo de Cliente Conteúdo do Carrinho Entrega
VIP 5 livros Grátis
VIP 4 livros Padrão
Regular 10 livros Padrão
VIP 5 máquinas de lavar Padrão
VIP
5 livros, 1 máquina de
lavar
Padrão
45. Dado que eu seja um cliente VIP
Quando comprar 5 livros
Então a entrega do meu pedido é gratuita
Cenário
46. Assim podemos ter:
O produto certo
Construído da forma certa
Com Documentação Viva
De forma Colaborativa
56. www.concretesolutions.com.br
Rio de Janeiro – Rua São José, 90 – cj. 2121
Centro – (21) 2240-2030
São Paulo - Rua Sansão Alves dos Santos, 433
4º andar - Brooklin - (11) 4119-0449
Ajudamos empresas a criar
produtos digitais de sucesso