SlideShare uma empresa Scribd logo
1 de 42
Baixar para ler offline
Agile Testing
com Drupal
Pass
Fail
por João Paulo Seregatte @justdigital
O que é Agile?
● É um conjunto de metodologias de desenvolvimento de software:
○ Entregas constantes de valor através de ciclos curtos.
○ Aumentar a taxa de feedback para responder a mudanças.
○ Ter leveza e flexibilidade para mudar.
○ Aprendizado continuo para melhorar continuamente.
Manifesto ágil.
● Indivíduos e interações > Processos e
Ferramentas.
● Software em funcionamento >
Documentação abrangente.
● Colaboração com o cliente > Negociação de
contratos.
● Responder a mudanças > Seguir um plano.
O que é Agile testing?
Agile testing é uma prática de teste de
software que segue os princípios do
desenvolvimento ágil.
Agile testing.
1. Feedback contı́nuo.
2. Entrega de valor ao cliente.
3. Comunicaç ão face-to-face.
4. Coragem.
5. Simplicidade.
6. Resposta a mudanç as.
7. Auto-organizaç ão.
8. Foco em pessoas.
Cenários: Testers / Agile Tester
1. Desenvolvedores ágeis são “test
infected”.
2. Colaboram com o usuário.
3. TODO O TIME é responsável por teste!
4. Todos devem entender do negó cio.
5. AUTOMATIZAM!!!
1. Não sabem o que é ágil.
2. Não sabem programar.
3. O desenvolvedor é seu maior inimigo.
4. Programador frustrado ou querendo
ser BA.
5. Não querem “passar trabalho”.
Onde começa o processo de agile testing?
Começa desde o levantamento de
requisitos com o cliente!
Quando o PO faz isso, o Team Dev
agradece!
Como levantar os requisitos?
Sistema de
triângulos.
Um professor do ensino fundamental
(Segunda série) quer um sistema para
representar os tipos de triângulos para seus
alunos onde eles vão entrar com os 3 lados
de um triângulo e o sistema informa qual é o
tipo do dele.
Como levantar os requisitos?
Sistema de
triângulos.
1. Escola privada.
2. Sistema usado no laborátorio da escola.
3. Acesso a internet no laboratório.
4. Entra com 3 Campos > Tipo do triângulo.
5. Individualmente.
6. Sem mensuração de dados.
7. Não deve ter figuras.
User Story
● Uma user story representa funcionalidades que devem fornecer valor para o
negócio (projeto).
● Representa os requisitos (desejos) mais do que documentá -los.
● Fornece um flash para comunicaç ão.
● Sua definiç ão de pronto orienta os testes necessá rios para a estória
User Story
1. Quem?:
a. Personas ou Roles:
i. Cliente
ii. Cliente VIP
iii. Fornecedor
iv. Atendente do call center.
2. O que?:
a. Ações.
b. Rotinas.
3. Por quê?:
a. Efeito no negócio.
b. Valor para o cliente.
User Story
1. Como um dono de padaria preciso saber meu lucro por cada pão por isso preciso listar os custos
fixos rateado pela quantidade de pães produzidos.
2. Como um vendedor, gostaria de consultar o estoque de um determinado produto para oferecer
ao cliente.
3. Como um diretor, gostaria de obter o volume de vendas do mês para acompanhar as metas.
4. Como um cliente eu gostaria de visualizar os planos existentes para decidir qual plano devo
comprar.
De volta aos triângulos.
Sistema de
triângulos.
Um professor do ensino fundamental
(Segunda série) quer um sistema para
representar os tipos de triângulos para seus
alunos onde eles vão entrar com os 3 lados
de um triângulo e o sistema informa qual é o
tipo do dele.
Porque eu não perguntei o por quê?
Sistema de
triângulos.
1. Escola privada.
2. Sistema usado no laborátorio da escola.
3. Acesso a internet no laboratório.
4. Entra com 3 Campos > Tipo do triângulo.
5. Individualmente.
6. Sem mensuração de dados.
7. Não deve ter figuras!
Não caia na cilada do óbvio!
Esse professor dá aulas de
matemática para uma turma de
alunos superdotados e precisa
usar esse sistema como
experimento para sua tese de
mestrado.
Escopo
Fora
1. Validar triângulos inválidos.
2. Exibir o triângulo graficamente.
3. Validar entrada do usuário.
Dentro
1. Trângulo com todos os lados
iguais é equilátero.
2. Triângulo com 2 lados iguais é
isóceles.
3. Triangulo com todos os lados
diferentes é escaleno.
O qué uma boa User Story?
Independent
Negotiable
Valuable to users or customers
Estimable
Small
Testable
Continuando com triangulos...
Eu como professor gostaria de
avaliar a capacidade dos
meus alunos para gerar uma
tese de mestrado.
Para conhecer o tipo de um
triângulo como um aluno de
matemática, eu quero
informar os tamanhos do
lado de um triângulo e saber
qual seu tipo.
Testable - critérios de aceite
Scenario: Triângulo isóceles
Given 2 números iguais e 1
diferente.
When eu clicar em “Calcular”
Then eu espero ver a mensagem
“Triângulo isóceles”
Scenario: Triângulo equilátero
Given 3 números iguais.
When eu clicar em “Calcular”
Then eu espero ver a mensagem
“Triângulo equilátero”
Scenario: Triângulo escaleno
Given 3 números diferentes.
When eu clicar em “Calcular”
Then eu espero ver a mensagem
“Triângulo escaleno”
Scenario: Não quero ver imagens
Given 3 números.
When eu clicar em “Calcular”
Then eu espero não ver uma
imagem no “resultado”
Hora de desenvolver?
Hora do Sprint Planing
DoR e o DoD deve estar acordado entre Dev Team, SM e PO
ATDD TDD BDD TAD
Antes de desenvolver
Antes de desenvolver
Teste unitários
1. São de responsabilidade do
Desenvolvedor.
2. Deve testar pequenas partes do
sistema (funcões, classes).
3. Facilita o desenvolvedor encontrar a
origem de bugs no sistema.
4. Não faz muito sentido para a o
pessoal de negócio.
Teste unitários? Que tal TDD? No Drupal?
Módulo SimpleTest - DrupalUnitTestCase
Teste unitário sem bootstrap de banco de
dados.
Então vamos fazer teste unitários com TDD?
Teste de aceitação? No Drupal?
Módulo SimpleTest - DrupalWebTestCase
Teste de aceitação simulando um browser e com
“banco de dados” separado.
Então vamos fazer testes de aceitação com SimpleTest?
Teste de UI? No Drupal?
Módulo SimpleTest + Módulo Selenium
Teste de UI usando um seção de um
browser real.
Teste de Aceitação e Teste de UI, integrados!
Os 2 testes na mesma ferramenta +
linguagem neutra, voltada a negócios.
Não se esqueça dos critérios de aceite
Scenario: Triângulo isóceles
Given 2 números iguais e 1
diferente.
When eu clicar em “Calcular”
Then eu espero ver a mensagem
“Triângulo isóceles”
Scenario: Triângulo equilátero
Given 3 números iguais.
When eu clicar em “Calcular”
Then eu espero ver a mensagem
“Triângulo equilátero”
Scenario: Triângulo escaleno
Given 3 números diferentes.
When eu clicar em “Calcular”
Then eu espero ver a mensagem
“Triângulo escaleno”
Scenario: Não quero ver imagens
Given 3 números.
When eu clicar em “Calcular”
Then eu espero não ver uma
imagem no “resultado”
Então vamos fazer testes de UI com Behat e Selenium?
Scenario: Triângulo isóceles
Given 2 números iguais e 1
diferente.
When eu clicar em “Calcular”
Then eu espero ver a mensagem
“Triângulo isóceles”
Scenario: Triângulo equilátero
Given 3 números iguais.
When eu clicar em “Calcular”
Then eu espero ver a mensagem
“Triângulo equilátero”
Scenario: Triângulo escaleno
Given 3 números diferentes.
When eu clicar em “Calcular”
Then eu espero ver a mensagem
“Triângulo escaleno”
Scenario: Não quero ver imagens
Given 3 números.
When eu clicar em “Calcular”
Then eu espero não ver uma
imagem no “resultado”
Continuous Integration!
E os teste manuais, acabam?
Não, testes
exploratórios nunca
acabam!
1. Aprender sobre mais
sobre o software.
2. Desenvolver mais
testes.
3. Executar testes.
Use o feedback do
último teste para
executar o próximo!
Quando o Dev Team faz isso, o PO e
o cliente agradecem!
Fim!
João Paulo
Head of technology
joaopaulo@justdigital.com.br

