SlideShare una empresa de Scribd logo
1 de 52
Lecciones Aprendidas Desarrollando 
una Plataforma de 
MOBILE MONKEY TESTING 
PhD. Federico Toledo 
COO - Abstracta
ERRORES DE LA FIFA
Errores de la FIFA 
12 y 13 de noviembre de 2014 Valencia, España 4
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 5
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 6
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 7
Explorando la app de FIFA 
12 y 13 de noviembre de 2014 Valencia, España 8
Explorando otras aplicaciones 
Encuentro GeneXus Marca Fotocasa La Liga VivaVideo 
12 y 13 de noviembre de 2014 Valencia, España 9
Oportunidades de mejora detectadas 
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
Desafíos / Agenda 
¿Dónde ejecutar? 
Resultados: ¿Qué y cómo presentarlos? 
12 y 13 de noviembre de 2014 Valencia, España 12
¿DÓNDE EJECUTAR?
¿Emuladores o 
dispositivos? 
12 y 13 de noviembre de 2014 Valencia, España 14
¿Puedo usar Emuladores? 
Dispositivo (Red de datos) 
Dispositivo (Wi-Fi + Simulador de red) 
 White paper from tcs.com: Mobile application testing 
12 y 13 de noviembre de 2014 Valencia, España 15 
Emuladores
¿Emuladores o 
dispositivos? 
12 y 13 de noviembre de 2014 Valencia, España 16
Emuladores – Ventajas 
• Reducir costos 
12 y 13 de noviembre de 2014 Valencia, España 17
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 18
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 19
Entonces, ¿qué dispositivos elijo? 
Entre 5 y 10 dispositivos. 
? ? ? ? 
? 
 Selección basada en riesgo. 
12 y 13 de noviembre de 2014 Valencia, España 20
Testing basado en Riesgo 
12 y 13 de noviembre de 2014 Valencia, España 21 
Los 
dispositivos 
más 
usados.
Testing basado en Riesgo 
12 y 13 de noviembre de 2014 Valencia, España 22 
Menos 
recursos. 
Los que no 
hemos 
probado. 
Dispositivos 
más nuevos.
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 23
Selección de los dispositivos más usados 
12 y 13 de noviembre de 2014 Valencia, España 24
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 25
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 26
Estadísticas solo al inicio 
12 y 13 de noviembre de 2014 Valencia, España 27
Google Analytics – por SO 
12 y 13 de noviembre de 2014 Valencia, España 28
Google Analytics – por dispositivo 
¡Ojo con esto! 
• ¿No será que estos son los dispositivos más 
comunes porque no funcionan en el resto? 
12 y 13 de noviembre de 2014 Valencia, España 29
Ok, ya sé qué dispositivos elijo 
¿Todos vamos a comprar un set? 
12 y 13 de noviembre de 2014 Valencia, España 30
12 y 13 de noviembre de 2014 Valencia, España 31
COMPARTIR: OpenDeviceLab.com 
12 y 13 de noviembre de 2014 Valencia, España 32
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 
@OpenDeviceLabUY – Intel 
12 y 13 de noviembre de 2014 Valencia, España 33
Open Device Lab 
12 y 13 de noviembre de 2014 Valencia, España 34
RESULTADOS: 
¿QUÉ Y CÓMO 
PRESENTARLOS?
¿Qué métricas podemos tomar? 
12 y 13 de noviembre de 2014 Valencia, España 36
¿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 37
¿Cuándo reporto error? 
Crash y excepciones. 
12 y 13 de noviembre de 2014 Valencia, España 38
Crash / exceptions 
12 y 13 de noviembre de 2014 Valencia, España 39
¿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 40
Guidelines de Android / Google 
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
¿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 44
Oportunidades de mejora detectadas 
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
¿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 47
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 48
Cuidado cómo lo decimos 
Evaluación a través 
de emociones. 
oOportunidad 
oPeligro 
oPrecaución 
12 y 13 de noviembre de 2014 Valencia, España 49
¡¡GRACIAS!! 
Lecciones Aprendidas Desarrollando 
una Plataforma de 
MOBILE MONKEY TESTING 
PhD. Federico Toledo 
COO - Abstracta
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 
Federico.Toledo@abstracta.com.uy 
@fltoledo 
@abstractaQA 
www.abstracta.com.uy 
www.monkop.com 
12 y 13 de noviembre de 2014 Valencia, España 51
Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

