Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

Samanta Cicilia mãe da Luna QA Manager #Concrete viajante #diversidade #ministryOfTesting INICIATIVAS Agile Testers ToT MoT RJ MoT SP CONTATOS @samantacicilia https://samantacicilia.com/ https://www.linkedin.com/in/samantacici/

Slide 3

Slide 3 text

Estratégia de Qualidade Foco em Mobile Apps

Slide 4

Slide 4 text

“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

Slide 5

Slide 5 text

Mas o que é Qualidade?

Slide 6

Slide 6 text

Qualidade??? - é percebida - feita de expectativas do seu usuário (que você não controla)

Slide 7

Slide 7 text

Exemplos de Reviews

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

O que nós (como responsáveis pelo produto), queremos?

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

Mas o que é Qualidade?

Slide 14

Slide 14 text

"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

Slide 15

Slide 15 text

"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

Slide 16

Slide 16 text

"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

Slide 17

Slide 17 text

TestSphere Quality Aspects - https://bit.ly/2KgdTGV

Slide 18

Slide 18 text

"The totality of features and characteristics of a product or service that bear on its ability to satisfy stated or implied needs" ISO

Slide 19

Slide 19 text

Qualidade de Produto de Software Funcionalidade -Completude -Corretude -Adequação -Co-existência -Interoperabilidade -Adequabilidade reconhecida -Aprendizabilidade -Operabilidade -Proteção a erros -Estética da interface do usuário -Acessibilidade -Maturidade -Disponibilidade -Tolerância a Falha -Recuperabilidade -Modularidade -Reúso -Analisabilidade -Modificabilidade -Testabilidade -Adaptabilidade -Instalabilidade -Coexistência -Capacidade para substituir -Comportamento 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)

Slide 20

Slide 20 text

Wikipedia - Atributos de Qualidade

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

Pensando no exemplo do Facebook, que atributos vocês acham que são importantes?

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

A solução é montar uma estratégia focada nos atributos

Slide 29

Slide 29 text

Definindo a estratégia

Slide 30

Slide 30 text

"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

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

Atributos/Componentes/Características Definindo a Estratégia desafios de Mobile

Slide 33

Slide 33 text

Atributos/Componentes/Características - App Quality: Secrets for Agile App Teams INTEROPERABILIDADE ESTABILIDADE ELEGÂNCIA PERFORMANCE CONTEÚDO PRIVACIDADE SEGURANÇA USABILIDADE

Slide 34

Slide 34 text

- 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

Slide 35

Slide 35 text

- 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

Slide 36

Slide 36 text

- 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

Slide 37

Slide 37 text

- 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

Slide 38

Slide 38 text

- 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

Slide 39

Slide 39 text

- 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

Slide 40

Slide 40 text

- 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

Slide 41

Slide 41 text

- 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

Slide 42

Slide 42 text

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."

Slide 43

Slide 43 text

Pontos Críticos em Apps Definindo a Estratégia desafios de Mobile

Slide 44

Slide 44 text

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

Slide 45

Slide 45 text

Abordagem de Testes Definindo a Estratégia

Slide 46

Slide 46 text

Abordagem de Testes Quadrante de Testes Ágeis

Slide 47

Slide 47 text

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)

Slide 48

Slide 48 text

Abordagem de Testes PirâmideS Mobile Testing

Slide 49

Slide 49 text

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

Slide 50

Slide 50 text

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

Slide 51

Slide 51 text

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

Slide 52

Slide 52 text

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

Slide 53

Slide 53 text

Google Developer - https://developer.android.com/training/testing/fundamentals Small Medium Large

Slide 54

Slide 54 text

Com Chaos Testing - https://medium.com/mobile-quality/testing-pyramid-bd2f5338b634 Unitários Baseados em Propriedade UI/ Aceitação Chaos Manual

Slide 55

Slide 55 text

Reimaginada como um bug filter - https://bit.ly/2TpzNMh

Slide 56

Slide 56 text

Ferramentas Definindo a Estratégia desafios de Mobile

Slide 57

Slide 57 text

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

Slide 58

Slide 58 text

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

Slide 59

Slide 59 text

Crash Report & Analytics Firebase GA New Relic Firebase GA New Relic

Slide 60

Slide 60 text

Build & Distribuição Gradle Fabric Playstore Fastlane TestFlight App Store

Slide 61

Slide 61 text

Continuous Testing Definindo a Estratégia desafios de Mobile

Slide 62

Slide 62 text

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.”

Slide 63

Slide 63 text

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.

Slide 64

Slide 64 text

Resultados - acelerar os ciclos de Release - menos bugs em PRD - economia de tempo e dinheiro

Slide 65

Slide 65 text

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

Slide 66

Slide 66 text

https://www.blazemeter.com/shiftleft/continuous-testing-next-step-software-lifecycle-evolution

Slide 67

Slide 67 text

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

Slide 68

Slide 68 text

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

Slide 69

Slide 69 text

https://goo.gl/pbkVTd - Build pipeline: release your web and mobile app at the push of a button

Slide 70

Slide 70 text

KPIs Definindo a Estratégia desafios de Mobile

Slide 71

Slide 71 text

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

Slide 72

Slide 72 text

Por fim ...

Slide 73

Slide 73 text

No content

Slide 74

Slide 74 text

Estratégia de Testes

Slide 75

Slide 75 text

No content

Slide 76

Slide 76 text

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

Slide 77

Slide 77 text

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