Mais conteúdo relacionado

Destaque

Minas Testing Conference - Entrega Contínua
Minas Testing Conference - Entrega ContínuaMinas Testing Conference - Entrega Contínua
Minas Testing Conference - Entrega ContínuaSamanta Cicilia
 
Testes em Rastreadores Automotivos - Soraia Reis e Milrren Mattar
Testes em Rastreadores Automotivos - Soraia Reis e Milrren Mattar Testes em Rastreadores Automotivos - Soraia Reis e Milrren Mattar
Testes em Rastreadores Automotivos - Soraia Reis e Milrren Mattar minastestingconference
 
Alcançando Qualidade de Software: Entrega Contínua - Samanta Cicilia
Alcançando Qualidade de Software: Entrega Contínua - Samanta Cicilia Alcançando Qualidade de Software: Entrega Contínua - Samanta Cicilia
Alcançando Qualidade de Software: Entrega Contínua - Samanta Cicilia minastestingconference
 
Rafael Chiavegatto - Mtc docker - utilizando no seu dia a dia
Rafael Chiavegatto - Mtc docker - utilizando no seu dia a diaRafael Chiavegatto - Mtc docker - utilizando no seu dia a dia
Rafael Chiavegatto - Mtc docker - utilizando no seu dia a diaminastestingconference
 
Teste em times ageis
Teste em times ageisTeste em times ageis
Teste em times ageisDover H
 
