Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
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	
  ...
Base	
  do	
  bolo Recheio Cobertura
Cupcake Bolo	
  simples Bolo	
  de	
  casamento
Fonte: http://blog.intercom.io/start-...
Fonte: http://www.targetprocess.com/blog/2008/09/waterfall-got-you-down-with.html
Foco	
  na	
  atividade.	
  Fatia	
  hor...
Validar	
  se	
  o	
  que	
  foi	
  desenvolvido	
  
atende	
  aos	
  requisitos	
  e	
  corrigir	
  
desvios
Suporte	
  a...
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
Fe...
E	
  as	
  FEATURES	
  mais	
  importantes?	
  
Manual	
  ou	
  AUTOMATIZADO?	
  
Será	
  que	
  está	
  ok	
  para	
  o	
...
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	
  con...
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	
  componen...
Q1
Auxiliam	
  o	
  time
Tecnologia
Testes	
  unitários
Testes	
  de	
  componentes
Automatizado
Qualidade	
  interna
DESE...
Q1
Auxiliam	
  o	
  time
Tecnologia
Testes	
  unitários
Testes	
  de	
  componentes
Automatizado
xUnit
Integração	
  Contí...
Q2
Auxiliam	
  o	
  time Negócio
Testes	
  funcionais
Exemplos
Protótipos
Simulações
Automatizado
e Manual
Confirmam	
  o	
...
Q2
Auxiliam	
  o	
  time Negócio
Testes	
  funcionais
Exemplos
Protótipos
Simulações
Automatizado
e Manual
Elicitar	
  req...
Q3
Criticam	
  o	
  produto
Negócio Manual
Design	
  do	
  produto
Somente	
  pessoas	
  podem	
  fazê-­‐lo
Simulam	
  o	
...
Q4
Criticam	
  o	
  produto
Tecnologia
Testes	
  de	
  Performance
Testes	
  de	
  Carga
Testes	
  de	
  Segurança
Ferrame...
Q1
Q2 Q3
Q4
Auxiliam	
  o	
  time
Criticam	
  o	
  produto
Tecnologia
Negócio
Testes	
  unitários
Testes	
  de	
  componen...
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
Teste...
Dan North - https://speakerdeck.com/tastapod/accelerating-agile-testing
Determinístico
Aleatório
Automatizado
Manual
Teste...
COMO
QUANDO
O	
  QUE
QUEM
Product,	
  Release	
  e	
  Sprint
Roadmap	
  do	
  
produto
Release	
  1 Release	
  2 Release	
  3
Sprint	
  0 Sprint	
  ...
Risco,	
  impacto	
  e	
  custo
Plano	
  de	
  teste
Análise	
  de	
  risco	
  e	
  plano	
  de	
  mitigação
Ambiente	
  e	
  infraestrutura
Considera	
  ...
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...
2)	
  Cobertura	
  do	
  sistema
Testers	
  da	
  equipe	
  do	
  produto	
  
escrevendo	
  casos	
  de	
  teste
Equipe	
 ...
3)	
  Integração	
  contínua
4)	
  Visibilidade	
  e	
  feedback
• Consolidação de pagamentos
• CT1: bônus extra (passed)
• CT2: diferentes cargos (pas...
5)	
  Manutenção
A	
  equipe	
  do	
  produto	
  recebe	
  os	
  testes	
  
automatizados	
  rodando	
  na	
  integração	
...
Finalizando…
Explore	
  as	
  diversas	
  técnicas	
  de	
  teste,	
  priorize	
  e	
  faça	
  uma	
  análise	
  
de	
  ri...
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...
Testes ágeis
Testes ágeis
Testes ágeis
Testes ágeis
Testes ágeis
Testes ágeis
Testes ágeis
Upcoming SlideShare
Loading in …5
×

Testes ágeis

825 views

Published on

