Verdades e mitos sobre testes que eu gostaria

Click here to load reader

  • date post

    22-Jan-2018
  • Category

    Technology

  • view

    537
  • download

    0

Embed Size (px)

Transcript of Verdades e mitos sobre testes que eu gostaria

  1. 1. Verdades e mitos sobre testes que eu gostaria que tivessem me avisado Livia Gabos
  2. 2. Objetivos da palestra No fazer vocs desistirem da rea de testes. No fazer vocs pensarem que eu estou reclamando da vida. No fazer vocs pensarem que o pessoal de testes leva a pior (sempre). No fazer vocs pensarem que testes so chatos.
  3. 3. Objetivos da palestra Contar um pouco sobre as minhas experincias. Coisas que vi e ouvi em eventos e outras pessoas da rea.
  4. 4. Livia adverte: Qualquer situao relatada pode ou no ter acontecido comigo ou com um amigo meu.
  5. 5. Testes no so importantes
  6. 6. Testes no so importantes
  7. 7. Testes no so importantes
  8. 8. Testes no so importantes Defeito Erro Falha
  9. 9. Testes no so importantes Engano de uma pessoa produz um passo incorreto Era para ser x>=4 e virou x>4Defeito Estado inconsistente ou inesperadoErro Resultado diferente do resultado esperado 1, 2, 3 e 4 no passa...xiii, acho que no funcionouFalha
  10. 10. Testes no so importantes
  11. 11. Testes so importantes! Testes so uma parte da qualidade. J ajudam muito para garantir a qualidade. Processo de desenvolvimento deve possuir qualidade. Sem testes, sem defeitos by @ProgramadorREAL
  12. 12. Testes s acontecem no final
  13. 13. Testes s acontecem no final Final do que? Da iterao? Do desenvolvimento da funcionalidade? Do ciclo de desenvolvimento? Da semana? Do ms? Do software ter sido produzido por inteiro? Do meu salrio?
  14. 14. Testes s acontecem no final O produto final do processo de desenvolvimento exatamente o somatrio de todas as decises e realizaes geradas durante todo o ciclo de desenvolvimento. Se for desejado produzir software com alta qualidade, ser necessrio investir em qualidade em todos os pontos do processo. https://patiaragon.wordpress.com/
  15. 15. Testes s acontecem no final
  16. 16. Testes s acontecem no final Espiral gil
  17. 17. Testes s acontecem no final Por que isso acontece? Ningum gosta de algum falando que voc est errado. Ningum quer algum questionando suas ideias. Do seu jeito melhor? Ento desenvolve a...
  18. 18. Testes no acontecem apenas no final Existem testes que so papel do desenvolvedor. Se voc pensa: qualidade = testes, como voc deixa a qualidade para o final?
  19. 19. Se testar s a ltima verso est tudo bem!
  20. 20. Se testar s a ltima verso est tudo bem! Fonte: @c_caetano
  21. 21. Se testar s a ltima verso est tudo bem! Fonte: @c_caetano
  22. 22. Se testar s a ltima verso est tudo bem! Fonte: @c_caetano
  23. 23. Se testar s a ltima verso est tudo bem! Fonte: @c_caetano
  24. 24. Se testar s a ltima verso est tudo bem! Fonte: @c_caetano
  25. 25. Se testar s a ltima verso est tudo bem?
  26. 26. Se testar s a ltima verso est tudo bem! UI Integrao Unitrio UI Integrao Unitrio Manuais Manuais VS SIM NO
  27. 27. Se testar s a ltima verso est tudo bem! Acham que programar script de teste complicado. Acham que teste automatizado usando ferramenta de play-record. Por conta disso, ningum quer testar antes de nunca mais mexerem um pixel na tela. Da o teste fica tudo no final.
  28. 28. Testar tudo! Implementar testes unitrios, de regresso, testes automatizados com scripts de testes.
  29. 29. Voc no precisa de documentao para testar!
  30. 30. Voc no precisa de documentao para testar! O que voc considera documentao? Diagrama de classe? Documento de requisitos (atualizado)? Casos de uso (atualizado)? O que voc considera documentao de testes? Plano de testes Casos de testes Relatrio de teste
  31. 31. Acho que a funo de controle e integrao entre o departamento de marketing e da controladoria pode ser.....
  32. 32. O que ele estava pensando quando escreveu essa funcionalidade?
  33. 33. Voc no precisa de documentao para testar! Documentao serve para comunicar. Preciso fazer um longo documento de requisitos (que eu no vou atualizar depois da terceira iterao)? No Posso escrever de um jeito mais simples o que aquela funcionalidade precisa fazer? Sim
  34. 34. Voc no precisa de documentao para testar! Cenrio Dado Quando Ento Cenrio: Consultando um tringulo Escaleno Dado que eu estou na pgina de consulta de tringulos Quando eu informo os lados do triangulo como 3 4 5 Ento o sistema informa que o tringulo escaleno.
  35. 35. Voc precisa de alguma documentao! Voc precisa de um orculo! A documentao ajuda para quando no tem ningum da sua equipe Todos esto de frias menos voc!
  36. 36. Todo bug encontrado culpa do desenvolvedor
  37. 37. Todo bug encontrado culpa do desenvolvedor Algo no est escrito certo ou est difcil de entender. Desenvolvedor no entendeu o que estava escrito. Nem tinha documentao.
  38. 38. Todo bug encontrado culpa do desenvolvedor Porque o desenvolvedor tem que testar? Testar =! Debugar Cdigos de refatorao -> o testador no vai achar isso! Teste unitrio e integrao
  39. 39. Todo bug encontrado culpa do desenvolvedor Depois que o erro encontrado, podemos declarar que o procedimento ideal seria: Analisar o bug, resolv-lo, e registrar a atividade como Erro na ferramenta de controle interno para fins de documentao; Utilizar mtodos de anlise de causa para descobrir como o erro chegou at a produo; Certificar-se de que a causa seja resolvida para evitar ocorrncias futuras.
  40. 40. Todo bug encontrado culpa do desenvolvedor Depois que o erro encontrado, podemos declarar que o procedimento ideal seria: Analisar o bug, resolv-lo, e registrar a atividade como Erro na ferramenta de controle interno para fins de documentao;
  41. 41. Todo bug encontrado culpa do desenvolvedor Precisamos achar de quem a culpa? No Porque s se faz isso ento?
  42. 42. Os bugs encontrados no culpa de ngm! necessrio corrigir o processo que criou o bug e o processo que no encontrou ele a tempo.
  43. 43. O teste responsabilidade apenas do testador
  44. 44. O teste responsabilidade apenas do testador Porque isso acontece? Falta tempo para o desenvolvedor testar Falta tempo para o desenvolvedor desenvolver (s vezes) Falta experincia Sobre preconceito
  45. 45. O teste responsabilidade apenas do testador UI Integrao Unitrio UI Integrao Unitrio Manuais Manuais VS
  46. 46. O teste responsabilidade apenas do testador TDD - Test Driven Development Programao em duplas
  47. 47. Todo mundo tem que testar! Todo mundo testa com diferentes vises.
  48. 48. O teste de sistema/funcional o mais importante
  49. 49. O teste de sistema/funcional o mais importante Tcnica de teste Valor limite Partio de equivalncia Exploratrio Nvel do teste Mdulo nico Teste de Unidade Agrupamento de mdulos Teste de Integrao Sistema completo Teste de Sistema
  50. 50. O teste de sistema/funcional o mais importante Tem outros? Testes funcionais Testes no-funcionais Teste de usabilidade Teste de acessibilidade Teste de performance Teste de carga Teste de stress Teste de segurana Aceitao Regresso
  51. 51. O teste de sistema/funcional o mais importante O que voc considera como qualidade? O que o seu gerente considera como qualidade? O que seu cliente considera como qualidade? O que o usurio final considera como qualidade?
  52. 52. O teste de sistema/funcional o mais importante Testes funcionais Testes no-funcionais Teste de usabilidade Teste de acessibilidade Teste de performance Teste de carga Teste de stress Teste de segurana Aceitao Regresso
  53. 53. Faa testes que garantam o que voc precisa ! Tudo depende do que voc precisa garantir para saber qual teste melhor para voc.
  54. 54. Teste no-funcional no importante
  55. 55. Teste no-funcional no importante Voc sabe escrever um requisito no-funcional? Voc sabe o que um requisito no-funcional?
  56. 56. Teste no-funcional no importante Requisitos no-funcionais so relacionados ao uso da aplicao em termos de desempenho, usabilidade, confiabilidade, disponibilidade, segurana e tecnologias envolvidas. Muitas vezes, os requisitos no funcionais acabam gerando restries aos funcionais. No preciso o cliente dizer sobre eles, pois eles so caractersticas mnimas de um software de qualidade.
  57. 57. Teste no-funcional no importante Declarar os requisitos no-funcionais como user-stories Como um cliente, quero ser capaz de executar o seu produto em todas as verses do Windows, do Windows 95 at a verso atual. Como diretor de tecnologia, quero que o sistema use nosso banco de dados de pedidos ao invs de criar um novo banco, para no termos mais um banco de dados para manter. Como usurio, quero que o site esteja disponvel 99,999% do tempo em que tentar acess-lo, para que eu no fique frustrado e procure outro site.
  58. 58. Teste no-funcional no importante Custo de conformidade inicial Custo de conformidade contnua
  59. 59. Teste no-funcional no importante Equipe de desenvolvimento lembra dos requisitos no-funcionais? Gerente Dev Analista de requisitos Chega no final de tudo e algum fala: Vai testar a acessibilidade?
  60. 60. Teste no-funcional importante sim! Existem startup usando teste de usabilidade para avaliar prottipos e ideias. Existem testes no-funcionais que so to importantes quanto os funcionais.
  61. 61. Ningum tem esse nome to comprido!
  62. 62. Ningum tem esse nome to comprido! Qual o problema com o nome? O nome comprido demais O nome curto demais Um nome normal no usa nmeros
  63. 63. Ningum tem esse nome to comprido!
  64. 64. Ningum tem esse nome to comprido! Antnio Treze de Junho de Mil Novecentos e Dezessete Benedito Frscolo Jovino de Almeida Aimbar Milito de Souza Baruel de Itaparica Bor Fomi de Tucunduv Brgida de Samora Mora Belderagas Pirugas de Alfim Cerqueira Borges Cabral Carlos Alberto Santssimo Sacramento Cantinho da Vila Alencar da Corte Real Sampaio Carneiro de Souza e Faro Napoleo Bonaparte Sem Medo e Sem Mcula Simplcio Simplrio da Simplicidade Simples
  65. 65. No subestimem a criatividade das pessoas! Testar com informaes reais e possveis Nome: ahskdauhsdkuahskduhakushdkaushdukas Sejam criativos Faam composies de informaes para serem complexas
  66. 66. Testes so rpidos/lentos de se fazer. (Deixa pra depois)
  67. 67. Testes so rpidos/lentos de se fazer. As pessoas pensam que testes so rpidos de se fazerem e por isso deixam para depois. (E no fazem) As pessoas pensam que testes so muitos demorados e atrasam o processo de desenvolvimento. (E no fazem)
  68. 68. Testes so rpidos/lentos de se fazer. Tudo depende se voc tem ou no uma mtrica. Se voc entende das necessidades essenciais de teste. No adianta no fazer testes porque demoraram mais a entrega final por conta disso.
  69. 69. Sem conhecimento no existe qualidade Se voc registra as condies do teste, voc pode obter mtricas e tornar o processo de teste mais inteligente. Se voc conhece seu produto, entende seu processo de desenvolvimento e sua equipe, voc sabe como test-lo. Ter qualidade no processo significa no final que se voc fizer o teste no comeo, no meio ou no fim de uma iterao o resultado no ser trgico.
  70. 70. Voc no precisa saber programar!
  71. 71. Voc no precisa saber programar! UI Integrao Unitrio Manuais
  72. 72. Voc no precisa saber programar! UI Integrao Unitrio UI Integrao Unitrio Manuais Manuais VS
  73. 73. Voc no precisa saber programar! Voc s sabe fazer teste manual. Voc s faz testes com a interface. Voc no tem voz ativa na equipe de desenvolvimento.
  74. 74. Voc tem que saber programar sim! Saber banco de dados Saber programar Saber mexer com frameworks de testes
  75. 75. Testes so s custos
  76. 76. Testes so s custos Por que voc quer fazer testes? Provar que tudo funciona? Provar que no tem erros? Provar que voc no vai ter surpresas desagradveis quando entregar aquilo pro cliente? Provar que tem qualidade?
  77. 77. Testes so s custos Qualidade o principal. Se seu processo de desenvolvimento possui problemas de qualidade no o teste que vai salv-lo.
  78. 78. Sigam no twitter @thoughtworks_pt @eliasnogueira @qualister @c_caetano @gutsrs canal no youtube tambm http://agiletesters.com.br/
  79. 79. Sites que usei na apresentao http://engtesteagil.blogspot.com.br/ http://eliasnogueira.com/diferencas-entre-um-testador-real-e-um-testador-fake/ https://patiaragon.wordpress.com/ http://www.fredmoreira.com/ http://bugs-busters.blogspot.com.br/2015/08/7-passos-para-o-desenvolvedor- odiar.html http://bugs-busters.blogspot.com.br/2015/09/7-passos-para-o-responsavel-pelo- teste.html http://www.andrecelestino.com/bug-software-de-quem-e-culpa-parte-2/ http://imasters.com.br/desenvolvimento/gerencia-de-projetos/nao-reclame-de- software-ruim-para-o-desenvolvedor-a-culpa-e-dos-gerentes/?trace=1519021197 http://www.infoq.com/br/news/2011/06/dominando-requisitos-nfuncionais
  80. 80. Sites legais http://pt.slideshare.net/GTS-CE/ http://eliasnogueira.com/ http://bugs-busters.blogspot.com.br/ http://pt.slideshare.net/stefanteixeira/
  81. 81. Dvidas? about.me/liviagabos @liviagabos