Leticia Bomfin e Sthanley Lima - Automatizando MobileApps utilizando Visual S...
Leticia Bomfin e Sthanley Lima - Automatizando MobileApps utilizando Visual S...Leticia Bomfin e Sthanley Lima - Automatizando MobileApps utilizando Visual S...
Leticia Bomfin e Sthanley Lima - Automatizando MobileApps utilizando Visual S...minastestingconference
 
Verificação e validação de software no âmbito DO-178C - Rodrigo Pimenta Reis
Verificação e validação de software no âmbito DO-178C - Rodrigo Pimenta ReisVerificação e validação de software no âmbito DO-178C - Rodrigo Pimenta Reis
Verificação e validação de software no âmbito DO-178C - Rodrigo Pimenta Reisminastestingconference
 
Janaína Horácio - Terceirização - O desafio de garantir a Qualidade
Janaína Horácio - Terceirização - O desafio de garantir a QualidadeJanaína Horácio - Terceirização - O desafio de garantir a Qualidade
Janaína Horácio - Terceirização - O desafio de garantir a Qualidademinastestingconference
 
Stefan Teixeira - Minas Testing Conference 2016 - Testes de Carga com Locust
Stefan Teixeira - Minas Testing Conference 2016 - Testes de Carga com LocustStefan Teixeira - Minas Testing Conference 2016 - Testes de Carga com Locust
Stefan Teixeira - Minas Testing Conference 2016 - Testes de Carga com Locustminastestingconference
 
Taise Dias - Análise efetiva de microserviços em 3 passos
Taise Dias - Análise efetiva de microserviços em 3 passosTaise Dias - Análise efetiva de microserviços em 3 passos
Taise Dias - Análise efetiva de microserviços em 3 passosminastestingconference
 
Agile Testing - entregando valor do início a fim
Agile Testing - entregando valor do início a fimAgile Testing - entregando valor do início a fim
Agile Testing - entregando valor do início a fimElias Nogueira
 
Garantia Mínima da Qualidade - João Júnior
Garantia Mínima da Qualidade - João Júnior Garantia Mínima da Qualidade - João Júnior
Garantia Mínima da Qualidade - João Júnior minastestingconference
 
Agile tester 3.0 uai test
Agile tester 3.0 uai testAgile tester 3.0 uai test
Agile tester 3.0 uai testDaniel Amorim
 
Testes em uma arquitetura de micro-serviços - Renan Martins
Testes em uma arquitetura de micro-serviços - Renan MartinsTestes em uma arquitetura de micro-serviços - Renan Martins
Testes em uma arquitetura de micro-serviços - Renan Martinsminastestingconference
 
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...minastestingconference
 
William Soares - Otimização - Combinações das técnicas de teste
William Soares - Otimização - Combinações das técnicas de testeWilliam Soares - Otimização - Combinações das técnicas de teste
William Soares - Otimização - Combinações das técnicas de testeminastestingconference
 
Kamilla Queiróz - DevQA - Da zona de conforto ao comprometimento com a Qualidade
Kamilla Queiróz - DevQA - Da zona de conforto ao comprometimento com a QualidadeKamilla Queiróz - DevQA - Da zona de conforto ao comprometimento com a Qualidade
Kamilla Queiróz - DevQA - Da zona de conforto ao comprometimento com a Qualidademinastestingconference
 

Destaque (20)

Minas Testing Conference - Entrega Contínua
Minas Testing Conference - Entrega ContínuaMinas Testing Conference - Entrega Contínua
Minas Testing Conference - Entrega Contínua
 
Testes em Rastreadores Automotivos - Soraia Reis e Milrren Mattar
Testes em Rastreadores Automotivos - Soraia Reis e Milrren Mattar Testes em Rastreadores Automotivos - Soraia Reis e Milrren Mattar
Testes em Rastreadores Automotivos - Soraia Reis e Milrren Mattar
 
Alcançando Qualidade de Software: Entrega Contínua - Samanta Cicilia
Alcançando Qualidade de Software: Entrega Contínua - Samanta Cicilia Alcançando Qualidade de Software: Entrega Contínua - Samanta Cicilia
Alcançando Qualidade de Software: Entrega Contínua - Samanta Cicilia
 
Rafael Chiavegatto - Mtc docker - utilizando no seu dia a dia
Rafael Chiavegatto - Mtc docker - utilizando no seu dia a diaRafael Chiavegatto - Mtc docker - utilizando no seu dia a dia
Rafael Chiavegatto - Mtc docker - utilizando no seu dia a dia
 
Teste em times ageis
Teste em times ageisTeste em times ageis
Teste em times ageis
 
Leticia Bomfin e Sthanley Lima - Automatizando MobileApps utilizando Visual S...
Leticia Bomfin e Sthanley Lima - Automatizando MobileApps utilizando Visual S...Leticia Bomfin e Sthanley Lima - Automatizando MobileApps utilizando Visual S...
Leticia Bomfin e Sthanley Lima - Automatizando MobileApps utilizando Visual S...
 
Abertura MTC 2016
Abertura MTC 2016Abertura MTC 2016
Abertura MTC 2016
 
