Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Qualidade - Definindo uma estratégia para Mobil...

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.

Samanta Cicilia

November 22, 2018
Tweet

More Decks by Samanta Cicilia

Other Decks in Technology

Transcript

  1. 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 [email protected] https://www.linkedin.com/in/samantacici/ https://samantacicilia.com/
  2. “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
  3. "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
  4. "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
  5. "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
  6. "The totality of features and characteristics of a product or

    service that bear on its ability to satisfy stated or implied needs" ISO
  7. 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)
  8. App Quality: Secrets for Agile App Teams - https://www.applause.com/ analysis

    Por Notas Aparecem com frequência Oportunidade de Diferencial
  9. "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
  10. 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
  11. Atributos/Componentes/Características - App Quality: Secrets for Agile App Teams INTEROPERABILIDADE

    ESTABILIDADE ELEGÂNCIA PERFORMANCE CONTEÚDO PRIVACIDADE SEGURANÇA USABILIDADE
  12. - 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
  13. - 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
  14. - 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
  15. - 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
  16. - 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
  17. - 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
  18. - 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
  19. - 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
  20. 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."
  21. 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
  22. 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)
  23. 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
  24. 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
  25. 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
  26. 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
  27. 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.”
  28. 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.
  29. Resultados - acelerar os ciclos de Release - menos bugs

    em PRD - economia de tempo e dinheiro
  30. 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
  31. 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
  32. 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
  33. 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