Más contenido relacionado

Destacado

Evento CDA Abstracta - Perú 2015 - Testing de performance y testing automátic...
Evento CDA Abstracta - Perú 2015 - Testing de performance y testing automátic...Evento CDA Abstracta - Perú 2015 - Testing de performance y testing automátic...
Evento CDA Abstracta - Perú 2015 - Testing de performance y testing automátic...Federico Toledo
 
Jornada de Calidad 2015 (Universidad ORT, Buenos Aires, Argentina) - Mobile t...
Jornada de Calidad 2015 (Universidad ORT, Buenos Aires, Argentina) - Mobile t...Jornada de Calidad 2015 (Universidad ORT, Buenos Aires, Argentina) - Mobile t...
Jornada de Calidad 2015 (Universidad ORT, Buenos Aires, Argentina) - Mobile t...Federico Toledo
 
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...Abstracta
 
NetConfUy 2016 - Cómo asegurar la performance de aplicaciones móviles tanto e...
NetConfUy 2016 - Cómo asegurar la performance de aplicaciones móviles tanto e...NetConfUy 2016 - Cómo asegurar la performance de aplicaciones móviles tanto e...
NetConfUy 2016 - Cómo asegurar la performance de aplicaciones móviles tanto e...Federico Toledo
 
Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
 Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe... Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...Federico Toledo
 
Herramientas de testing apps android
Herramientas de testing apps androidHerramientas de testing apps android
Herramientas de testing apps androidSlashMobility.com
 
Pasos a seguir para crear un Proyecto
Pasos a seguir para crear un ProyectoPasos a seguir para crear un Proyecto
Pasos a seguir para crear un Proyectoonedirectionsm
 

Destacado (7)

Evento CDA Abstracta - Perú 2015 - Testing de performance y testing automátic...
Evento CDA Abstracta - Perú 2015 - Testing de performance y testing automátic...Evento CDA Abstracta - Perú 2015 - Testing de performance y testing automátic...
Evento CDA Abstracta - Perú 2015 - Testing de performance y testing automátic...
 
Jornada de Calidad 2015 (Universidad ORT, Buenos Aires, Argentina) - Mobile t...
Jornada de Calidad 2015 (Universidad ORT, Buenos Aires, Argentina) - Mobile t...Jornada de Calidad 2015 (Universidad ORT, Buenos Aires, Argentina) - Mobile t...
Jornada de Calidad 2015 (Universidad ORT, Buenos Aires, Argentina) - Mobile t...
 
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
 
NetConfUy 2016 - Cómo asegurar la performance de aplicaciones móviles tanto e...
NetConfUy 2016 - Cómo asegurar la performance de aplicaciones móviles tanto e...NetConfUy 2016 - Cómo asegurar la performance de aplicaciones móviles tanto e...
NetConfUy 2016 - Cómo asegurar la performance de aplicaciones móviles tanto e...
 
Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
 Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe... Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
 
Herramientas de testing apps android
Herramientas de testing apps androidHerramientas de testing apps android
Herramientas de testing apps android
 
Pasos a seguir para crear un Proyecto
Pasos a seguir para crear un ProyectoPasos a seguir para crear un Proyecto
Pasos a seguir para crear un Proyecto
 

Similar a Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

El tester no es un desarrollador - VLCTesting '14
El tester no es un desarrollador - VLCTesting '14El tester no es un desarrollador - VLCTesting '14
El tester no es un desarrollador - VLCTesting '14Víctor Gómez Adán
 
