SlideShare uma empresa Scribd logo
1 de 59
Baixar para ler offline
Agile	
  testing:	
  
como	
  aumentar	
  a	
  
qualidade	
  do	
  produto
Vitor	
  Pelizza	
  
Co-­‐founder	
  @	
  Kanoah	
  Software
Vitor	
  Pelizza	
  
Co-­‐founder	
  @	
  Kanoah	
  Software
Ciências	
  da	
  Computação	
  -­‐	
  UFSC	
  
MBA	
  em	
  Gerenciamento	
  de	
  Projetos	
  -­‐	
  FGV	
  
Certified	
  ScrumMaster	
  (2008)
Base	
  do	
  bolo Recheio Cobertura
Cupcake Bolo	
  simples Bolo	
  de	
  casamento
Fonte: http://blog.intercom.io/start-with-a-cupcake/
Fonte: http://www.targetprocess.com/blog/2008/09/waterfall-got-you-down-with.html
Foco	
  na	
  atividade.	
  Fatia	
  horizontal
Foco	
  na	
  funcionalidade.	
  Fatia	
  vertical
Várias	
  funcionalidades	
  no	
  ciclo	
  de	
  produção
Poucas	
  funcionalidades	
  no	
  ciclo	
  de	
  produção
WaterfallAgile
Output
Output
Validar	
  se	
  o	
  que	
  foi	
  desenvolvido	
  
atende	
  aos	
  requisitos	
  e	
  corrigir	
  
desvios
Suporte	
  a	
  equipe	
  de	
  
desenvolvimento	
  e	
  ao	
  processo	
  de	
  
descoberta	
  através	
  do	
  feedback
E	
  na	
  prática?
TODO DOING TEST DONE
xUnit
TDD
Integração	
  contínua
Pair	
  programming
Revisão	
  de	
  código
Boa	
  base	
  tecnológica
Iterações	
  com	
  entregas	
  funcionando
Cobertura	
  de	
  testes
Suporte	
  a	
  equipe
Feedback
E	
  as	
  FEATURES	
  mais	
  importantes?	
  
Manual	
  ou	
  AUTOMATIZADO?	
  
Será	
  que	
  está	
  ok	
  para	
  o	
  CLIENTE?
Estratégia
Saber	
  COMO	
  testar
Saber	
  QUANDO	
  testar
Saber	
  O	
  QUE	
  testar
Saber	
  QUEM	
  testa
Agile	
  tester!!!
Abraça	
  a	
  MUDANÇA
Colabora	
  tanto	
  com	
  o	
  pessoal	
  
TÉCNICO	
  quando	
  de	
  NEGÓCIO
Entende	
  o	
  conceito	
  de	
  se	
  utilizar	
  
testes	
  para	
  documentar	
  REQUISITOS	
  
e	
  guiar	
  o	
  DESENVOLVIMENTO
O	
  que	
  é?
Macaquinho
Estagiário	
  de	
  outra	
  área	
  
profissional
Inexperiente
O	
  que	
  não	
  é?
Por	
  onde	
  começar?
Os	
  Quadrantes	
  do	
  
Teste	
  Ágil
Q1
Q2 Q3
Q4
Auxiliam	
  o	
  time
Criticam	
  o	
  produto
Tecnologia
Negócio
Testes	
  unitários
Testes	
  de	
  componentes
Testes	
  exploratórios
Testes	
  de	
  UX
Testes	
  A/B
Testes	
  de	
  Performance
Testes	
  de	
  Carga
Testes	
  de	
  Segurança
Automatizado
e Manual
Automatizado
Manual
Ferramentas
Testes	
  funcionais
Exemplos
Protótipos
Simulações
Q1
Auxiliam	
  o	
  time
Tecnologia
Testes	
  unitários
Testes	
  de	
  componentes
Automatizado
Qualidade	
  interna
DESENVOLVEDOR Design	
  do	
  código
Confiança	
  para	
  alterar
Feedback	
  contínuo	
  e	
  rápido
Deve	
  ser	
  considerado	
  
parte	
  do	
  
desenvolvimento
Integração	
  contínua
Q1
Auxiliam	
  o	
  time
Tecnologia
Testes	
  unitários
Testes	
  de	
  componentes
Automatizado
xUnit
Integração	
  Contínua
SCM
Q2
Auxiliam	
  o	
  time Negócio
Testes	
  funcionais
