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

56
O QA & a Especificação por Exemplo @samantacicilia

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

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

O QA & a Especificação por Exemplo

@samantacicilia

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

Especificação por ExemploBenefíciosDocumentação VivaPadrões ChaveATDD X BDD X EspecificaçãoExemplos

SUMÁRIO

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

Especificação é sobre fazer o

produto certo!

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

Construir o produto certoX

Construir certo o produto

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

• 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

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

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 é

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

Colaboração

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

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

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

Documentação VivaSimples de manter

Sempre atualizada

Especificação executável

Confiável

Colaborativa

Esclarecedora

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

Padrões Chave

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

* Specification by Example – Gojko Adzic, 2011

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

das metasTime deriva o escopo a partir

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

O que o cliente pede é realmente o que ele precisa?“

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

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

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

Objetivos de Negócio

Derivar o escopo

Criar as histórias

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

QAcomo parte do timeajuda a descobrir o produto certo

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

colaborativamente

Especificar

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

Workshops

Compartilhar o conhecimento

Torna as especificações fáceis de entender e manter

Cada time colabora de formas diferentes

Gera engajamento

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

QAcomo parte do timecolabora para especificar

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

exemplosIlustrar com

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

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

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

QAcomo parte do timepensa em exemplos

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

Refinaras especificações

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

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:

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

QAcomo especialistarefina as especificações criadas pelo time

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

Automatizaras especificações

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

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:

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

QAcomo parte do timeautomatiza as especificações

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

frequentemente

Validar

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

Integração Contínua

Pontos de atenção:

• dependências de ambiente

• feedback lento

• gerenciar testes que falham

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

QAcomo parte do timeajuda a manter a Integração Contínua

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

documentação viva

Evoluir a

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

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:

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

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

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

QAcomo parte do timeajuda a manter a Documentação Viva atualizada e acessível

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

BDD X ATDD X Especificação

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

Desenvolvimento Orientado a Comportamento (BDD)

Evolução do Desenvolvimento Orientado a Testes (TDD)

Foco no comportamento do sistema

Entendimento compartilhado

Linguagem Ubíqua

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

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

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

Desenvolvimento orientado a Testes de Aceitação (ATDD)

RefinarDiscutirHistória

DesenvolvimentoDemo

Item

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

Especificação por Exemplo

Conjunto de práticas

Palavra especificação é o foco ao invés de teste

Engloba práticas de

• ATDD

• BDD

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

Exemplo

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

Meta/Objetivo

Aumentar a venda de livros

Aumentar o número de clientes VIP

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

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

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

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

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

Dado que eu seja um cliente VIPQuando comprar 5 livrosEntão a entrega do meu pedido é gratuita

Cenário

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

Assim podemos ter:

O produto certo

Construído da forma certa

Com Documentação Viva

De forma Colaborativa

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

Referências Bibliográficas

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

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/

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

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

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

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

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

insideoutproject.com.br

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

Comunidades

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

Comunidades

- meetup.com/pt-BR/DevOps-Carioca/ - meetup.com/pt-BR/Grupo-de-Testes-Carioca/ - facebook.com/RioAgile/ - agiletesters.com.br - insideoutproject.com.br

Page 54: Meetup SP - O QA & a Especificação Por Exemplo
Page 55: Meetup SP - O QA & a Especificação Por Exemplo

Dúvidas?

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

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