lecciones aprendidas desarrollando una plataforma de mobile monkey testing
DESCRIPTION
Las técnicas de monkey testing generalmente implican la ejecución de estímulos aleatorios sobre un sistema bajo pruebas con el único propósito de buscar situaciones de crash. Usar este tipo de técnicas es bastante barato, y además es posible conseguir información de valor sobre aspectos de calidad en forma temprana. Típicamente, las herramientas existentes que usan estas técnicas son capaces de proveer información relacionada a robustez, mostrando la secuencia de pasoso ejecutada y los datos de entrada, y tal vez como información adicional el log del sistema. Es bastante complicado para el desarrollador o el tester el encontrar la causa raíz, o reducir la cantidad de pasos necesarios para reproducir las situaciones de error detectadas. Implementar este tipo de herramientas no es trivial, más si consideramos que las aplicaciones móviles y el testing de las mismas es algo que tiene muy pocos años de desarrollo. Aquí compartimos nuestra experiencia de implementar una plataforma opensource para pruebas de aplicaciones móviles usando monkey testing, buscando facilitar el uso y maximizar el beneficio de la información a obtener. Esto incluye desde la automatización de la exploración de un producto, la identificación automática de errores y hasta la obtención de métricas útiles para un desarrollador, y que le sirvan para detectar oportunidades de mejora y reducir así el riesgo de la liberación al mercado. Hemos enfrentado diferentes problemas y desafíos, y así identificamos una serie de beneficios y desventajas de usar estas técnicas para este tipo de plataforma en particular que queremos compartir con la audiencia.TRANSCRIPT
Lecciones Aprendidas Desarrollando
una Plataforma de
MOBILE MONKEY TESTING
PhD. Federico Toledo
COO - Abstracta
ERRORES DE LA FIFA
12 y 13 de noviembre de 2014 Valencia, España 4
Errores de la FIFA
12 y 13 de noviembre de 2014 Valencia, España 5
Necesita mejoras
No está optimizada
Lenta
Se cae (crash)
Consume mucha red de datos
No es estable
Errores de la FIFA
12 y 13 de noviembre de 2014 Valencia, España 6
El approach que proponemos: Monkey Testing
Rápido y sin esfuerzo
1. www.monkop.com
2. Seleccionar la aplicación (APK)
3. Recibir reporte por e-mail
12 y 13 de noviembre de 2014 Valencia, España 7
Mientras el mono ejecuta…
Se capturan métricas, se observa el
comportamiento de la aplicación
• Performance
• Seguridad
• Robustez
• Buenas prácticas
12 y 13 de noviembre de 2014 Valencia, España 8
Explorando la app de FIFA
12 y 13 de noviembre de 2014 Valencia, España 9
Explorando otras aplicaciones
Encuentro GeneXus Marca Fotocasa La Liga VivaVideo
12 y 13 de noviembre de 2014 Valencia, España 10
Oportunidades de mejora detectadas
12 y 13 de noviembre de 2014 Valencia, España 11
Oportunidades de mejora detectadas
12 y 13 de noviembre de 2014 Valencia, España 12
Desafíos / Agenda
¿Dónde ejecutar?
Resultados: ¿Qué y cómo presentarlos?
¿DÓNDE EJECUTAR?
12 y 13 de noviembre de 2014 Valencia, España 14
¿Emuladores o
dispositivos?
12 y 13 de noviembre de 2014 Valencia, España 15
¿Puedo usar Emuladores?
White paper from tcs.com: Mobile application testing
Dispositivo (Red de datos)
Dispositivo (Wi-Fi + Simulador de red)
Emuladores
12 y 13 de noviembre de 2014 Valencia, España 16
¿Emuladores o
dispositivos?
12 y 13 de noviembre de 2014 Valencia, España 17
Emuladores – Ventajas
• Reducir costos
12 y 13 de noviembre de 2014 Valencia, España 18
Emuladores – Desventajas
No son reales.
No se prueba la verdadera sensación del usuario al dispositivo.
No se puede medir la performance real del dispositivo.
No cuenta con implementaciones del fabricante
(tienen la implementación oficial de Android).
No cuenta con sensores reales.
No tienen plan de datos.
…
12 y 13 de noviembre de 2014 Valencia, España 19
Ok, probamos en dispositivos
Monkey: ¡En todos los que pueda!
oEl tiempo es finito
o¿Cómo seleccionar los dispositivos?
12 y 13 de noviembre de 2014 Valencia, España 20
Entonces, ¿qué dispositivos elijo?
Entre 5 y 10 dispositivos.
Selección basada en riesgo.
? ? ???
12 y 13 de noviembre de 2014 Valencia, España 21
Testing basado en Riesgo
Los
dispositivos
más
usados.
12 y 13 de noviembre de 2014 Valencia, España 22
Testing basado en Riesgo
Menos
recursos.
Los que no
hemos
probado.
Dispositivos
más nuevos.
12 y 13 de noviembre de 2014 Valencia, España 23
Selección de los dispositivos
¿Smartphones o tablets? ¿O ambos?
¿Variedad de tamaños de pantalla?
¿Se cuenta con al menos un gama
baja y un gama alta?
12 y 13 de noviembre de 2014 Valencia, España 24
Selección de los dispositivos más usados
12 y 13 de noviembre de 2014 Valencia, España 25
Diversidad en Android
Estadísticas iniciales proporcionadas por Android.
ohttp://developer.android.com/about/dashboards/index.html
12 y 13 de noviembre de 2014 Valencia, España 26
Diversidad iOS
Septiembre de 2014: 95% en
la versión anterior o superior
- 49% en iOS 7
- 46% en iOS 8
12 y 13 de noviembre de 2014 Valencia, España 27
Estadísticas solo al inicio
12 y 13 de noviembre de 2014 Valencia, España 28
Google Analytics – por SO
12 y 13 de noviembre de 2014 Valencia, España 29
¡Ojo con esto!
• ¿No será que estos son los dispositivos más
comunes porque no funcionan en el resto?
Google Analytics – por dispositivo
12 y 13 de noviembre de 2014 Valencia, España 30
Ok, ya sé qué dispositivos elijo
¿Todos vamos a comprar un set?
12 y 13 de noviembre de 2014 Valencia, España 31
12 y 13 de noviembre de 2014 Valencia, España 32
COMPARTIR: OpenDeviceLab.com
12 y 13 de noviembre de 2014 Valencia, España 33
Open Device Lab - Uruguay
• Donaciones de particulares:
– 4 Android gama baja
– 1 Android gama alta
– 1 iPhone
– 1 FirefoxOS
– 1 Tablet Android
• Convenios con proveedores.– Movistar
– Intel@OpenDeviceLabUY
12 y 13 de noviembre de 2014 Valencia, España 34
Open Device Lab
RESULTADOS:
¿QUÉ Y CÓMO
PRESENTARLOS?
12 y 13 de noviembre de 2014 Valencia, España 36
¿Qué métricas podemos tomar?
12 y 13 de noviembre de 2014 Valencia, España 37
¿Qué métricas aportan valor?
CPU
oDificultades para obtener estos datos.
Batería
o¿Cómo calcular este costo?
Memoria
oMe ayuda a determinar en qué móviles funcionará mi app.
Datos
oImportante para cuando no tengo Wi-fi.
Más...
12 y 13 de noviembre de 2014 Valencia, España 38
¿Cuándo reporto error?
Crash y excepciones.
12 y 13 de noviembre de 2014 Valencia, España 39
Crash / exceptions
12 y 13 de noviembre de 2014 Valencia, España 40
¿Cuándo reporto error?
¿Cómo establecer los umbrales aceptables?
oGuidelines de Android / Google.
Cantidad de activities
Cantidad de controles
Render time
Etc.
12 y 13 de noviembre de 2014 Valencia, España 41
Guidelines de Android / Google
12 y 13 de noviembre de 2014 Valencia, España 42
Guidelines de Android / Google
12 y 13 de noviembre de 2014 Valencia, España 43
Guidelines de Android / Google
12 y 13 de noviembre de 2014 Valencia, España 44
¿Cuándo reporto error?
¿Cómo establecer los umbrales aceptables?
oAnálisis propio:
CPU, importante que no se generen mesetas.
Datos: depende del tipo de aplicación.
Memoria: umbrales a definir por dispositivo y por versión del sistema
operativo.
12 y 13 de noviembre de 2014 Valencia, España 45
Oportunidades de mejora detectadas
12 y 13 de noviembre de 2014 Valencia, España 46
Oportunidades de mejora detectadas
12 y 13 de noviembre de 2014 Valencia, España 47
¿Cómo comunicamos esta información?
Necesidad de cuidar lo que decimos
Necesidad de cuidar cómo lo decimos
12 y 13 de noviembre de 2014 Valencia, España 48
Cuidado con lo que decimos
¿Qué pasa si no logra explorar mucho?
o¿Qué veredicto damos?
En ningún caso se está libre de errores.
Todos sabemos que si damos un veredicto y este está
mal, se perderá la confianza en el tester.
El desafío está en dar resultados confiables.
12 y 13 de noviembre de 2014 Valencia, España 49
Cuidado cómo lo decimos
Evaluación a través
de emociones.
oOportunidad
oPeligro
oPrecaución
Lecciones Aprendidas Desarrollando
una Plataforma de
MOBILE MONKEY TESTING
PhD. Federico Toledo
COO - Abstracta
¡¡GRACIAS!!
12 y 13 de noviembre de 2014 Valencia, España 51
PhD. Federico Toledo
COO – Abstracta (Uruguay)Doctor en Informática por la UCLM, en España. Ingeniero en Computación en
la Universidad de la República en Uruguay. Autor del libro “Introducción a las
Pruebas de Sistemas de Información”, publicado en abril de 2014. Cuenta con
más de 9 años de experiencia en el área de testing. Desde el año 2008 es uno de los cofundadores de la empresa Abstracta, dedicada a brindar servicios y
productos de pruebas y aseguramiento de calidad.
Datos de Contacto
@fltoledo
@abstractaQA
www.abstracta.com.uy
www.monkop.com