Verificação e validação de software no âmbito DO-178C - Rodrigo Pimenta Reis
Verificação e validação de software no âmbito DO-178C - Rodrigo Pimenta ReisVerificação e validação de software no âmbito DO-178C - Rodrigo Pimenta Reis
Verificação e validação de software no âmbito DO-178C - Rodrigo Pimenta Reis
 
Janaína Horácio - Terceirização - O desafio de garantir a Qualidade
Janaína Horácio - Terceirização - O desafio de garantir a QualidadeJanaína Horácio - Terceirização - O desafio de garantir a Qualidade
Janaína Horácio - Terceirização - O desafio de garantir a Qualidade
 
Stefan Teixeira - Minas Testing Conference 2016 - Testes de Carga com Locust
Stefan Teixeira - Minas Testing Conference 2016 - Testes de Carga com LocustStefan Teixeira - Minas Testing Conference 2016 - Testes de Carga com Locust
Stefan Teixeira - Minas Testing Conference 2016 - Testes de Carga com Locust
 
Uai Test - Quebrando o Paradigma do Agile Testing
Uai Test - Quebrando o Paradigma do Agile TestingUai Test - Quebrando o Paradigma do Agile Testing
Uai Test - Quebrando o Paradigma do Agile Testing
 
Taise Dias - Análise efetiva de microserviços em 3 passos
Taise Dias - Análise efetiva de microserviços em 3 passosTaise Dias - Análise efetiva de microserviços em 3 passos
Taise Dias - Análise efetiva de microserviços em 3 passos
 
Agile Testing - entregando valor do início a fim
Agile Testing - entregando valor do início a fimAgile Testing - entregando valor do início a fim
Agile Testing - entregando valor do início a fim
 
Garantia Mínima da Qualidade - João Júnior
Garantia Mínima da Qualidade - João Júnior Garantia Mínima da Qualidade - João Júnior
Garantia Mínima da Qualidade - João Júnior
 
Agile tester 3.0 uai test
Agile tester 3.0 uai testAgile tester 3.0 uai test
Agile tester 3.0 uai test
 
Testes em uma arquitetura de micro-serviços - Renan Martins
Testes em uma arquitetura de micro-serviços - Renan MartinsTestes em uma arquitetura de micro-serviços - Renan Martins
Testes em uma arquitetura de micro-serviços - Renan Martins
 
Testes ageis
Testes ageisTestes ageis
Testes ageis
 
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
 
William Soares - Otimização - Combinações das técnicas de teste
William Soares - Otimização - Combinações das técnicas de testeWilliam Soares - Otimização - Combinações das técnicas de teste
William Soares - Otimização - Combinações das técnicas de teste
 
Kamilla Queiróz - DevQA - Da zona de conforto ao comprometimento com a Qualidade
Kamilla Queiróz - DevQA - Da zona de conforto ao comprometimento com a QualidadeKamilla Queiróz - DevQA - Da zona de conforto ao comprometimento com a Qualidade
Kamilla Queiróz - DevQA - Da zona de conforto ao comprometimento com a Qualidade
 

Semelhante a Agile Testing com Drupal

Levantamento Ágil de Requisitos
Levantamento Ágil de RequisitosLevantamento Ágil de Requisitos
Levantamento Ágil de RequisitosPaulo Furtado
 
Como se tornar Agile Tester
Como se tornar Agile TesterComo se tornar Agile Tester
Como se tornar Agile TesterElias Nogueira
 
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...Isaac de Souza
 
Transformational Design Thinking - Aula 8
Transformational Design Thinking - Aula 8Transformational Design Thinking - Aula 8
Transformational Design Thinking - Aula 8Lu Terceiro
 
Teste A/B - O que fazer para extrair o máximo de um teste - Marcell Almeida -...
Teste A/B - O que fazer para extrair o máximo de um teste - Marcell Almeida -...Teste A/B - O que fazer para extrair o máximo de um teste - Marcell Almeida -...
Teste A/B - O que fazer para extrair o máximo de um teste - Marcell Almeida -...Marcell Almeida
 
O que é e como fazer um Teste de Usabilidade
O que é e como fazer um Teste de UsabilidadeO que é e como fazer um Teste de Usabilidade
O que é e como fazer um Teste de UsabilidadeGustavo Silveira
 
Mini curso de testes ágeis
Mini curso de testes ágeisMini curso de testes ágeis
Mini curso de testes ágeisQualister
 
Workshop mvp 23.09.pptx
Workshop mvp   23.09.pptxWorkshop mvp   23.09.pptx
Workshop mvp 23.09.pptxCleber Guedes
 
Histórias de usuários - Declaração de valor
Histórias de usuários - Declaração de valorHistórias de usuários - Declaração de valor
Histórias de usuários - Declaração de valorAugusto Rückert
 
Introdução a Machine Learning
Introdução a Machine LearningIntrodução a Machine Learning
Introdução a Machine LearningSandro Moreira
 
Não há agile sem práticas ágeis
Não há agile sem práticas ágeisNão há agile sem práticas ágeis
Não há agile sem práticas ágeisMarco Baccaro
 
Workshop 101: Concebendo produtos de forma ágil (e divertida) - Scrum Gathe...
  Workshop 101: Concebendo produtos de forma ágil (e divertida) - Scrum Gathe...  Workshop 101: Concebendo produtos de forma ágil (e divertida) - Scrum Gathe...
