lecciones aprendidas desarrollando una plataforma de mobile monkey testing

52
Lecciones Aprendidas Desarrollando una Plataforma de MOBILE MONKEY TESTING PhD. Federico Toledo COO - Abstracta

Upload: abstracta

Post on 07-Jul-2015

449 views

Category:

Software


1 download

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

Page 1: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

Lecciones Aprendidas Desarrollando

una Plataforma de

MOBILE MONKEY TESTING

PhD. Federico Toledo

COO - Abstracta

Page 2: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

ERRORES DE LA FIFA

Page 3: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing
Page 4: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

12 y 13 de noviembre de 2014 Valencia, España 4

Errores de la FIFA

Page 5: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

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

Page 6: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

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

Page 7: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

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

Page 8: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

12 y 13 de noviembre de 2014 Valencia, España 8

Explorando la app de FIFA

Page 9: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

12 y 13 de noviembre de 2014 Valencia, España 9

Explorando otras aplicaciones

Encuentro GeneXus Marca Fotocasa La Liga VivaVideo

Page 10: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

12 y 13 de noviembre de 2014 Valencia, España 10

Oportunidades de mejora detectadas

Page 11: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

12 y 13 de noviembre de 2014 Valencia, España 11

Oportunidades de mejora detectadas

Page 12: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

12 y 13 de noviembre de 2014 Valencia, España 12

Desafíos / Agenda

¿Dónde ejecutar?

Resultados: ¿Qué y cómo presentarlos?

Page 13: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

¿DÓNDE EJECUTAR?

Page 14: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

12 y 13 de noviembre de 2014 Valencia, España 14

¿Emuladores o

dispositivos?

Page 15: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

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

Page 16: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

12 y 13 de noviembre de 2014 Valencia, España 16

¿Emuladores o

dispositivos?

Page 17: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

12 y 13 de noviembre de 2014 Valencia, España 17

Emuladores – Ventajas

• Reducir costos

Page 18: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

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.

Page 19: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

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?

Page 20: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

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.

? ? ???

Page 21: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

12 y 13 de noviembre de 2014 Valencia, España 21

Testing basado en Riesgo

Los

dispositivos

más

usados.

Page 22: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

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.

Page 23: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

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?

Page 24: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

12 y 13 de noviembre de 2014 Valencia, España 24

Selección de los dispositivos más usados

Page 25: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

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

Page 26: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

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

Page 27: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

12 y 13 de noviembre de 2014 Valencia, España 27

Estadísticas solo al inicio

Page 28: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

12 y 13 de noviembre de 2014 Valencia, España 28

Google Analytics – por SO

Page 29: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

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

Page 30: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

12 y 13 de noviembre de 2014 Valencia, España 30

Ok, ya sé qué dispositivos elijo

¿Todos vamos a comprar un set?

Page 31: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

12 y 13 de noviembre de 2014 Valencia, España 31

Page 32: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

12 y 13 de noviembre de 2014 Valencia, España 32

COMPARTIR: OpenDeviceLab.com

Page 33: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

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

Page 34: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

12 y 13 de noviembre de 2014 Valencia, España 34

Open Device Lab

Page 35: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

RESULTADOS:

¿QUÉ Y CÓMO

PRESENTARLOS?

Page 36: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

12 y 13 de noviembre de 2014 Valencia, España 36

¿Qué métricas podemos tomar?

Page 37: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

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

Page 38: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

12 y 13 de noviembre de 2014 Valencia, España 38

¿Cuándo reporto error?

Crash y excepciones.

Page 39: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

12 y 13 de noviembre de 2014 Valencia, España 39

Crash / exceptions

Page 40: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

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.

Page 41: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

12 y 13 de noviembre de 2014 Valencia, España 41

Guidelines de Android / Google

Page 42: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

12 y 13 de noviembre de 2014 Valencia, España 42

Guidelines de Android / Google

Page 43: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

12 y 13 de noviembre de 2014 Valencia, España 43

Guidelines de Android / Google

Page 44: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

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.

Page 45: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

12 y 13 de noviembre de 2014 Valencia, España 45

Oportunidades de mejora detectadas

Page 46: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

12 y 13 de noviembre de 2014 Valencia, España 46

Oportunidades de mejora detectadas

Page 47: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

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

Page 48: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

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.

Page 49: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

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

Page 50: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

Lecciones Aprendidas Desarrollando

una Plataforma de

MOBILE MONKEY TESTING

PhD. Federico Toledo

COO - Abstracta

¡¡GRACIAS!!

Page 51: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing

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

[email protected]

@fltoledo

@abstractaQA

www.abstracta.com.uy

www.monkop.com

Page 52: Lecciones aprendidas desarrollando una plataforma de Mobile Monkey Testing