Exemplos
Protótipos
Simulações
Automatizado
e Manual
Confirmam	
  o	
  
comportamento	
  desejado
Qualidade	
  externa
Podem	
  ter	
  intersecção	
  
com	
  testes	
  baixo	
  nível
A	
  maioria	
  necessita	
  
automação:	
  cenário	
  
controlado
Regra	
  de	
  negócio	
  versus	
  UI
Feedback	
  razoável
Integração	
  contínua
DESENVOLVEDOR
AGILE	
  TESTER
Q2
Auxiliam	
  o	
  time Negócio
Testes	
  funcionais
Exemplos
Protótipos
Simulações
Automatizado
e Manual
Elicitar	
  requisitos	
  e	
  exemplos
Checklists	
  
Mapas	
  mentais	
  
Planilhas
Testes	
  "abaixo	
  da	
  UI"
Testes	
  através	
  da	
  UIDiagramas	
  de	
  fluxo	
  
Mock-­‐ups
Q3
Criticam	
  o	
  produto
Negócio Manual
Design	
  do	
  produto
Somente	
  pessoas	
  podem	
  fazê-­‐lo
Simulam	
  o	
  usuário	
  real	
  
Oportunidade	
  para	
  novas	
  ideias	
  e	
  melhorias	
  de	
  
user	
  stories
AGILE	
  TESTER
Testes	
  exploratórios
Testes	
  de	
  UX
Testes	
  A/B
Q4
Criticam	
  o	
  produto
Tecnologia
Testes	
  de	
  Performance
Testes	
  de	
  Carga
Testes	
  de	
  Segurança
Ferramentas
Testam	
  características	
  não	
  funcionais
Necessitam	
  de	
  ferramentas	
  
específicas
Guia	
  de	
  arquitetura	
  e	
  escolha	
  
de	
  tecnologias
Não	
  devem	
  ser	
  deixados	
  para	
  o	
  final	
  
pois	
  pode	
  ser	
  tarde	
  demais	
  para	
  
realizar	
  mudanças	
  necessárias
DESENVOLVEDOR
Q1
Q2 Q3
Q4
Auxiliam	
  o	
  time
Criticam	
  o	
  produto
Tecnologia
Negócio
Testes	
  unitários
Testes	
  de	
  componentes
Testes	
  de	
  Performance
Testes	
  de	
  Carga
Testes	
  de	
  Segurança
Automatizado
e Manual
Automatizado
Manual
Ferramentas
Testes	
  funcionais
Exemplos
Protótipos
Simulações
Testes	
  exploratórios
Testes	
  de	
  UX
Testes	
  A/B
Manual	
  
X	
  
Automatizado
Mike Cohn - http://martinfowler.com/bliki/TestPyramid.html
Volatilidade
Cobertura
Custo
Feedback
Negócio
Tecnologia
Dan North - https://speakerdeck.com/tastapod/accelerating-agile-testing
Determinístico
Aleatório
Automatizado
Manual
Testes	
  unitários
BDD
TDD
Scripts
Voláteis
Caros
Carga	
  /	
  Performance
Exploratórios
Usabilidade
Testes	
  A/B
Nebuloso
"God	
  data"
Caótico
Dan North - https://speakerdeck.com/tastapod/accelerating-agile-testing
Determinístico
Aleatório
Automatizado
Manual
Testes	
  unitários
BDD
TDD
Carga	
  /	
  Performance
Exploratórios
Usabilidade
Testes	
  A/B
Agile	
  Developer
Agile	
  Tester
Scripts
Voláteis
Caros
Nebuloso
"God	
  data"
Caótico
"Chato"
"Estranho"
COMO
QUANDO
O	
  QUE
QUEM
Product,	
  Release	
  e	
  Sprint
Roadmap	
  do	
  
produto
Release	
  1 Release	
  2 Release	
  3
Sprint	
  0 Sprint	
  1 Sprint	
  2
Risco,	
  impacto	
  e	
  custo
Plano	
  de	
  teste
Análise	
  de	
  risco	
  e	
  plano	
  de	
  mitigação
Ambiente	
  e	
  infraestrutura
Considera	
  marcos	
  e	
  entregas
Lightweight
Considera	
  diferentes	
  tipos	
  de	
  testes
Dados	
  necessários	
  para	
  os	
  testes
Resultados	
  esperados
COMO
QUANDO
O	
  QUE
QUEM
Ok.	
  Mas	
  eu	
  trabalho	
  com	
  