Workshop 101: Concebendo produtos de forma ágil (e divertida) - Scrum Gathe...Diana Corrêa, CSPO / CSM
 
TDC2018SP | Trilha Requisito Ageis - Historias de usuarios - Basico e alem
TDC2018SP | Trilha Requisito Ageis - Historias de usuarios - Basico e alemTDC2018SP | Trilha Requisito Ageis - Historias de usuarios - Basico e alem
TDC2018SP | Trilha Requisito Ageis - Historias de usuarios - Basico e alemtdc-globalcode
 
DevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágilDevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágilElias Nogueira
 
Fluxograma de atividades
Fluxograma de atividadesFluxograma de atividades
Fluxograma de atividadesLauren Goulart
 
Quebrando Histórias de Usuário
Quebrando Histórias de UsuárioQuebrando Histórias de Usuário
Quebrando Histórias de UsuárioGiuliano Sposito
 

Semelhante a Agile Testing com Drupal (20)

Levantamento Ágil de Requisitos
Levantamento Ágil de RequisitosLevantamento Ágil de Requisitos
Levantamento Ágil de Requisitos
 
Como se tornar Agile Tester
Como se tornar Agile TesterComo se tornar Agile Tester
Como se tornar Agile Tester
 
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
 
Transformational Design Thinking - Aula 8
Transformational Design Thinking - Aula 8Transformational Design Thinking - Aula 8
Transformational Design Thinking - Aula 8
 
Teste A/B - O que fazer para extrair o máximo de um teste - Marcell Almeida -...
Teste A/B - O que fazer para extrair o máximo de um teste - Marcell Almeida -...Teste A/B - O que fazer para extrair o máximo de um teste - Marcell Almeida -...
Teste A/B - O que fazer para extrair o máximo de um teste - Marcell Almeida -...
 
O que é e como fazer um Teste de Usabilidade
O que é e como fazer um Teste de UsabilidadeO que é e como fazer um Teste de Usabilidade
O que é e como fazer um Teste de Usabilidade
 
Requisitos ageis para times sem tempo
Requisitos ageis para times sem tempoRequisitos ageis para times sem tempo
Requisitos ageis para times sem tempo
 
Mini curso de testes ágeis
Mini curso de testes ágeisMini curso de testes ágeis
Mini curso de testes ágeis
 
Workshop mvp 23.09.pptx
Workshop mvp   23.09.pptxWorkshop mvp   23.09.pptx
Workshop mvp 23.09.pptx
 
Histórias de usuários - Declaração de valor
Histórias de usuários - Declaração de valorHistórias de usuários - Declaração de valor
Histórias de usuários - Declaração de valor
 
Introdução a Machine Learning
Introdução a Machine LearningIntrodução a Machine Learning
Introdução a Machine Learning
 
Cea030.lista.04
Cea030.lista.04Cea030.lista.04
Cea030.lista.04
 
Não há agile sem práticas ágeis
Não há agile sem práticas ágeisNão há agile sem práticas ágeis
Não há agile sem práticas ágeis
 
Workshop 101: Concebendo produtos de forma ágil (e divertida) - Scrum Gathe...
  Workshop 101: Concebendo produtos de forma ágil (e divertida) - Scrum Gathe...  Workshop 101: Concebendo produtos de forma ágil (e divertida) - Scrum Gathe...
Workshop 101: Concebendo produtos de forma ágil (e divertida) - Scrum Gathe...
 
TDC2018SP | Trilha Requisito Ageis - Historias de usuarios - Basico e alem
TDC2018SP | Trilha Requisito Ageis - Historias de usuarios - Basico e alemTDC2018SP | Trilha Requisito Ageis - Historias de usuarios - Basico e alem
TDC2018SP | Trilha Requisito Ageis - Historias de usuarios - Basico e alem
 
DevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágilDevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágil
 
Fluxograma de atividades
Fluxograma de atividadesFluxograma de atividades
Fluxograma de atividades
 
UMLAulaI.pdf
UMLAulaI.pdfUMLAulaI.pdf
UMLAulaI.pdf
 
Empreendedorismo
EmpreendedorismoEmpreendedorismo
Empreendedorismo
 
Quebrando Histórias de Usuário
Quebrando Histórias de UsuárioQuebrando Histórias de Usuário
Quebrando Histórias de Usuário
 

Mais de Just Digital

ICAgile - Agile Professional Certification
ICAgile - Agile Professional CertificationICAgile - Agile Professional Certification
ICAgile - Agile Professional CertificationJust Digital
 
O futuro do conteúdo e do CMS
O futuro do conteúdo e do CMSO futuro do conteúdo e do CMS
O futuro do conteúdo e do CMSJust Digital
 
A importância de contribuir para comunidades OpenSource - Drupal - Natura Dru...
A importância de contribuir para comunidades OpenSource - Drupal - Natura Dru...A importância de contribuir para comunidades OpenSource - Drupal - Natura Dru...
A importância de contribuir para comunidades OpenSource - Drupal - Natura Dru...Just Digital
 