VLCTESTING-testeo-y-calidad-javascript-Jaime-Lopez
VLCTESTING-testeo-y-calidad-javascript-Jaime-LopezVLCTESTING-testeo-y-calidad-javascript-Jaime-Lopez
VLCTESTING-testeo-y-calidad-javascript-Jaime-LopezJaime L. López Carratalá
 
cómo medir lo inmensurable: real user experience
cómo medir lo inmensurable: real user experiencecómo medir lo inmensurable: real user experience
cómo medir lo inmensurable: real user experienceAlmudena Vivanco
 
VLCTesting 15 - Automatización de Testing de Movilidad. ¿Utopía o realidad?
VLCTesting 15 - Automatización de Testing de Movilidad. ¿Utopía o realidad?VLCTesting 15 - Automatización de Testing de Movilidad. ¿Utopía o realidad?
VLCTesting 15 - Automatización de Testing de Movilidad. ¿Utopía o realidad?Jose Antonio Rodriguez
 
Testing. La otra cara de la moneda: el desarrollador
Testing. La otra cara de la moneda: el desarrolladorTesting. La otra cara de la moneda: el desarrollador
Testing. La otra cara de la moneda: el desarrolladorFrancisco Sanchez Cid
 
Inspección y evaluación de calidad de producto software... talk is cheap, sho...
Inspección y evaluación de calidad de producto software... talk is cheap, sho...Inspección y evaluación de calidad de producto software... talk is cheap, sho...
Inspección y evaluación de calidad de producto software... talk is cheap, sho...excentia
 
VLCtesting 2013 - Comprobando y refutando las promesas del testing automatiza...
VLCtesting 2013 - Comprobando y refutando las promesas del testing automatiza...VLCtesting 2013 - Comprobando y refutando las promesas del testing automatiza...
VLCtesting 2013 - Comprobando y refutando las promesas del testing automatiza...Abstracta
 
Taller de conocimiento_face_1. este si es
Taller de conocimiento_face_1. este si esTaller de conocimiento_face_1. este si es
Taller de conocimiento_face_1. este si esJuan Lopera Taborda
 
Estudio sobre el software libre en los hogares españoles. 2011
Estudio sobre el software libre en los hogares españoles. 2011Estudio sobre el software libre en los hogares españoles. 2011
Estudio sobre el software libre en los hogares españoles. 2011CENATIC
 
Como asegurar la Calidad en dispositivos móviles...y no morir en el intento
Como asegurar la Calidad en dispositivos móviles...y no morir en el intentoComo asegurar la Calidad en dispositivos móviles...y no morir en el intento
Como asegurar la Calidad en dispositivos móviles...y no morir en el intentoVíctor Gómez Adán
 
Taller de conocimiento_face_1,_corregido[1]
Taller de conocimiento_face_1,_corregido[1]Taller de conocimiento_face_1,_corregido[1]
Taller de conocimiento_face_1,_corregido[1]Juan Lopera Taborda
 
Taller de conocimiento_face_1,_corregido[1]
Taller de conocimiento_face_1,_corregido[1]Taller de conocimiento_face_1,_corregido[1]
Taller de conocimiento_face_1,_corregido[1]Juan Lopera Taborda
 
Taller de conocimiento_face_1,_corregido[1]
Taller de conocimiento_face_1,_corregido[1]Taller de conocimiento_face_1,_corregido[1]
Taller de conocimiento_face_1,_corregido[1]Juan Lopera Taborda
 
0.2_El_reto_del_malvavisco.pdf
0.2_El_reto_del_malvavisco.pdf0.2_El_reto_del_malvavisco.pdf
0.2_El_reto_del_malvavisco.pdfVicente Ibarra
 

Similar a Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing (20)

El pequeño se hace mayor
El pequeño se hace mayor El pequeño se hace mayor
El pequeño se hace mayor
 
El tester no es un desarrollador - VLCTesting '14
El tester no es un desarrollador - VLCTesting '14El tester no es un desarrollador - VLCTesting '14
El tester no es un desarrollador - VLCTesting '14
 
