Post on 11-Jul-2015
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