Palestra agile-brazil-2015-o-agile-e-o-executivo
Palestra agile-brazil-2015-o-agile-e-o-executivoPalestra agile-brazil-2015-o-agile-e-o-executivo
Palestra agile-brazil-2015-o-agile-e-o-executivoJust Digital
 
Mapeando User Stories - User story mapping
Mapeando User Stories - User story mappingMapeando User Stories - User story mapping
Mapeando User Stories - User story mappingJust Digital
 
Como manter uma empresa 100% ágil?
Como manter uma empresa 100% ágil?Como manter uma empresa 100% ágil?
Como manter uma empresa 100% ágil?Just Digital
 
Liberte-se do seu cargo
Liberte-se do seu cargoLiberte-se do seu cargo
Liberte-se do seu cargoJust Digital
 
Comunidades de Prática
Comunidades de PráticaComunidades de Prática
Comunidades de PráticaJust Digital
 
Organização de times ágeis
Organização de times ágeisOrganização de times ágeis
Organização de times ágeisJust Digital
 
Smacss e-css-faz-bem
Smacss e-css-faz-bemSmacss e-css-faz-bem
Smacss e-css-faz-bemJust Digital
 
Os fantasmas do texto passado: Como perder o medo de escrever
Os fantasmas do texto passado: Como perder o medo de escreverOs fantasmas do texto passado: Como perder o medo de escrever
Os fantasmas do texto passado: Como perder o medo de escreverJust Digital
 
Liderança: É preciso ter um (único) chefe?
Liderança: É preciso ter um (único) chefe?Liderança: É preciso ter um (único) chefe?
Liderança: É preciso ter um (único) chefe?Just Digital
 
Palestra Drupal - Campus Party 2014
Palestra Drupal - Campus Party 2014Palestra Drupal - Campus Party 2014
Palestra Drupal - Campus Party 2014Just Digital
 
Palestra Drupal Picchu 2014
Palestra Drupal Picchu 2014Palestra Drupal Picchu 2014
Palestra Drupal Picchu 2014Just Digital
 
Responsive ou Adaptive Design - Just Digital
Responsive ou Adaptive Design - Just DigitalResponsive ou Adaptive Design - Just Digital
Responsive ou Adaptive Design - Just DigitalJust Digital
 
Apresentacao Google Search Appliance - Just Digital - Nov2013
Apresentacao Google Search Appliance - Just Digital - Nov2013Apresentacao Google Search Appliance - Just Digital - Nov2013
Apresentacao Google Search Appliance - Just Digital - Nov2013Just Digital
 
Nodejs justdigital
Nodejs justdigitalNodejs justdigital
Nodejs justdigitalJust Digital
 
AngularJS - Just Digital
AngularJS - Just DigitalAngularJS - Just Digital
AngularJS - Just DigitalJust Digital
 
Palestra sobre Agile e Liderança - Just Digital
Palestra sobre Agile e Liderança - Just DigitalPalestra sobre Agile e Liderança - Just Digital
Palestra sobre Agile e Liderança - Just DigitalJust Digital
 

Mais de Just Digital (20)

ICAgile - Agile Professional Certification
ICAgile - Agile Professional CertificationICAgile - Agile Professional Certification
ICAgile - Agile Professional Certification
 
O futuro do conteúdo e do CMS
O futuro do conteúdo e do CMSO futuro do conteúdo e do CMS
O futuro do conteúdo e do CMS
 
A importância de contribuir para comunidades OpenSource - Drupal - Natura Dru...
A importância de contribuir para comunidades OpenSource - Drupal - Natura Dru...A importância de contribuir para comunidades OpenSource - Drupal - Natura Dru...
A importância de contribuir para comunidades OpenSource - Drupal - Natura Dru...
 
Palestra agile-brazil-2015-o-agile-e-o-executivo
Palestra agile-brazil-2015-o-agile-e-o-executivoPalestra agile-brazil-2015-o-agile-e-o-executivo
Palestra agile-brazil-2015-o-agile-e-o-executivo
 
Mapeando User Stories - User story mapping
Mapeando User Stories - User story mappingMapeando User Stories - User story mapping
Mapeando User Stories - User story mapping
 
Como manter uma empresa 100% ágil?
Como manter uma empresa 100% ágil?Como manter uma empresa 100% ágil?
Como manter uma empresa 100% ágil?
 
Liberte-se do seu cargo
Liberte-se do seu cargoLiberte-se do seu cargo
Liberte-se do seu cargo
 
Teoria dos jogos
Teoria dos jogosTeoria dos jogos
Teoria dos jogos
 
Comunidades de Prática
Comunidades de PráticaComunidades de Prática
Comunidades de Prática
 
Organização de times ágeis
Organização de times ágeisOrganização de times ágeis
Organização de times ágeis
 
Smacss e-css-faz-bem
Smacss e-css-faz-bemSmacss e-css-faz-bem
Smacss e-css-faz-bem
 
Os fantasmas do texto passado: Como perder o medo de escrever
Os fantasmas do texto passado: Como perder o medo de escreverOs fantasmas do texto passado: Como perder o medo de escrever
Os fantasmas do texto passado: Como perder o medo de escrever
 