Seminario Calabash - VLCTesting 2014
Seminario Calabash - VLCTesting 2014Seminario Calabash - VLCTesting 2014
Seminario Calabash - VLCTesting 2014
 
BDD en practica (seminario)
BDD en practica (seminario)BDD en practica (seminario)
BDD en practica (seminario)
 
VLCTESTING-testeo-y-calidad-javascript-Jaime-Lopez
VLCTESTING-testeo-y-calidad-javascript-Jaime-LopezVLCTESTING-testeo-y-calidad-javascript-Jaime-Lopez
VLCTESTING-testeo-y-calidad-javascript-Jaime-Lopez
 
cómo medir lo inmensurable: real user experience
cómo medir lo inmensurable: real user experiencecómo medir lo inmensurable: real user experience
cómo medir lo inmensurable: real user experience
 
VLCTesting 15 - Automatización de Testing de Movilidad. ¿Utopía o realidad?
VLCTesting 15 - Automatización de Testing de Movilidad. ¿Utopía o realidad?VLCTesting 15 - Automatización de Testing de Movilidad. ¿Utopía o realidad?
VLCTesting 15 - Automatización de Testing de Movilidad. ¿Utopía o realidad?
 
Testing. La otra cara de la moneda: el desarrollador
Testing. La otra cara de la moneda: el desarrolladorTesting. La otra cara de la moneda: el desarrollador
Testing. La otra cara de la moneda: el desarrollador
 
Inspección y evaluación de calidad de producto software... talk is cheap, sho...
Inspección y evaluación de calidad de producto software... talk is cheap, sho...Inspección y evaluación de calidad de producto software... talk is cheap, sho...
Inspección y evaluación de calidad de producto software... talk is cheap, sho...
 
VLCtesting 2013 - Comprobando y refutando las promesas del testing automatiza...
VLCtesting 2013 - Comprobando y refutando las promesas del testing automatiza...VLCtesting 2013 - Comprobando y refutando las promesas del testing automatiza...
VLCtesting 2013 - Comprobando y refutando las promesas del testing automatiza...
 
Estudio Navegantes en la red 2014
Estudio Navegantes en la red 2014Estudio Navegantes en la red 2014
Estudio Navegantes en la red 2014
 
Encuesta de AIMC a usuarios de internet en el 2013
Encuesta de AIMC a usuarios de internet en el 2013Encuesta de AIMC a usuarios de internet en el 2013
Encuesta de AIMC a usuarios de internet en el 2013
 
Taller de conocimiento_face_1. este si es
Taller de conocimiento_face_1. este si esTaller de conocimiento_face_1. este si es
Taller de conocimiento_face_1. este si es
 
Estudio sobre el software libre en los hogares españoles. 2011
Estudio sobre el software libre en los hogares españoles. 2011Estudio sobre el software libre en los hogares españoles. 2011
Estudio sobre el software libre en los hogares españoles. 2011
 
Como asegurar la Calidad en dispositivos móviles...y no morir en el intento
Como asegurar la Calidad en dispositivos móviles...y no morir en el intentoComo asegurar la Calidad en dispositivos móviles...y no morir en el intento
Como asegurar la Calidad en dispositivos móviles...y no morir en el intento
 
Proyecto(2)
Proyecto(2)Proyecto(2)
Proyecto(2)
 
Taller de conocimiento_face_1,_corregido[1]
Taller de conocimiento_face_1,_corregido[1]Taller de conocimiento_face_1,_corregido[1]
Taller de conocimiento_face_1,_corregido[1]
 
Taller de conocimiento_face_1,_corregido[1]
Taller de conocimiento_face_1,_corregido[1]Taller de conocimiento_face_1,_corregido[1]
Taller de conocimiento_face_1,_corregido[1]
 
Taller de conocimiento_face_1,_corregido[1]
Taller de conocimiento_face_1,_corregido[1]Taller de conocimiento_face_1,_corregido[1]
Taller de conocimiento_face_1,_corregido[1]
 