software	
  legado.	
  E	
  agora?
Estudo	
  de	
  Caso
Software	
  legado:	
  mais	
  
de	
  2	
  milhões	
  de	
  linhas	
  de	
  
código
Cobertura	
  de	
  testes	
  <	
  1%
Inúmeras	
  configurações	
  
específicas	
  por	
  cliente
Ciclo	
  manual	
  de	
  testes	
  
ad	
  hoc	
  na	
  release:	
  2	
  
semanas
Estratégia!!!
1)	
  Análise	
  de	
  riscos
Funcionalidade Risco Impacto
Frequência de
alteração
Prioridade
Consolidação de pagamentos Médio Alto Média 2
Recebimento de pagamentos Alto Alto Alta 1
Transferência de recursos Alto Baixo Baixa 3
Relatório de despesas Baixo Médio Alta 4
2)	
  Cobertura	
  do	
  sistema
Testers	
  da	
  equipe	
  do	
  produto	
  
escrevendo	
  casos	
  de	
  teste
Equipe	
  paralela	
  implementando	
  
testes	
  automatizados	
  de	
  UI
3)	
  Integração	
  contínua
4)	
  Visibilidade	
  e	
  feedback
• Consolidação de pagamentos
• CT1: bônus extra (passed)
• CT2: diferentes cargos (passed)
• CT3: ex-funcionários (fail)
• Stacktrace: …
• Screenshot: …
• Transferência de recursos:
• CT1: …
d)	
  Relatórios	
  customizados:
b)	
  Análise	
  do	
  Sonar
a)	
  Número	
  de	
  defeitos
c)	
  Percentual	
  de	
  cobertura
5)	
  Manutenção
A	
  equipe	
  do	
  produto	
  recebe	
  os	
  testes	
  
automatizados	
  rodando	
  na	
  integração	
  contínua	
  e	
  
passa	
  a	
  dar	
  suporte
Com	
  uma	
  rede	
  de	
  segurança	
  garantindo	
  o	
  
funcionamento	
  em	
  alto	
  nível,	
  ganha-­‐se	
  confiança	
  
para	
  realizar	
  refactorings	
  e	
  testes	
  baixo	
  nível
Finalizando…
Explore	
  as	
  diversas	
  técnicas	
  de	
  teste,	
  priorize	
  e	
  faça	
  uma	
  análise	
  
de	
  risco
Todos	
  tem	
  responsabilidade	
  pela	
  qualidade
Faça	
  o	
  planejamento	
  de	
  seus	
  testes	
  de	
  acordo	
  com	
  seu	
  cenário:	
  
como,	
  quando,	
  o	
  que	
  e	
  quem
O	
  testador	
  ágil	
  é	
  um	
  profissional	
  experiente	
  com	
  habilidades	
  de	
  
teste	
  específicas
Agile	
  Testing
Lisa	
  Crispin
Janet	
  Gregory
Working	
  
Effectively	
  with	
  
Legacy	
  Code
Michael	
  Feathers
Agile	
  Estimating	
  
and	
  Planning
Mike	
  Cohn
Obrigado!
vitor.pelizza@kanoah.com
twitter.com/kanoahinc
facebook.com/kanoahinc
linkedin.com/company/kanoah
(48) 3285 5615
www.kanoah.com

Mais conteúdo relacionado

Mais procurados

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 e Testes: Um Relato de Experiência da Indústria
Agile e Testes: Um Relato de Experiência da IndústriaAgile e Testes: Um Relato de Experiência da Indústria
Agile e Testes: Um Relato de Experiência da IndústriaAndré Abe Vicente
 
Ferramentas de Gestão de Testes
Ferramentas de Gestão de TestesFerramentas de Gestão de Testes
Ferramentas de Gestão de Testeselliando dias
 
Ferramentas open source para auxiliar os testes de software
Ferramentas open source para auxiliar os testes de softwareFerramentas open source para auxiliar os testes de software
Ferramentas open source para auxiliar os testes de softwareJeremias Araujo
 
[DevOps Carioca] Testes Automatizados
[DevOps Carioca] Testes Automatizados[DevOps Carioca] Testes Automatizados
[DevOps Carioca] Testes AutomatizadosSamanta Cicilia
 
Testes e Refatoração
Testes e RefatoraçãoTestes e Refatoração
Testes e Refatoraçãoguest23778e
 
DEV-OPS para teste de software
DEV-OPS para teste de softwareDEV-OPS para teste de software
DEV-OPS para teste de softwareQualister
 
TOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
TOTVS - Agile Testing e a Importância de se ter Estratégia de TestesTOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
TOTVS - Agile Testing e a Importância de se ter Estratégia de TestesSamanta Cicilia
 
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...Automação de testes de desempenho para sistemas web utilizando a ferramenta J...
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...Leandro Ugioni
 
DevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a QualidadeDevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a QualidadeKamilla Queiroz Xavier
 
Palestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraPalestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraTaís Dall'Oca
 
Importância de Testes Automatizados para Continuous Delivery & DevOps
Importância de Testes Automatizados para Continuous Delivery & DevOpsImportância de Testes Automatizados para Continuous Delivery & DevOps
Importância de Testes Automatizados para Continuous Delivery & DevOpsSamanta Cicilia
 
CNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous DeliveryCNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous DeliverySamanta Cicilia
 
Automacao de testes com keyword driven
Automacao de testes com keyword drivenAutomacao de testes com keyword driven
Automacao de testes com keyword drivenQualister
 
MTC - Automatizando Visual Regression Testing
MTC - Automatizando Visual Regression TestingMTC - Automatizando Visual Regression Testing
MTC - Automatizando Visual Regression TestingSamanta Cicilia
 
Agile testing
Agile testingAgile testing
Agile testingQualister
 

Mais procurados (20)

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
 
Test link
Test linkTest link
Test link
 
Agile e Testes no PagSeguro
Agile e Testes no PagSeguroAgile e Testes no PagSeguro
Agile e Testes no PagSeguro
 
Agile e Testes: Um Relato de Experiência da Indústria
Agile e Testes: Um Relato de Experiência da IndústriaAgile e Testes: Um Relato de Experiência da Indústria
Agile e Testes: Um Relato de Experiência da Indústria
 
Ferramentas de Gestão de Testes
Ferramentas de Gestão de TestesFerramentas de Gestão de Testes
Ferramentas de Gestão de Testes
 
Testlink apresentacao
Testlink apresentacaoTestlink apresentacao
Testlink apresentacao
 
Ferramentas open source para auxiliar os testes de software
Ferramentas open source para auxiliar os testes de softwareFerramentas open source para auxiliar os testes de software
Ferramentas open source para auxiliar os testes de software
 
[DevOps Carioca] Testes Automatizados
[DevOps Carioca] Testes Automatizados[DevOps Carioca] Testes Automatizados
[DevOps Carioca] Testes Automatizados
 
Testes e Refatoração
Testes e RefatoraçãoTestes e Refatoração
Testes e Refatoração
 
DEV-OPS para teste de software
DEV-OPS para teste de softwareDEV-OPS para teste de software
DEV-OPS para teste de software
 
TOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
TOTVS - Agile Testing e a Importância de se ter Estratégia de TestesTOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
TOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
 
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...Automação de testes de desempenho para sistemas web utilizando a ferramenta J...
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...
 
DevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a QualidadeDevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a Qualidade
 
WTM - Entrega Contínua
WTM - Entrega ContínuaWTM - Entrega Contínua
WTM - Entrega Contínua
 
Palestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraPalestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreira
 
Importância de Testes Automatizados para Continuous Delivery & DevOps
Importância de Testes Automatizados para Continuous Delivery & DevOpsImportância de Testes Automatizados para Continuous Delivery & DevOps
Importância de Testes Automatizados para Continuous Delivery & DevOps
 
CNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous DeliveryCNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous Delivery
 
Automacao de testes com keyword driven
Automacao de testes com keyword drivenAutomacao de testes com keyword driven
Automacao de testes com keyword driven
 
MTC - Automatizando Visual Regression Testing
MTC - Automatizando Visual Regression TestingMTC - Automatizando Visual Regression Testing
MTC - Automatizando Visual Regression Testing
 
Agile testing
Agile testingAgile testing
Agile testing
 

Semelhante a Agile testing aumentar qualidade

Uma Sprint na Vida do Tester
Uma Sprint na Vida do TesterUma Sprint na Vida do Tester
Uma Sprint na Vida do TesterVitor Pelizza
 
Conceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidadeConceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidaderzauza
 
A Arte dos Testes de Performance Aplicacional
A Arte dos Testes de Performance AplicacionalA Arte dos Testes de Performance Aplicacional
A Arte dos Testes de Performance AplicacionalNuno Baptista Rodrigues
 
