O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Cultura de testes em times mobile

Apresentação realizada no dia 13 de Setembro, durante a Agile Brazil 2017, Belém - Pará.

  • Entre para ver os comentários

Cultura de testes em times mobile

  1. 1. cultura de testes em times mobile Ramon Rabello Software Engineer, Colab
  2. 2. Ramon Rabello about.me/ramonrabello Falo “Égua!” Comunidades Senior Android Software Engineer ~10 anos
  3. 3. Disclaimer: As opiniões sobre testes nesta apresentação são do palestrante e não da empresa. “ “
  4. 4. ? O que aprendemos sobre Testes
  5. 5. Garantir que determinada feature do sistema funcione como esperada. “ “
  6. 6. “ “ Garantia de que mudanças não quebre funcionalidades já existentes. quebrem
  7. 7. “ “ Garantia de qualidade do seu sistema com menor probabilidade de erros.
  8. 8. ? O que ouvimos na prática
  9. 9. “ “Testar dá trabalho.
  10. 10. “ “Não tenho tempo para criar testes!
  11. 11. “ “Testar é perda de tempo. Ou eu implemento ou testo!
  12. 12. “ “Ah, eu commitei o código. Só faltou testar!
  13. 13. “ “Não entendo o motivo de simular cenários que o usuário nunca irá executar!
  14. 14. Mas o importante é entregar no prazo!
  15. 15. E quando sobe a build, você comemora o/
  16. 16. Mas erros acontecem em produção
  17. 17. E você fica sem entender
  18. 18. Os usuários insatisfeitos
  19. 19. E o cliente…p***
  20. 20. ? Desafios para uma cultura de testes
  21. 21. “ “Nem sempre é trivial testar código legado
  22. 22. “ “Arquiteturas muito acopladas dificultam os testes
  23. 23. “ “Você pode enfrentar resistências dentro do seu próprio time
  24. 24. “ “Mudança para um mindset ágil pode ser rápido ou demorar
  25. 25. “ “Garantir que sua app irá executar na maioria dos dispositivos
  26. 26. ? Continuous Delivery Mobile Pipeline
  27. 27. Branching Criação de branches para cada funcionalidade/fixes que entrarão para a próxima versão do app
  28. 28. Coding Implementação das features que estarão inclusas na próxima versão do app
  29. 29. Pull Requests Para cada feature, é criado um pull request para aprovação
  30. 30. CI para Testes Assim que um push é realizado, o CircleCI inicia a execução de testes unitários, instrumentados (UI Tests) e de aceitação
  31. 31. Code Reviews Outras pessoas do time realizam o code review de acordo com alguns guidelines de qualidade
  32. 32. Branch Merge Depois do code review, se não tiver nenhum rework, o merge da feature branch é realizado.
  33. 33. Staging build Depois do merge, o CircleCI gera builds em staging para fins de testes internos do time, clientes e envolvidos.
  34. 34. Launchpad Tarefas de pré-lançamento são realizadas pelos sistemas de build das apps, como incremento da versão, geração de release notes, assinatura, snapshots.
  35. 35. Publishing Assim que a build tiver sido gerada, uma nova versão (de acordo com a fase de build) estará disponível na loja 4.2.0
  36. 36. Publishing Assim que a build tiver sido gerada, uma nova versão (de acordo com a fase de build) estará disponível na loja 4.2.0ATUALIZAR ATUALIZAR
  37. 37. master 4-1-1 dev1/notifications dev2/new-gallery dev3/surveys-fixes production branch next version branch feature branch merge merge CI tasks & Web hooks
  38. 38. ? Para acompanhar a evolução das apps
  39. 39. ? Como estamos hoje
  40. 40. “ “96%+ crash free
  41. 41. “ “Maior cobertura de testes
  42. 42. “ “Testes fazem parte do DoD
  43. 43. “ “Testes “na mão” não são mais uma dor de cabeça
  44. 44. “ “Arquitetura mais reativa e menos acoplada (MVP + Kotlin + RxJava)
  45. 45. Colab A rede social para a cidadania Participe de consultas públicas Seja o fiscal da sua cidade Ajude a melhorar sua cidade! http://colab.re
  46. 46. Saiba mais Mobile Continuous Integration - CircleCI AWS Device Farm https://aws.amazon.com https://circleci.com/mobile/ Yahoo Flurry https://y.flurry.com/ Crashlytics https://try.crashlytics.com/
  47. 47. ? Dúvidas
  48. 48. Obrigado! about.me/ramonrabello Faça parte do Tá Safo! slack.tasafo.org/ Faça parte do agilidade.org agilidade.typeform.com/to/A80enI

×