0.2_El_reto_del_malvavisco.pdf
0.2_El_reto_del_malvavisco.pdf0.2_El_reto_del_malvavisco.pdf
0.2_El_reto_del_malvavisco.pdf
 

Más de Abstracta

Abstracta-CDA - TESTING: Automatización y Performance - Herramientas para opt...
Abstracta-CDA - TESTING: Automatización y Performance - Herramientas para opt...Abstracta-CDA - TESTING: Automatización y Performance - Herramientas para opt...
Abstracta-CDA - TESTING: Automatización y Performance - Herramientas para opt...Abstracta
 
¿Por qué automatizar? y ¿por qué con GXtest?
¿Por qué automatizar? y ¿por qué con GXtest?¿Por qué automatizar? y ¿por qué con GXtest?
¿Por qué automatizar? y ¿por qué con GXtest?Abstracta
 
Herramientas de testing para aplicaciones GeneXus
Herramientas de testing para aplicaciones GeneXusHerramientas de testing para aplicaciones GeneXus
Herramientas de testing para aplicaciones GeneXusAbstracta
 
Mantenimiento y mejora continua de la performance de las aplicaciones
Mantenimiento y mejora continua de la performance de las aplicacionesMantenimiento y mejora continua de la performance de las aplicaciones
Mantenimiento y mejora continua de la performance de las aplicacionesAbstracta
 
GX23 - ¿Por qué correr cuando puedes testear?
GX23 - ¿Por qué correr cuando puedes testear?GX23 - ¿Por qué correr cuando puedes testear?
GX23 - ¿Por qué correr cuando puedes testear?Abstracta
 
GX23 - GXtest 2.0: Automatización de pruebas para la nueva generación de apl...
GX23 - 	GXtest 2.0: Automatización de pruebas para la nueva generación de apl...GX23 - 	GXtest 2.0: Automatización de pruebas para la nueva generación de apl...
GX23 - GXtest 2.0: Automatización de pruebas para la nueva generación de apl...Abstracta
 
Generación de pruebas de performance a partir de pruebas funcionales para sis...
Generación de pruebas de performance a partir de pruebas funcionales para sis...Generación de pruebas de performance a partir de pruebas funcionales para sis...
Generación de pruebas de performance a partir de pruebas funcionales para sis...Abstracta
 
Automatización GXtest - experiencias de uso
Automatización GXtest - experiencias de usoAutomatización GXtest - experiencias de uso
Automatización GXtest - experiencias de usoAbstracta
 
GXtest 2.0 - New features and tools
GXtest 2.0 - New features and toolsGXtest 2.0 - New features and tools
GXtest 2.0 - New features and toolsAbstracta
 

Más de Abstracta (9)

Abstracta-CDA - TESTING: Automatización y Performance - Herramientas para opt...
Abstracta-CDA - TESTING: Automatización y Performance - Herramientas para opt...Abstracta-CDA - TESTING: Automatización y Performance - Herramientas para opt...
Abstracta-CDA - TESTING: Automatización y Performance - Herramientas para opt...
 
¿Por qué automatizar? y ¿por qué con GXtest?
¿Por qué automatizar? y ¿por qué con GXtest?¿Por qué automatizar? y ¿por qué con GXtest?
¿Por qué automatizar? y ¿por qué con GXtest?
 
Herramientas de testing para aplicaciones GeneXus
Herramientas de testing para aplicaciones GeneXusHerramientas de testing para aplicaciones GeneXus
Herramientas de testing para aplicaciones GeneXus
 
Mantenimiento y mejora continua de la performance de las aplicaciones
Mantenimiento y mejora continua de la performance de las aplicacionesMantenimiento y mejora continua de la performance de las aplicaciones
Mantenimiento y mejora continua de la performance de las aplicaciones
 
GX23 - ¿Por qué correr cuando puedes testear?
GX23 - ¿Por qué correr cuando puedes testear?GX23 - ¿Por qué correr cuando puedes testear?
GX23 - ¿Por qué correr cuando puedes testear?
 
