Upload
samanta-cicilia
View
199
Download
3
Embed Size (px)
Citation preview
O QA & a Especificação por Exemplo
@samantacicilia
Especificação por ExemploBenefíciosDocumentação VivaPadrões ChaveATDD X BDD X EspecificaçãoExemplos
SUMÁRIO
Especificação é sobre fazer o
produto certo!
Construir o produto certoX
Construir certo o produto
• 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
Foco
da
Com
unid
ade
nos
últim
os 1
0 an
os
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 ExemploO que é
Colaboração
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
Documentação VivaSimples de manter
Sempre atualizada
Especificação executável
Confiável
Colaborativa
Esclarecedora
Padrões Chave
* Specification by Example – Gojko Adzic, 2011
das metasTime deriva o escopo a partir
O que o cliente pede é realmente o que ele precisa?“
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
Objetivos de Negócio
Derivar o escopo
Criar as histórias
QAcomo parte do timeajuda a descobrir o produto certo
colaborativamente
Especificar
Workshops
Compartilhar o conhecimento
Torna as especificações fáceis de entender e manter
Cada time colabora de formas diferentes
Gera engajamento
QAcomo parte do timecolabora para especificar
exemplosIlustrar com
Elucidam requisitos
Evitam ambiguidade
Jargões específicos do negócio
Exercícios de Feedback
Devem ser precisos
Devem ser realistas
Devem ser fáceis de entender
QAcomo parte do timepensa em exemplos
Refinaras especificações
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:
QAcomo especialistarefina as especificações criadas pelo time
Automatizaras especificações
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:
QAcomo parte do timeautomatiza as especificações
frequentemente
Validar
Integração Contínua
Pontos de atenção:
• dependências de ambiente
• feedback lento
• gerenciar testes que falham
QAcomo parte do timeajuda a manter a Integração Contínua
documentação viva
Evoluir a
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:
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
QAcomo parte do timeajuda a manter a Documentação Viva atualizada e acessível
BDD X ATDD X Especificação
Desenvolvimento Orientado a Comportamento (BDD)
Evolução do Desenvolvimento Orientado a Testes (TDD)
Foco no comportamento do sistema
Entendimento compartilhado
Linguagem Ubíqua
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
Desenvolvimento orientado a Testes de Aceitação (ATDD)
RefinarDiscutirHistória
DesenvolvimentoDemo
Item
Especificação por Exemplo
Conjunto de práticas
Palavra especificação é o foco ao invés de teste
Engloba práticas de
• ATDD
• BDD
Exemplo
Meta/Objetivo
Aumentar a venda de livros
Aumentar o número de clientes VIP
Funcionalidade: Entrega Grátis
Oferecida para clientes VIP uma vez que eles comprem um certo número de livrosNão é oferecida pra clientes comuns e nem para clientes VIPs que comprem qualquer coisa diferente de livrosO número mínimo de livros para a entrega grátis é 5
ExemplosTipo 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
Dado que eu seja um cliente VIPQuando comprar 5 livrosEntão a entrega do meu pedido é gratuita
Cenário
Assim podemos ter:
O produto certo
Construído da forma certa
Com Documentação Viva
De forma Colaborativa
Referências Bibliográficas
http://blog.concretesolutions.com.br/2016/09/especificacao-por-exemplo-1/
http://blog.concretesolutions.com.br/2016/09/especificacao-por-exemplo-2/
http://blog.concretesolutions.com.br/2016/09/especificacao-por-exemplo-3/
http://blog.concretesolutions.com.br/2016/05/o-que-e-especificacao-por-exemplo/
http://blog.concretesolutions.com.br/2016/04/o-que-e-documentacao-viva/
Bônus QA:
Exemplo: https://github.com/samycici/cucumber-capybara-site_prism
WEB - Magneton: https://github.com/concretesolutions/magneton
MOBILE - Sunomono: https://github.com/concretesolutions/sunomono
About.me
• QA @ Concrete Solutions• Owner @ RTS Treinamentos www.rtstreinamentos.com.br /
testedesoftware.com
• Apaixonada por comunidades• Diversidade em TI
@samantacicilia Samanta Cicilia pt.slideshare.net/samantacicilia [email protected]/samantacicilia
insideoutproject.com.br
Comunidades
Comunidades
- meetup.com/pt-BR/DevOps-Carioca/ - meetup.com/pt-BR/Grupo-de-Testes-Carioca/ - facebook.com/RioAgile/ - agiletesters.com.br - insideoutproject.com.br
Dúvidas?
www.concretesolutions.com.br
Rio de Janeiro – Rua São José, 90 – cj. 2121Centro – (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