[Portfólio Acadêmico] [FIT] Mapas de navegação, lista de tarefas e fluxograma...
[Portfólio Acadêmico] [FIT] Mapas de navegação, lista de tarefas e fluxograma...[Portfólio Acadêmico] [FIT] Mapas de navegação, lista de tarefas e fluxograma...
[Portfólio Acadêmico] [FIT] Mapas de navegação, lista de tarefas e fluxograma...Rafael Kanaoka
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasKleitor Franklint Correa Araujo
 
Reusabilidade na Utilização de Frameworks Automatizados
Reusabilidade na Utilização de Frameworks Automatizados Reusabilidade na Utilização de Frameworks Automatizados
Reusabilidade na Utilização de Frameworks Automatizados Webcasts developerWorks Brasil
 
Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Igor Abade
 
Qualidade de Software com Microsoft Visual Studio
Qualidade de Software com Microsoft Visual StudioQualidade de Software com Microsoft Visual Studio
Qualidade de Software com Microsoft Visual StudioAdriano Bertucci
 
Gerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxGerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxRoberto Nunes
 
Gerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2aGerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2aLeonardo Molinari
 
ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a QualidadeERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a QualidadeAndré Abe Vicente
 
Modelo plano de_testes
Modelo plano de_testesModelo plano de_testes
Modelo plano de_testesIsaias Silva
 
Microsoft ALM = Produtividade
Microsoft ALM = ProdutividadeMicrosoft ALM = Produtividade
Microsoft ALM = ProdutividadeAdriano Bertucci
 
Palestra GUTS - Viabilidade da Automacao Teste Software e Demo QTP
Palestra GUTS - Viabilidade da Automacao Teste Software e Demo QTPPalestra GUTS - Viabilidade da Automacao Teste Software e Demo QTP
Palestra GUTS - Viabilidade da Automacao Teste Software e Demo QTPPriscila Coelho S. Blauth
 
Teste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e ValidaçãoTeste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e ValidaçãoJoeldson Costa Damasceno
 
4 engenharia de software
4   engenharia de software4   engenharia de software
4 engenharia de softwareFelipe Bugov
 

Semelhante a Agile testing aumentar qualidade (20)

Uma Sprint na Vida do Tester
Uma Sprint na Vida do TesterUma Sprint na Vida do Tester
Uma Sprint na Vida do Tester
 
Apresentacao dev ops
Apresentacao dev opsApresentacao dev ops
Apresentacao dev ops
 
Conceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidadeConceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidade
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Teste de software
Teste de software Teste de software
Teste de software
 
A Arte dos Testes de Performance Aplicacional
A Arte dos Testes de Performance AplicacionalA Arte dos Testes de Performance Aplicacional
A Arte dos Testes de Performance Aplicacional
 
[Portfólio Acadêmico] [FIT] Mapas de navegação, lista de tarefas e fluxograma...
[Portfólio Acadêmico] [FIT] Mapas de navegação, lista de tarefas e fluxograma...[Portfólio Acadêmico] [FIT] Mapas de navegação, lista de tarefas e fluxograma...
[Portfólio Acadêmico] [FIT] Mapas de navegação, lista de tarefas e fluxograma...
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégias
 
Reusabilidade na Utilização de Frameworks Automatizados
Reusabilidade na Utilização de Frameworks Automatizados Reusabilidade na Utilização de Frameworks Automatizados
Reusabilidade na Utilização de Frameworks Automatizados
 
Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?
 
Qualidade de Software com Microsoft Visual Studio
Qualidade de Software com Microsoft Visual StudioQualidade de Software com Microsoft Visual Studio
Qualidade de Software com Microsoft Visual Studio
 
Gerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxGerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptx
 
Gerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2aGerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2a
 
ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a QualidadeERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
 
TesteDeSoftware_WorkshopSINFO2014.pdf
TesteDeSoftware_WorkshopSINFO2014.pdfTesteDeSoftware_WorkshopSINFO2014.pdf
TesteDeSoftware_WorkshopSINFO2014.pdf
 
Modelo plano de_testes
Modelo plano de_testesModelo plano de_testes
Modelo plano de_testes
 
Microsoft ALM = Produtividade
Microsoft ALM = ProdutividadeMicrosoft ALM = Produtividade
Microsoft ALM = Produtividade
 