GX23 - GXtest 2.0: Automatización de pruebas para la nueva generación de apl...
GX23 - 	GXtest 2.0: Automatización de pruebas para la nueva generación de apl...GX23 - 	GXtest 2.0: Automatización de pruebas para la nueva generación de apl...
GX23 - GXtest 2.0: Automatización de pruebas para la nueva generación de apl...
 
Generación de pruebas de performance a partir de pruebas funcionales para sis...
Generación de pruebas de performance a partir de pruebas funcionales para sis...Generación de pruebas de performance a partir de pruebas funcionales para sis...
Generación de pruebas de performance a partir de pruebas funcionales para sis...
 
Automatización GXtest - experiencias de uso
Automatización GXtest - experiencias de usoAutomatización GXtest - experiencias de uso
Automatización GXtest - experiencias de uso
 
GXtest 2.0 - New features and tools
GXtest 2.0 - New features and toolsGXtest 2.0 - New features and tools
GXtest 2.0 - New features and tools
 

Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

  • 1. Lecciones Aprendidas Desarrollando una Plataforma de MOBILE MONKEY TESTING PhD. Federico Toledo COO - Abstracta
  • 3.
  • 4. Errores de la FIFA 12 y 13 de noviembre de 2014 Valencia, España 4
  • 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 5
  • 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 6
  • 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 7
  • 8. Explorando la app de FIFA 12 y 13 de noviembre de 2014 Valencia, España 8
  • 9. Explorando otras aplicaciones Encuentro GeneXus Marca Fotocasa La Liga VivaVideo 12 y 13 de noviembre de 2014 Valencia, España 9
  • 10. Oportunidades de mejora detectadas 12 y 13 de noviembre de 2014 Valencia, España 10
  • 11. Oportunidades de mejora detectadas 12 y 13 de noviembre de 2014 Valencia, España 11
  • 12. Desafíos / Agenda ¿Dónde ejecutar? Resultados: ¿Qué y cómo presentarlos? 12 y 13 de noviembre de 2014 Valencia, España 12
  • 14. ¿Emuladores o dispositivos? 12 y 13 de noviembre de 2014 Valencia, España 14
  • 15. ¿Puedo usar Emuladores? Dispositivo (Red de datos) Dispositivo (Wi-Fi + Simulador de red)  White paper from tcs.com: Mobile application testing 12 y 13 de noviembre de 2014 Valencia, España 15 Emuladores
  • 16. ¿Emuladores o dispositivos? 12 y 13 de noviembre de 2014 Valencia, España 16
  • 17. Emuladores – Ventajas • Reducir costos 12 y 13 de noviembre de 2014 Valencia, España 17
  • 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 18
  • 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 19
  • 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 20
  • 21. Testing basado en Riesgo 12 y 13 de noviembre de 2014 Valencia, España 21 Los dispositivos más usados.
  • 22. Testing basado en Riesgo 12 y 13 de noviembre de 2014 Valencia, España 22 Menos recursos. Los que no hemos probado. Dispositivos más nuevos.
  • 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 23
  • 24. Selección de los dispositivos más usados 12 y 13 de noviembre de 2014 Valencia, España 24
  • 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 25
  • 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 26
  • 27. Estadísticas solo al inicio 12 y 13 de noviembre de 2014 Valencia, España 27
  • 28. Google Analytics – por SO 12 y 13 de noviembre de 2014 Valencia, España 28
  • 29. Google Analytics – por dispositivo ¡Ojo con esto! • ¿No será que estos son los dispositivos más comunes porque no funcionan en el resto? 12 y 13 de noviembre de 2014 Valencia, España 29
  • 30. Ok, ya sé qué dispositivos elijo ¿Todos vamos a comprar un set? 12 y 13 de noviembre de 2014 Valencia, España 30
  • 31. 12 y 13 de noviembre de 2014 Valencia, España 31
  • 32. COMPARTIR: OpenDeviceLab.com 12 y 13 de noviembre de 2014 Valencia, España 32
  • 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 @OpenDeviceLabUY – Intel 12 y 13 de noviembre de 2014 Valencia, España 33
  • 34. Open Device Lab 12 y 13 de noviembre de 2014 Valencia, España 34
  • 35. RESULTADOS: ¿QUÉ Y CÓMO PRESENTARLOS?
  • 36. ¿Qué métricas podemos tomar? 12 y 13 de noviembre de 2014 Valencia, España 36
  • 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 37
  • 38. ¿Cuándo reporto error? Crash y excepciones. 12 y 13 de noviembre de 2014 Valencia, España 38
  • 39. Crash / exceptions 12 y 13 de noviembre de 2014 Valencia, España 39
  • 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 40
  • 41. Guidelines de Android / Google 12 y 13 de noviembre de 2014 Valencia, España 41
  • 42. Guidelines de Android / Google 12 y 13 de noviembre de 2014 Valencia, España 42
  • 43. Guidelines de Android / Google 12 y 13 de noviembre de 2014 Valencia, España 43
  • 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 44
  • 45. Oportunidades de mejora detectadas 12 y 13 de noviembre de 2014 Valencia, España 45
  • 46. Oportunidades de mejora detectadas 12 y 13 de noviembre de 2014 Valencia, España 46
  • 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 47
  • 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 48
  • 49. Cuidado cómo lo decimos Evaluación a través de emociones. oOportunidad oPeligro oPrecaución 12 y 13 de noviembre de 2014 Valencia, España 49
  • 50. ¡¡GRACIAS!! Lecciones Aprendidas Desarrollando una Plataforma de MOBILE MONKEY TESTING PhD. Federico Toledo COO - Abstracta
  • 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 Federico.Toledo@abstracta.com.uy @fltoledo @abstractaQA www.abstracta.com.uy www.monkop.com 12 y 13 de noviembre de 2014 Valencia, España 51

