Mobile testing workshop - TechMeetup Uruguay

Preview:

Citation preview

Ing. Fabián Baptista

@fbaptista

Ing. Matías Reina

@mellimatias

Mobile Testing# meetupUy

Ing. Fabián Baptista

@fbaptista

Workshop

Ing. Matías Reina

@mellimatias

#meetupUy

Agenda

Panorama

Fifa App - Round 1

Test Tips & advices

Fifa App – Round 2

¿Qué saber?

Tools & Resources

Foco Nativas

Android

PanoramaApproach

World Quality Report

Budget

Market

Success rate

• Multiples dispositivos / HW / pantallas

• Multiples versiones de OS

• Complejas interacción/paradigama del usuario

• Clientes exigentes – Marketplace rating

• Privacidad y Seguridad

• La performance es todo

• Red: wifi vs Carriers

Desafios

Testing Budget

Budget

Mobile Testing

Mobile Testing

Test Challenge

Tips (Functional Testing)Conocer el Paradigma

Conocer la Fragmentación

Native, Web, Hybrid

Usar Checklists

Paradigma

iOS y Android

Integración en Android

Design

• No hagan pensar a los usuarios– Darle un prototipo a un sobrino de 12 o la abuela de 60 no

es para nada una mala idea.

• Reducir al mínimo los inputs – Usar Cbox, lists y controles adecuados

– InputTypes (Numeric, Email, URL)

• Usar las convenciones de interfaz– iOS Human Interface Guidelines

– Android User Interface Guidelines

Programming

• Go Native!

• Configurar API Level / Deployment Target

– Think in the real market

– Test in your target • Performance

• Layout

Diversidad iOS

Source: https://developer.apple.com/support/appstore/

Diversidad Android

Source: https://developer.android.com/about/dashboards

Diversidad Android

Source: https://developer.android.com/about/dashboards

“The Android operating system is the most fragmented it has ever been.”

Source: http://opensignal.com

Source: http://opensignal.com

Tip - Elegir Devices

• Olvídense de los emuladores para testing, son útiles para desarrollo.

• No confíen en las analytics de sitios web

• Armar tabla OSversions + screen size

• Mínimo: Entre 5 y 10 devices

Tip - Elegir Devices

• Luego empezar por riesgo: + Usados

Tip - Elegir Devices

• Luego empezar por riesgo: - Recursos

Tip - Elegir Devices

• Al menos 1 “gama baja” y 1 “gama alta”

Smart Devices Aproach

@OpenDeviceLabUy

Emuladores?

• White paper from tcs.com: Mobile application testing

Dispositivo (Red de datos)

Dispositivo (Wi-Fi + Simulador de red)

Emuladores

Nativas, web o

hibridas?

Checklists

• Puedo desinstalarla y volver a instalarla?

• Pide la aplicación para prender wifi o los datos?

• Funciona offline?

• Funcionan bien los gestos en las distintas pantallas

– Swipe, zoom, pinch, multitouch, shake, orintation

• Sensores

– Cámara, funciona ok?

• Integración con otras aplicaciones

Interrupciones

• Llamadas

• Mensajes

• App notificaciones

• Low batery warning

• Cambiar entre aplicaciones

• Bloquear y desbloquear

• Escuchar música en paralelo

• Levantar otras aplicaciones para lograr dejar el SO sin memoria

Checklists

• Round 2: Hacer testing de la misma APP usando

las checklist que fueron entregadas en format

impreso

http://monkop.com

Hallazgos

• Ronda de hallazgos y discusión de incidentes

Tips (Performance &

Networking & More)Networking

Performance

Automation

Tools

Networking - Dev

• Usar Cache – Cuidado con I/O

• Minimizar el Payload

• Adaptar contenido a las pantallas (dpi)

• Usar puertos standard (Mail: 25, 143, 465, 993 or 995 HTTP: 80 or 443 SFTP: 22)

Networking - Dev

Networking - Test

• Connection test: Wifi / LTE / 3G / Offline

– NLC for iOS (Dev)

– Use Tools

• Testing específico para aplicaciones “parcialmente

conectadas”. (Sync)

Performance Dev

• Desde el inicio

• Establecer un standard de tiempo de respuesta

máximo (ej. 3s)

– Gold Standard era 6s, luego 3s, Google apunta a 1s.

• API Level – Deployment target

• Usar Checklists

Performance

• +60% de los problemas son de performance, no

funcionales.

• Gold Standard era 6s, luego 3s, Google apunta a

1s.

• El usuario espera que en su móvil funcione mejor

que en us PC

Load Testing (Servicios)

• Por lo general es mucho más fácil que en Web (poner IMG)

• Tools:

– Para HTTP usar Fiddler

– Luego convertir a OpenSTA, Jmeter o LoadUI

Load Testing

Herramientas

Automation

• Más complejo que en Web

• Priorizar los servicios (y

UItest)

• Testeability (Code)

• Robotización no «remote desktop»

• Gran variedad de dispositivos

• Como funciona:

1. Elegir dispositivos y reservarlos

2. Instalarse la aplicación en cada dispositivo

3. Probar! Se tiene control total

Device Anyware

Device Anyware

Monkop Results

Community

#5+300+

100+ http://www.meetup.com/Testing-Uy/

http://opendevicelab.com

107 Open Device Labs

across 26 countries

2593 devices accessible

http://testing.uy

Mosaic

Thank you

Recommended