Essa palestra aborda sobre o planejamento de testes em equipes ágeis e mostra como isso impacta na qualidade final do produto, inserindo o papel do Agile Tester na equipe de desenvolvimento. Serão abordados os diferentes tipos e categorias de testes e como são introduzidos no processo de desenvolvimento de software de uma forma colaborativa, responsável e sem desperdícios.

Published in: Technology

Testes ágeis

  1. 1. Agile  testing:   como  aumentar  a   qualidade  do  produto
  2. 2. Vitor  Pelizza   Co-­‐founder  @  Kanoah  Software
  3. 3. Vitor  Pelizza   Co-­‐founder  @  Kanoah  Software Ciências  da  Computação  -­‐  UFSC   MBA  em  Gerenciamento  de  Projetos  -­‐  FGV   Certified  ScrumMaster  (2008)
  4. 4. Base  do  bolo Recheio Cobertura Cupcake Bolo  simples Bolo  de  casamento Fonte: http://blog.intercom.io/start-with-a-cupcake/
  5. 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. 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. 7. E  na  prática?
  8. 8. TODO DOING TEST DONE
  9. 9. xUnit TDD Integração  contínua Pair  programming Revisão  de  código
  10. 10. Boa  base  tecnológica Iterações  com  entregas  funcionando Cobertura  de  testes Suporte  a  equipe Feedback
  11. 11. E  as  FEATURES  mais  importantes?   Manual  ou  AUTOMATIZADO?   Será  que  está  ok  para  o  CLIENTE?
  12. 12. Estratégia
  13. 13. Saber  COMO  testar Saber  QUANDO  testar Saber  O  QUE  testar Saber  QUEM  testa
  14. 14. Agile  tester!!!
  15. 15. 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  é?
  16. 16. Macaquinho Estagiário  de  outra  área   profissional Inexperiente O  que  não  é?
  17. 17. Por  onde  começar?
  18. 18. Os  Quadrantes  do   Teste  Ágil
  19. 19. 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
  20. 20. 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
  21. 21. Q1 Auxiliam  o  time Tecnologia Testes  unitários Testes  de  componentes Automatizado xUnit Integração  Contínua SCM
  22. 22. 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
  23. 23. 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
  24. 24. 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
  25. 25. 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
  26. 26. 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
  27. 27. Manual   X   Automatizado
  28. 28. Mike Cohn - http://martinfowler.com/bliki/TestPyramid.html Volatilidade Cobertura Custo Feedback Negócio Tecnologia
  29. 29. 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
  30. 30. 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"
  31. 31. COMO QUANDO O  QUE QUEM
  32. 32. Product,  Release  e  Sprint Roadmap  do   produto Release  1 Release  2 Release  3 Sprint  0 Sprint  1 Sprint  2
  33. 33. Risco,  impacto  e  custo
  34. 34. 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
  35. 35. COMO QUANDO O  QUE QUEM
  36. 36. Ok.  Mas  eu  trabalho  com   software  legado.  E  agora?
  37. 37. Estudo  de  Caso
  38. 38. Software  legado:  mais   de  2  milhões  de  linhas  de   código
  39. 39. Cobertura  de  testes  <  1%
  40. 40. Inúmeras  configurações   específicas  por  cliente
  41. 41. Ciclo  manual  de  testes   ad  hoc  na  release:  2   semanas
  42. 42. Estratégia!!!
  43. 43. 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
  44. 44. 2)  Cobertura  do  sistema Testers  da  equipe  do  produto   escrevendo  casos  de  teste Equipe  paralela  implementando   testes  automatizados  de  UI
  45. 45. 3)  Integração  contínua
  46. 46. 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
  47. 47. 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
  48. 48. 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
  49. 49. Agile  Testing Lisa  Crispin Janet  Gregory
  50. 50. Working   Effectively  with   Legacy  Code Michael  Feathers
  51. 51. Agile  Estimating   and  Planning Mike  Cohn
  52. 52. Obrigado! vitor.pelizza@kanoah.com twitter.com/kanoahinc facebook.com/kanoahinc linkedin.com/company/kanoah (48) 3285 5615 www.kanoah.com

×