Palestra GUTS - Viabilidade da Automacao Teste Software e Demo QTP
Palestra GUTS - Viabilidade da Automacao Teste Software e Demo QTPPalestra GUTS - Viabilidade da Automacao Teste Software e Demo QTP
Palestra GUTS - Viabilidade da Automacao Teste Software e Demo QTP
 
Teste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e ValidaçãoTeste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e Validação
 
4 engenharia de software
4   engenharia de software4   engenharia de software
4 engenharia de software
 

Agile testing aumentar qualidade

  • 1. Agile  testing:   como  aumentar  a   qualidade  do  produto
  • 2. Vitor  Pelizza   Co-­‐founder  @  Kanoah  Software
  • 3. Vitor  Pelizza   Co-­‐founder  @  Kanoah  Software Ciências  da  Computação  -­‐  UFSC   MBA  em  Gerenciamento  de  Projetos  -­‐  FGV   Certified  ScrumMaster  (2008)
  • 4. Base  do  bolo Recheio Cobertura Cupcake Bolo  simples Bolo  de  casamento Fonte: http://blog.intercom.io/start-with-a-cupcake/
  • 5. Fonte: http://www.targetprocess.com/blog/2008/09/waterfall-got-you-down-with.html Foco  na  atividade.  Fatia  horizontal Foco  na  funcionalidade.  Fatia  vertical Várias  funcionalidades  no  ciclo  de  produção Poucas  funcionalidades  no  ciclo  de  produção WaterfallAgile Output Output
  • 6. Validar  se  o  que  foi  desenvolvido   atende  aos  requisitos  e  corrigir   desvios Suporte  a  equipe  de   desenvolvimento  e  ao  processo  de   descoberta  através  do  feedback
  • 7.
  • 9.
  • 10.
  • 13. Boa  base  tecnológica Iterações  com  entregas  funcionando Cobertura  de  testes Suporte  a  equipe Feedback
  • 14.
  • 15. E  as  FEATURES  mais  importantes?   Manual  ou  AUTOMATIZADO?   Será  que  está  ok  para  o  CLIENTE?
  • 17. Saber  COMO  testar Saber  QUANDO  testar Saber  O  QUE  testar Saber  QUEM  testa
  • 19. Abraça  a  MUDANÇA Colabora  tanto  com  o  pessoal   TÉCNICO  quando  de  NEGÓCIO Entende  o  conceito  de  se  utilizar   testes  para  documentar  REQUISITOS   e  guiar  o  DESENVOLVIMENTO O  que  é?
  • 20. Macaquinho Estagiário  de  outra  área   profissional Inexperiente O  que  não  é?
  • 22. Os  Quadrantes  do   Teste  Ágil
  • 23. Q1 Q2 Q3 Q4 Auxiliam  o  time Criticam  o  produto Tecnologia Negócio Testes  unitários Testes  de  componentes Testes  exploratórios Testes  de  UX Testes  A/B Testes  de  Performance Testes  de  Carga Testes  de  Segurança Automatizado e Manual Automatizado Manual Ferramentas Testes  funcionais Exemplos Protótipos Simulações
  • 24. Q1 Auxiliam  o  time Tecnologia Testes  unitários Testes  de  componentes Automatizado Qualidade  interna DESENVOLVEDOR Design  do  código Confiança  para  alterar Feedback  contínuo  e  rápido Deve  ser  considerado   parte  do   desenvolvimento Integração  contínua
  • 25. Q1 Auxiliam  o  time Tecnologia Testes  unitários Testes  de  componentes Automatizado xUnit Integração  Contínua SCM
  • 26. Q2 Auxiliam  o  time Negócio Testes  funcionais Exemplos Protótipos Simulações Automatizado e Manual Confirmam  o   comportamento  desejado Qualidade  externa Podem  ter  intersecção   com  testes  baixo  nível A  maioria  necessita   automação:  cenário   controlado Regra  de  negócio  versus  UI Feedback  razoável Integração  contínua DESENVOLVEDOR AGILE  TESTER
  • 27. Q2 Auxiliam  o  time Negócio Testes  funcionais Exemplos Protótipos Simulações Automatizado e Manual Elicitar  requisitos  e  exemplos Checklists   Mapas  mentais   Planilhas Testes  "abaixo  da  UI" Testes  através  da  UIDiagramas  de  fluxo   Mock-­‐ups
  • 28. Q3 Criticam  o  produto Negócio Manual Design  do  produto Somente  pessoas  podem  fazê-­‐lo Simulam  o  usuário  real   Oportunidade  para  novas  ideias  e  melhorias  de   user  stories AGILE  TESTER Testes  exploratórios Testes  de  UX Testes  A/B
  • 29. Q4 Criticam  o  produto Tecnologia Testes  de  Performance Testes  de  Carga Testes  de  Segurança Ferramentas Testam  características  não  funcionais Necessitam  de  ferramentas   específicas Guia  de  arquitetura  e  escolha   de  tecnologias Não  devem  ser  deixados  para  o  final   pois  pode  ser  tarde  demais  para   realizar  mudanças  necessárias DESENVOLVEDOR
  • 30. Q1 Q2 Q3 Q4 Auxiliam  o  time Criticam  o  produto Tecnologia Negócio Testes  unitários Testes  de  componentes Testes  de  Performance Testes  de  Carga Testes  de  Segurança Automatizado e Manual Automatizado Manual Ferramentas Testes  funcionais Exemplos Protótipos Simulações Testes  exploratórios Testes  de  UX Testes  A/B
  • 32. Mike Cohn - http://martinfowler.com/bliki/TestPyramid.html Volatilidade Cobertura Custo Feedback Negócio Tecnologia
  • 33. Dan North - https://speakerdeck.com/tastapod/accelerating-agile-testing Determinístico Aleatório Automatizado Manual Testes  unitários BDD TDD Scripts Voláteis Caros Carga  /  Performance Exploratórios Usabilidade Testes  A/B Nebuloso "God  data" Caótico
  • 34. Dan North - https://speakerdeck.com/tastapod/accelerating-agile-testing Determinístico Aleatório Automatizado Manual Testes  unitários BDD TDD Carga  /  Performance Exploratórios Usabilidade Testes  A/B Agile  Developer Agile  Tester Scripts Voláteis Caros Nebuloso "God  data" Caótico "Chato" "Estranho"
  • 36. Product,  Release  e  Sprint Roadmap  do   produto Release  1 Release  2 Release  3 Sprint  0 Sprint  1 Sprint  2
  • 38. Plano  de  teste Análise  de  risco  e  plano  de  mitigação Ambiente  e  infraestrutura Considera  marcos  e  entregas Lightweight Considera  diferentes  tipos  de  testes Dados  necessários  para  os  testes Resultados  esperados
  • 40. Ok.  Mas  eu  trabalho  com   software  legado.  E  agora?
  • 42. Software  legado:  mais   de  2  milhões  de  linhas  de   código
  • 44.
  • 46. Ciclo  manual  de  testes   ad  hoc  na  release:  2   semanas
  • 47.
  • 49. 1)  Análise  de  riscos Funcionalidade Risco Impacto Frequência de alteração Prioridade Consolidação de pagamentos Médio Alto Média 2 Recebimento de pagamentos Alto Alto Alta 1 Transferência de recursos Alto Baixo Baixa 3 Relatório de despesas Baixo Médio Alta 4
  • 50. 2)  Cobertura  do  sistema Testers  da  equipe  do  produto   escrevendo  casos  de  teste Equipe  paralela  implementando   testes  automatizados  de  UI
  • 52. 4)  Visibilidade  e  feedback • Consolidação de pagamentos • CT1: bônus extra (passed) • CT2: diferentes cargos (passed) • CT3: ex-funcionários (fail) • Stacktrace: … • Screenshot: … • Transferência de recursos: • CT1: … d)  Relatórios  customizados: b)  Análise  do  Sonar a)  Número  de  defeitos c)  Percentual  de  cobertura
  • 53. 5)  Manutenção A  equipe  do  produto  recebe  os  testes   automatizados  rodando  na  integração  contínua  e   passa  a  dar  suporte Com  uma  rede  de  segurança  garantindo  o   funcionamento  em  alto  nível,  ganha-­‐se  confiança   para  realizar  refactorings  e  testes  baixo  nível
  • 54. Finalizando… Explore  as  diversas  técnicas  de  teste,  priorize  e  faça  uma  análise   de  risco Todos  tem  responsabilidade  pela  qualidade Faça  o  planejamento  de  seus  testes  de  acordo  com  seu  cenário:   como,  quando,  o  que  e  quem O  testador  ágil  é  um  profissional  experiente  com  habilidades  de   teste  específicas
  • 56. Working   Effectively  with   Legacy  Code Michael  Feathers
  • 57. Agile  Estimating   and  Planning Mike  Cohn
  • 58.