Liderança: É preciso ter um (único) chefe?
Liderança: É preciso ter um (único) chefe?Liderança: É preciso ter um (único) chefe?
Liderança: É preciso ter um (único) chefe?
 
Palestra Drupal - Campus Party 2014
Palestra Drupal - Campus Party 2014Palestra Drupal - Campus Party 2014
Palestra Drupal - Campus Party 2014
 
Palestra Drupal Picchu 2014
Palestra Drupal Picchu 2014Palestra Drupal Picchu 2014
Palestra Drupal Picchu 2014
 
Responsive ou Adaptive Design - Just Digital
Responsive ou Adaptive Design - Just DigitalResponsive ou Adaptive Design - Just Digital
Responsive ou Adaptive Design - Just Digital
 
Apresentacao Google Search Appliance - Just Digital - Nov2013
Apresentacao Google Search Appliance - Just Digital - Nov2013Apresentacao Google Search Appliance - Just Digital - Nov2013
Apresentacao Google Search Appliance - Just Digital - Nov2013
 
Nodejs justdigital
Nodejs justdigitalNodejs justdigital
Nodejs justdigital
 
AngularJS - Just Digital
AngularJS - Just DigitalAngularJS - Just Digital
AngularJS - Just Digital
 
Palestra sobre Agile e Liderança - Just Digital
Palestra sobre Agile e Liderança - Just DigitalPalestra sobre Agile e Liderança - Just Digital
Palestra sobre Agile e Liderança - Just Digital
 