Notas del editor

  1. Estoy muy contento de estar acá de nuevo. El año pasado tuve el placer de participar con charla y en la mesa redonda en este evento, pero en ese entonces vivía por España. En marzo terminé el doctorado y me volví a Uruguay, donde me reintegré a tiempo completo en la empresa que formamos por el 2008, apuntando a temas de calidad y testing. Hoy estamos con un nuevo desafío que es el de desarrollar una plataforma para probar aplicaciones móviles, usando estrategias monkey testing. Hoy les quiero contar algunas cosas que hemos ido aprendiendo de esta experiencia en desarrollar aplicaciones de monkey testing.
  2. Para comenzar a hablerles del tema quiero presentarles primero al personaje principal, a Monkop (es este mono, haciendo referencia a monkey testing) Y además quiero hablarles de los errores de la fifa en el mundial que disfrutamos, o no tanto, este año que pasó.
  3. Y con errores de la fifa no me refiero a estos errores, ni sus sanciones, sino a otro tipo de errores
  4. Sino que a los errores que presentaba la aplicación del mundial de Brasil. Se trataba de una aplicación que permitía ver las estadísticas de los partidos en tiempo real, un monton de información muy bien presentada, muy linda, PERO…
  5. nos fijamos en el market y todos esos problemas estaban causando dolores de cabeza a los usuarios y por eso rankeaban negativamente impacto? la app de la fifa es linda, da info útil, pero anda mal    A quien no le pasa que se le cierra una app y no entienden porque? - Porque empresas grandes e importantes tienen apps con muy malas reviews Con nuestra herramienta de monkey testing pudimos anticipar todos los problemas que generó tantos usuarios insatisfechos.
  6. Como les comenté, utilizamos una estrategia de monkey testing. Supongo que todos aquí saben qué es monkey testing, pero por las dudas el concepto importante es que sea un test rápido y con bajo esfuerzo. En nuestro caso el usuario lo único que debe hacer es ir a una página, subir la aplicación y esperar el reporte….
  7. Esto es como darle la app a un mono, BÁSICAMENTE lo que hace es instalar la app en distintos dispositivos y explorarla en forma aleatorea, como si fuera un mono con un celular, Mientras ejecuta va tomando datos de cómo se va desempeñando el cellular, con respect a performance, seguridad, robustez, y si se siguen o no algunas buenas practicas definidas por google y por Android. Luego genera un reporte con toda esa información que se la da al desarrollador, Y NO SOLO CON PROBLEMAS, SINO CON INFO PARA SOLUCIONARLOS
  8. Lo que estamos apuntando a hacer es un mono inteligente, que reconozca elementos en las pantallas y pueda hacer clic en los botones, poner datos en los campos, si ve un video lo intenta reproducir, si ve un menú intenta ir recorriendo cada elemento del menú y así. Incluso es capaz de jugar juegos y pasar niveles. Ese es el diferencial de nuestro mono, la inteligencia.
  9. acá están los top de españa para android http://www.appannie.com/apps/google-play/top/spain/overall/
  10. Qué obtenemos de resultado? Un reporte que nos da primero un resumen de oportunidades de mejora detectadas. Incluye el video de la grabación, para conocer qué llegó a explorar el mono, y luego podemos ir viendo tanto detalle como se quiera.
  11. Por ejemplo viendo el comportamiento de cada métrica observada, acá vemos la memoria, también se puede ver el GC, el tráfico de red, CPU, hilos, consumo de batería, etc. Y asociar cada cosa que se ve anómala en estas gráficas con el momento preciso del video, y ver qué hizo el mono que generó ese comportamiento.
  12. emuladores: Ideal para etapa de desarrollo, demos de funcionalidades, etc. Primeras pruebas, o para pruebas básicas Dispositivos con wi-fi: Ideal para funcionalidades estables. Pruebas en distintos dispositivos. Pruebas de experiencia de usuario. Usando simuladores de red se puede probar qué pasaría con una red de datos, pero sin gastos. Dispositivo + red de datos Recomendado sólo para un pequeño conjunto de pruebas que apuntan a aspectos dependientes del operador de telefonía, cambios de red, etc.
  13. Reduce costos de dispositivos: Hoy: Pudiendo probar en cualquier tipo de dispositivo. No requieren mantenimiento. No se caen al piso, no se rompen. Mañana: Cuando cambien los modelos de celulares, simplemente se carga otra imagen de celular al emulador sin tener que cambiar los dispositivos.
  14. Si pruebo en mi celular, luego tenemos el clásico problema de “en mi máquina anda” lo vamos a sustituir por “en mi celular anda” Variedad de Sistemas operativos Versiones En Android variedad por fabricante Es fácil actualizar el SO, y el usuario espera que sus apps sigan funcionando igual
  15. Por ahí se cuenta que el número de dispositivos a probar es entre 5 y 10
  16. ¿Cuál es la versión más antigua que la aplicación debe soportar? Cuál es la última? Cuál es la que viene en el dispositivo más popular?
  17. Armin compartió por twitter esta información actualizada
  18. Las estadísticas sirven para el inicio cuando no sabemos nada de nuestros usuarios.
  19. Entonces: Necesito entre 5 y 10 dispositivos. Costo no despreciable: Inversión inicial. Mantenimiento. Los subutilizamos. ¿Alternativas?
  20. Contar que nosotros propusimos esto como una solución regional, animar a la gente a que lo haga en sus ciudades, colaborando entre las distintas empresas. ¿Deberían las universidades promover este tipo de espacios?
  21. (si es youtube, el user estará de acuerdo en consumir más datos para ver videos).
  22. (si es youtube, el user estará de acuerdo en consumir más datos para ver videos).
  23. (si es youtube, el user estará de acuerdo en consumir más datos para ver videos).
  24. Qué herramientas hay que usan esta técnica Qué beneficio tiene Cuándo tiene sentido usar monkey testing y cuándo no Todos sabemos que el testing exahustivo es imposible Dicen que miles de monos escribiendo en forma infinita pueden redactar todas las novelas de Shakespeare… pero no tenemos infinito tiempo Necesitamos un mono inteligente, sino no nos sirve