Qualidade - Definindo uma estratégia para Mobile Apps

Qualidade - Definindo uma estratégia para Mobile Apps

Você já parou pra pensar o que realmente significa qualidade de software no seu projeto atual? Já pensou em que estratégia deveria abordar para conseguir a satisfação dos usuários? Claro que funcionalidade “funcionando” é muito importante, mas e além disso? Vamos conversar sobre como definir uma estratégia de qualidade para apps.

D0e2beb1970140f2b36a8aa334c068a8?s=128

Samanta Cicilia

November 22, 2018
Tweet

Transcript

  1. None
  2. Samanta Cicilia mãe da Luna QA Manager #Concrete INICIATIVAS http://agiletesters.com.br/

    https://www.facebook.com/totinitiative/ https://www.meetup.com/pt-BR/Ministry-of-Testing-Sao-P aulo/ https://www.meetup.com/pt-BR/Ministry-of-Testing-Rio-d e-Janeiro/ CONTATOS @samantacicilia samycici@gmail.com https://www.linkedin.com/in/samantacici/ https://samantacicilia.com/
  3. Estratégia de Qualidade Foco em Mobile Apps

  4. “If you release a new mobile app and get negative

    reviews right away, your app may never recover.” Harty, 2015 Testing and Test Automation for Mobile Phone Applications
  5. Mas o que é Qualidade?

  6. Qualidade??? - é percebida - feita de expectativas do seu

    usuário (que você não controla)
  7. Exemplos de Reviews

  8. None
  9. None
  10. None
  11. O que nós (como responsáveis pelo produto), queremos?

  12. None
  13. Mas o que é Qualidade?

  14. "Qualidade de um produto de software é formada por vários

    componentes" Lisa Crispin & Janet Gregory Agile Testing: A practical Guide for Testers and Agile Teams
  15. "Qualidade de um produto de software é formada por vários

    ̶ c̶o̶m̶p̶o̶n̶e̶n̶t̶e̶s̶ aspectos" Lisa Crispin & Janet Gregory Agile Testing: A practical Guide for Testers and Agile Teams
  16. "Qualidade de um produto de software é formada por vários

    ̶ c̶o̶m̶p̶o̶n̶e̶n̶t̶e̶s̶ ̶a̶s̶p̶e̶c̶t̶o̶s̶ atributos" Lisa Crispin & Janet Gregory Agile Testing: A practical Guide for Testers and Agile Teams
  17. TestSphere Quality Aspects - https://bit.ly/2KgdTGV

  18. "The totality of features and characteristics of a product or

    service that bear on its ability to satisfy stated or implied needs" ISO
  19. Qualidade de Produto de Software Funcionalidade -Completude -Corretude -Adequação -Co-existência

    -Interoperabilid ade -Adequabilidade reconhecida -Aprendizabilidade -Operabilidade -Proteção a erros -Estética da interface do usuário -Acessibilidade -Maturidade -Disponibilidade -Tolerância a Falha -Recuperabilida de -Modularidade -Reúso -Analisabilidade -Modificabilidade -Testabilidade -Adaptabilidade -Instalabilidade -Coexistência -Capacidade para substituir -Comportament o Temporal -Utilização de Recursos -Capacidade Performance Compatibilidade Usabilidade Confiabilidade Segurança Manutenibilidade Portabilidade -Confidencialidade -Integridade -Não repúdio -Autenticidade -Rastreamento ISO 25010 (antiga 9126)
  20. Wikipedia - Atributos de Qualidade

  21. Eu tenho que me preocupar com tudo isso então?

  22. None
  23. None
  24. Pensando no exemplo do Facebook, que atributos vocês acham que

    são importantes?
  25. App Quality: Secrets for Agile App Teams - https://www.applause.com/ analysis

    Por Notas Aparecem com frequência
  26. App Quality: Secrets for Agile App Teams - https://www.applause.com/ analysis

    Por Notas Aparecem com frequência
  27. App Quality: Secrets for Agile App Teams - https://www.applause.com/ analysis

    Por Notas Aparecem com frequência Oportunidade de Diferencial
  28. A solução é montar uma estratégia focada nos atributos

  29. Definindo a estratégia

  30. "Because of mobile’s omnipresence and the fact that many daily

    situations rely on flawless app experiences, it is necessary to take the time to choose the proper mobile testing approach." Daniel Knott How to Create a Mobile Testing Strategy in three steps
  31. Passos para definir: - Conhecer o usuário e entender suas

    necessidades - Definir os atributos de qualidade que fazem sentido e priorizá-los - Definir a abordagem de testes - Implementar Continuous Testing
  32. Atributos/Componentes/Características Definindo a Estratégia desafios de Mobile

  33. Atributos/Componentes/Características - App Quality: Secrets for Agile App Teams INTEROPERABILIDADE

    ESTABILIDADE ELEGÂNCIA PERFORMANCE CONTEÚDO PRIVACIDADE SEGURANÇA USABILIDADE
  34. - O conteúdo é próprio ou de terceiros? - Garantir

    que o conteúdo esteja sempre atualizado - Monitorar as APIs - Garantir que a atualização não consome bateria demais - Retentativa em caso de conteúdo quebrado (Resiliência) - Cacheamento - Localização - Input/Output - Perda de dados - Problemas de download de conteúdo CONTEÚDO "Tell the user if they are offline, and ask them to reconnect, instead of showing them articles from 5 days ago." - Jason Arbon
  35. - Peça apenas as permissões que seu app realmente precisa

    - Teste se ao desinstalar o app, os dados são deletados do device - Garanta que o usuário consegue mudar as permissões - Informe para quê o app precisa dessas permissões - Construa confiança "The more you ask about the user, the more paranoid and skeptical they become. The more you know about the user, their location, friends, messages, the more convenient and smarter your app appears." - Jason Arbon PRIVACIDADE
  36. - Complexidade: interação com lâmpadas, eletrodomésticos, Google Glass, relógios, carro

    - Bluetooth, outros hardwares? - Dispositivos de áudio - Copiar/Colar a partir de outros apps - Camêra: o que acontece se você tentar usar o seu app e algum outro que também acesse a câmera? - Notificações (seu app em foco, ativo em background, não executando - tentar aceitar as notificações com o device bloqueado, desbloqueado e utilizando outro app) - Localizacão "If the app leverages social networking services like Facebook, try the app with Facebook installed and not logged in, installed and logged in, and not installed." - Jason Arbon INTEROPERABILIDADE
  37. - Diferentes tipos de rede: LTE, 3G, 4G, Wi-Fi -

    Garantir a performance em devices mais antigos (de acordo com a sua base de usuários) e ter um limite mínimo - Lembre que no mundo real o usuário irá ter vários outros apps, áudios, vídeos, fotos e isso pode comprometer a performance do seu app - Performance ponta-a-ponta - Cache - Async - Tenha metas de performance, elas devem ser um conjunto de decisões de UX e desenvolvimento, siga essas metas para todas as features e sprint “If an end user perceives bad performance from your website/app, her next click will likely be on your-competition.com.” Ian Molyneaux, The Art of Application Performance Testing: From Strategy to Tools PERFORMANCE
  38. - Redes móveis (on/off, lenta, Wi-Fi pública, mudar entre LTE

    - 3G - Wi-Fi) - Retrato/Paisagem - Fragmentação dos devices - Estado do device - Localização - Experiência do usuário - Responsividade - Distribuição - Condições precárias de memória - Devices antigos - Muitos apps rodando em background - Receber uma chamada no meio do uso do app - Atualizações de Versão "Depois de atualizar, não dá mais para ver o feed de postagens", usuário Facebook ESTABILIDADE
  39. - Relação com a sua marca - Guidelines de cada

    plataforma - Tablets X Smartphones - Tamanhos de Tela - Se adaptar a diferentes realidades: brilho do ambiente, usar o app com uma mão, andando - Gestos comuns de smartphone: zoom in-out, multitouch, Pinch, pan, tap, swipe, rotate, and press and find out "Minimizing typing reduces user frustration, ambiguity, and speeds them to their goal whether it is cool news stories, calling a cab, sharing a web page, or sharing their high score. Just say no to typing.", Jason Arbon ELEGÂNCIA
  40. - OWASP Top 10 - Criptografia - Ofuscação de Código

    - TLS - Autenticação - Autorização - Tentar interceptar e modificar requisições - Análise estática de Segurança "Security is everything from user names and passwords, data protection, malware, and hacking.", Jason Arbon SEGURANÇA
  41. - Acessibilidade: - voice over/talkback - invert colors - larger

    texts - button shapes - audio - Faça testes com o usuário "... building the app for your user, not building it for you", Jason Arbon USABILIDADE
  42. Jason Arbon App Quality: Secrets for Agile App Teams "An

    app's quality isn't confined to its functional correctness. The quality of an app is ultimately measured in how engaged the users are, what they purchase via the app, and how it contributes to internal company KPIs."
  43. Pontos Críticos em Apps Definindo a Estratégia desafios de Mobile

  44. Crashs Quantidade de Devices Fragmentação & SOs Emulador X Real

    Nativo X Híbrido X Web App Visibilidade sobre os erros em Produção Lentidão Privacidade Usabilidade
  45. Abordagem de Testes Definindo a Estratégia

  46. Abordagem de Testes Quadrante de Testes Ágeis

  47. More Agile Testing - GREGORY, Janet & CRISPIN, Lisa Guiar

    o desenvolvimento Negócio Tecnologia Criticar o produto Q1 Q4 Q2 Q3 Exemplos Testes A/B Testes de UX Protótipos Simulações Testes Exploratórios Workflows Integração de Sistemas (orientado a negócio) Testes de Usabilidade Testes de Aceite do Usuário Testes de Unidade Testes de Componente Testes de API Testes de Conectividade Testes de Performance Testes de Carga Testes de Segurança Atributos de Qualidade (disponibilidade, interoperabilidade, acessibilidade, recuperabilidade)
  48. Abordagem de Testes PirâmideS Mobile Testing

  49. https://martinfowler.com/bliki/TestPyramid.html Unitários Serviço UI

  50. Use Layered Testing to Enable Continuous Delivery of Digital Business

    Capabilities - Gartner Classes, Componentes de Base de Dados Sub-sistemas e Serviços Apresentação Layout Adaptabilidade Isolamento Configuração Dados Funcional Integração Performance Segurança
  51. Pirâmide Invertida - https://www.simform.com/mobile-app-testing/ Manual End-to-End (UI) Beta Tests Unitários

    Alta Performance Feedback Cedo Confiável
  52. Por nível de execução - http://www.naveenautomationlabs.com/2018/02/the-mobile-testing-pyramid.html Browsers Emuladores/ Simuladores Devices

    Reais Devices Reais Testes de Sistema e Design Responsivo Fluxos end-to-end Testes Visuais e de Usabilidade Condições da Vida Real: GPS, câmera, NFC
  53. Google Developer - https://developer.android.com/training/testing/fundamentals Small Medium Large

  54. Com Chaos Testing - https://medium.com/mobile-quality/testing-pyramid-bd2f5338b634 Unitários Baseados em Propriedade UI/

    Aceitação Chaos Manual
  55. Reimaginada como um bug filter - https://bit.ly/2TpzNMh

  56. Ferramentas Definindo a Estratégia desafios de Mobile

  57. Testes Automatizados JUnit Espresso Jacoco KLint Appium Testes Unitários Testes

    Instrumentados Relatório de Cobertura Lint Testes Funcionais Quick & Nimble KIF Slather Swift Lint Appium
  58. Emuladores & Devices Reais - Testes Funcionais ponta-a-ponta - Integração

    com API Nativa (anexar arquivos, injeção de GPS) - Visual - Interações de touch - Usabilidade - Integração com API Nativa (câmera, bluetooth) - Visual - Performance (CPU, memória, bateria) Emulador Device
  59. Crash Report & Analytics Firebase GA New Relic Firebase GA

    New Relic
  60. Build & Distribuição Gradle Fabric Playstore Fastlane TestFlight App Store

  61. Continuous Testing Definindo a Estratégia desafios de Mobile

  62. Gartner Summits 2017 Renovate, Innovate and Unleash the Power of

    Digital Business “By 2020, DevOps initiatives will cause 50% of enterprises to implement continuous testing using frameworks and open-source tools.”
  63. Continuous Testing is a best practice approach for automated testing

    that allows you deliver quality software faster without compromising quality. By allowing you to test your apps at high speed and throughout the software lifecycle, Continuous Testing can help you avoid bottlenecks in your development process, all while keeping your users happy with flawless digital experiences.
  64. Resultados - acelerar os ciclos de Release - menos bugs

    em PRD - economia de tempo e dinheiro
  65. Elementos "core" 1 - Compromisso com a Cultura de Qualidade

    2 - Testar em cada estágio do Ciclo de Desenvolvimento 3 - Usar as melhores ferramentas para automação 4 - Use uma plataforma de execução de teste que ofereça cobertura abrangente 5 - Escalar a infra conforme a necessidade 6 - Ter visibilidade da sua eficiência de teste
  66. https://www.blazemeter.com/shiftleft/continuous-testing-next-step-software-lifecycle-evolution

  67. https://www.ibm.com/developerworks/library/d-continuous-testing-shift-left-trs/index.html

  68. https://danashby.co.uk/2016/10/19/continuous-testing-in-devops/

  69. https://goo.gl/pbkVTd - Build pipeline: release your web and mobile app

    at the push of a button
  70. KPIs Definindo a Estratégia desafios de Mobile

  71. KPIs KPIs Performance UX Audiência Engajamento Receita Crash Rate App

    Load Time Latência da API Devices usados Localização Resultados de Busca Duração da Sessão Intervalo das Sessões PV por sessão Nota do App Gestos diferentes Retensão e Abandono
  72. Por fim ...

  73. None
  74. https://syndicode.com/2018/05/03/12-software-architecture-quality-attributes/ https://www.ministryoftesting.com/dojo/lessons/modern-testing-principles https://hackernoon.com/quality-attributes-in-software-architecture-3844ea482732 https://www.applause.com/blog/how-to-create-a-mobile-testing-strategy-in-three-steps https://en.m.wikipedia.org/wiki/List_of_system_quality_attributes http://iso25000.com/index.php/en/iso-25000-standards/iso-25010 https://martinfowler.com/articles/practical-test-pyramid.html https://www.owasp.org/index.php/OWASP_Mobile_Security_Testing_Guide https://saucelabs.com/blog/mobile-application-security-testing https://dzone.com/articles/top-kpis-for-mobile-apps

    https://www.simform.com/mobile-app-testing/ http://www.naveenautomationlabs.com/2018/02/the-mobile-testing-pyramid.html https://medium.com/mobile-quality/testing-pyramid-bd2f5338b634 https://infiniteundo.com/post/158179632683/abandoning-the-pyramid-of-testing-in-favor-of-a https://saucelabs.com/continuous-testing https://www.ibm.com/developerworks/library/d-continuous-testing-shift-left-trs/index.html https://www.amazon.com/App-Quality-Secrets-Agile-Teams-ebook/dp/B00JVAR7EM Fotos: https://unsplash.com/ e https://pixabay.com Referências
  75. NÓS MOVEMOS O MUNDO. Centro Av. Presidente Wilson, 231 29º

    andar (21) 2240-2030 Cidade Monções Av. Nações Unidas, 11.541 3º andar (11) 4119-0449 Savassi Av. Getúlio Vargas, 671 Sala 800 - 8º andar (31) 3360-8900 Ilha do Leite Rua Sen. José Henrique, 199 2º andar (81) 3018-6299 WWW.CONCRETE.COM.BR