O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Meetup SP - O QA & a Especificação Por Exemplo

660 visualizações

Publicada em

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.

Publicada em: Tecnologia
  • Login to see the comments

Meetup SP - O QA & a Especificação Por Exemplo

  1. 1. O QA & a Especificação por Exemplo @samantacicilia
  2. 2. Especificação por Exemplo Benefícios Documentação Viva Padrões Chave ATDD X BDD X Especificação Exemplos SUMÁRIO
  3. 3. Especificação é sobre fazer o produto certo!
  4. 4. Construir o produto certo X Construir certo o produto
  5. 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. 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 é
  7. 7. Colaboração
  8. 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. 9. Documentação Viva Simples de manter Sempre atualizada Especificação executável Confiável Colaborativa Esclarecedora
  10. 10. Padrões Chave
  11. 11. * Specification by Example – Gojko Adzic, 2011
  12. 12. das metas Time deriva o escopo a partir
  13. 13. O que o cliente pede é realmente o que ele precisa?“
  14. 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
  15. 15. Objetivos de Negócio Derivar o escopo Criar as histórias
  16. 16. QA como parte do time ajuda a descobrir o produto certo
  17. 17. colaborativamente Especificar
  18. 18. Workshops Compartilhar o conhecimento Torna as especificações fáceis de entender e manter Cada time colabora de formas diferentes Gera engajamento
  19. 19. QA como parte do time colabora para especificar
  20. 20. exemplos Ilustrar com
  21. 21. 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
  22. 22. QA como parte do time pensa em exemplos
  23. 23. Refinaras especificações
  24. 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:
  25. 25. QA como especialista refina as especificações criadas pelo time
  26. 26. Automatizaras especificações
  27. 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:
  28. 28. QA como parte do time automatiza as especificações
  29. 29. frequentemente Validar
  30. 30. Integração Contínua Pontos de atenção: • dependências de ambiente • feedback lento • gerenciar testes que falham
  31. 31. QA como parte do time ajuda a manter a Integração Contínua
  32. 32. documentação viva Evoluir a
  33. 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. 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. 35. QA como parte do time ajuda a manter a Documentação Viva atualizada e acessível
  36. 36. BDD X ATDD X Especificação
  37. 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. 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
  39. 39. Desenvolvimento orientado a Testes de Aceitação (ATDD) RefinarDiscutir História DesenvolvimentoDemo Item
  40. 40. Especificação por Exemplo Conjunto de práticas Palavra especificação é o foco ao invés de teste Engloba práticas de • ATDD • BDD
  41. 41. Exemplo
  42. 42. Meta/Objetivo Aumentar a venda de livros Aumentar o número de clientes VIP
  43. 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. 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. 45. Dado que eu seja um cliente VIP Quando comprar 5 livros Então a entrega do meu pedido é gratuita Cenário
  46. 46. Assim podemos ter: O produto certo Construído da forma certa Com Documentação Viva De forma Colaborativa
  47. 47. Referências Bibliográficas
  48. 48. 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/
  49. 49. 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
  50. 50. 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 samycici@gmail.com /samantacicilia
  51. 51. insideoutproject.com.br
  52. 52. Comunidades
  53. 53. Comunidades - meetup.com/pt-BR/DevOps-Carioca/ - meetup.com/pt-BR/Grupo-de-Testes-Carioca/ - facebook.com/RioAgile/ - agiletesters.com.br - insideoutproject.com.br
  54. 54. Dúvidas?
  55. 55. 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

×