Agile Testing com Drupal

  • 1. Agile Testing com Drupal Pass Fail por João Paulo Seregatte @justdigital
  • 2. O que é Agile? ● É um conjunto de metodologias de desenvolvimento de software: ○ Entregas constantes de valor através de ciclos curtos. ○ Aumentar a taxa de feedback para responder a mudanças. ○ Ter leveza e flexibilidade para mudar. ○ Aprendizado continuo para melhorar continuamente.
  • 3. Manifesto ágil. ● Indivíduos e interações > Processos e Ferramentas. ● Software em funcionamento > Documentação abrangente. ● Colaboração com o cliente > Negociação de contratos. ● Responder a mudanças > Seguir um plano.
  • 4. O que é Agile testing? Agile testing é uma prática de teste de software que segue os princípios do desenvolvimento ágil.
  • 5. Agile testing. 1. Feedback contı́nuo. 2. Entrega de valor ao cliente. 3. Comunicaç ão face-to-face. 4. Coragem. 5. Simplicidade. 6. Resposta a mudanç as. 7. Auto-organizaç ão. 8. Foco em pessoas.
  • 6. Cenários: Testers / Agile Tester 1. Desenvolvedores ágeis são “test infected”. 2. Colaboram com o usuário. 3. TODO O TIME é responsável por teste! 4. Todos devem entender do negó cio. 5. AUTOMATIZAM!!! 1. Não sabem o que é ágil. 2. Não sabem programar. 3. O desenvolvedor é seu maior inimigo. 4. Programador frustrado ou querendo ser BA. 5. Não querem “passar trabalho”.
  • 7. Onde começa o processo de agile testing?
  • 8. Começa desde o levantamento de requisitos com o cliente!
  • 9. Quando o PO faz isso, o Team Dev agradece!
  • 10. Como levantar os requisitos? Sistema de triângulos. Um professor do ensino fundamental (Segunda série) quer um sistema para representar os tipos de triângulos para seus alunos onde eles vão entrar com os 3 lados de um triângulo e o sistema informa qual é o tipo do dele.
  • 11. Como levantar os requisitos? Sistema de triângulos. 1. Escola privada. 2. Sistema usado no laborátorio da escola. 3. Acesso a internet no laboratório. 4. Entra com 3 Campos > Tipo do triângulo. 5. Individualmente. 6. Sem mensuração de dados. 7. Não deve ter figuras.
  • 12. User Story ● Uma user story representa funcionalidades que devem fornecer valor para o negócio (projeto). ● Representa os requisitos (desejos) mais do que documentá -los. ● Fornece um flash para comunicaç ão. ● Sua definiç ão de pronto orienta os testes necessá rios para a estória
  • 13. User Story 1. Quem?: a. Personas ou Roles: i. Cliente ii. Cliente VIP iii. Fornecedor iv. Atendente do call center. 2. O que?: a. Ações. b. Rotinas. 3. Por quê?: a. Efeito no negócio. b. Valor para o cliente.
  • 14. User Story 1. Como um dono de padaria preciso saber meu lucro por cada pão por isso preciso listar os custos fixos rateado pela quantidade de pães produzidos. 2. Como um vendedor, gostaria de consultar o estoque de um determinado produto para oferecer ao cliente. 3. Como um diretor, gostaria de obter o volume de vendas do mês para acompanhar as metas. 4. Como um cliente eu gostaria de visualizar os planos existentes para decidir qual plano devo comprar.
  • 15. De volta aos triângulos. Sistema de triângulos. Um professor do ensino fundamental (Segunda série) quer um sistema para representar os tipos de triângulos para seus alunos onde eles vão entrar com os 3 lados de um triângulo e o sistema informa qual é o tipo do dele.
  • 16. Porque eu não perguntei o por quê? Sistema de triângulos. 1. Escola privada. 2. Sistema usado no laborátorio da escola. 3. Acesso a internet no laboratório. 4. Entra com 3 Campos > Tipo do triângulo. 5. Individualmente. 6. Sem mensuração de dados. 7. Não deve ter figuras!
  • 17. Não caia na cilada do óbvio! Esse professor dá aulas de matemática para uma turma de alunos superdotados e precisa usar esse sistema como experimento para sua tese de mestrado.
  • 18. Escopo Fora 1. Validar triângulos inválidos. 2. Exibir o triângulo graficamente. 3. Validar entrada do usuário. Dentro 1. Trângulo com todos os lados iguais é equilátero. 2. Triângulo com 2 lados iguais é isóceles. 3. Triangulo com todos os lados diferentes é escaleno.
  • 19. O qué uma boa User Story? Independent Negotiable Valuable to users or customers Estimable Small Testable
  • 20. Continuando com triangulos... Eu como professor gostaria de avaliar a capacidade dos meus alunos para gerar uma tese de mestrado. Para conhecer o tipo de um triângulo como um aluno de matemática, eu quero informar os tamanhos do lado de um triângulo e saber qual seu tipo.
  • 21. Testable - critérios de aceite Scenario: Triângulo isóceles Given 2 números iguais e 1 diferente. When eu clicar em “Calcular” Then eu espero ver a mensagem “Triângulo isóceles” Scenario: Triângulo equilátero Given 3 números iguais. When eu clicar em “Calcular” Then eu espero ver a mensagem “Triângulo equilátero” Scenario: Triângulo escaleno Given 3 números diferentes. When eu clicar em “Calcular” Then eu espero ver a mensagem “Triângulo escaleno” Scenario: Não quero ver imagens Given 3 números. When eu clicar em “Calcular” Then eu espero não ver uma imagem no “resultado”
  • 23. Hora do Sprint Planing
  • 24. DoR e o DoD deve estar acordado entre Dev Team, SM e PO
  • 25. ATDD TDD BDD TAD Antes de desenvolver
  • 27. Teste unitários 1. São de responsabilidade do Desenvolvedor. 2. Deve testar pequenas partes do sistema (funcões, classes). 3. Facilita o desenvolvedor encontrar a origem de bugs no sistema. 4. Não faz muito sentido para a o pessoal de negócio.
  • 28. Teste unitários? Que tal TDD? No Drupal?
  • 29. Módulo SimpleTest - DrupalUnitTestCase Teste unitário sem bootstrap de banco de dados.
  • 30. Então vamos fazer teste unitários com TDD?
  • 31. Teste de aceitação? No Drupal?
  • 32. Módulo SimpleTest - DrupalWebTestCase Teste de aceitação simulando um browser e com “banco de dados” separado.
  • 33. Então vamos fazer testes de aceitação com SimpleTest?
  • 34. Teste de UI? No Drupal?
  • 35. Módulo SimpleTest + Módulo Selenium Teste de UI usando um seção de um browser real.
  • 36. Teste de Aceitação e Teste de UI, integrados! Os 2 testes na mesma ferramenta + linguagem neutra, voltada a negócios.
  • 37. Não se esqueça dos critérios de aceite Scenario: Triângulo isóceles Given 2 números iguais e 1 diferente. When eu clicar em “Calcular” Then eu espero ver a mensagem “Triângulo isóceles” Scenario: Triângulo equilátero Given 3 números iguais. When eu clicar em “Calcular” Then eu espero ver a mensagem “Triângulo equilátero” Scenario: Triângulo escaleno Given 3 números diferentes. When eu clicar em “Calcular” Then eu espero ver a mensagem “Triângulo escaleno” Scenario: Não quero ver imagens Given 3 números. When eu clicar em “Calcular” Then eu espero não ver uma imagem no “resultado”
  • 38. Então vamos fazer testes de UI com Behat e Selenium? Scenario: Triângulo isóceles Given 2 números iguais e 1 diferente. When eu clicar em “Calcular” Then eu espero ver a mensagem “Triângulo isóceles” Scenario: Triângulo equilátero Given 3 números iguais. When eu clicar em “Calcular” Then eu espero ver a mensagem “Triângulo equilátero” Scenario: Triângulo escaleno Given 3 números diferentes. When eu clicar em “Calcular” Then eu espero ver a mensagem “Triângulo escaleno” Scenario: Não quero ver imagens Given 3 números. When eu clicar em “Calcular” Then eu espero não ver uma imagem no “resultado”
  • 40. E os teste manuais, acabam? Não, testes exploratórios nunca acabam! 1. Aprender sobre mais sobre o software. 2. Desenvolver mais testes. 3. Executar testes. Use o feedback do último teste para executar o próximo!
  • 41. Quando o Dev Team faz isso, o PO e o cliente agradecem!
  • 42. Fim! João Paulo Head of technology joaopaulo@justdigital.com.br