lecciones aprendidas desarrollando una plataforma de mobile monkey testing

Post on 07-Jul-2015

449 Views

Category:

Software

1 Downloads

Preview:

Click to see full reader

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

Federico.Toledo@abstracta.com.uy

@fltoledo

@abstractaQA

www.abstracta.com.uy

www.monkop.com

top related