seminario en cda 2015 - "mobile exploratory testing"

20
Testing exploratorio de aplicaciones móviles PhD. Federico Toledo federico.toledo@abstracta. com.uy Twitter: @fltoledo

Upload: federico-toledo

Post on 20-Jan-2017

307 views

Category:

Software


0 download

TRANSCRIPT

Testing exploratorio de aplicaciones

móvilesPhD. Federico [email protected]: @fltoledo

Una breve presentación

bit.do/librodetesting

Enfoques de prueba• Clasificación • Ad-hoc• Exploratoria• Planificada

Enfoque Ad-hoc• Sin un plan, realizado en el momento

sin un objetivo en mente, sin un método claro.

• Poco profesional. Cero control. Cero seguimiento. Cero trazabilidad.

• No queremos hacerlo.

Exploratorio vs Planificado

• Quiero visitar una ciudad nueva.

Exploratorio vs Planificado

• Enfoque Planificado:– Previo al viaje miro el mapa y una guía.– Veo qué cosas interesantes pueden

haber para visitar. – Los ordeno según lo que más me gusta. – Veo cuánto tiempo tengo y planifico

cuánto tiempo voy a estar en cada lugar.

Exploratorio vs Planificado

• Enfoque Exploratorio:– Llevo el mapa y la Guía y los voy mirando en

el sitio.– Ir preguntando qué visitar, en base a lo que

voy descubriendo voy definiendo qué otra cosa quiero ver.

– Voy marcando en el mapa lo que voy visitando.

– Me defino el tiempo que tengo para recorrer, y en base a eso me voy organizando para ver todo lo que pueda llegar a encontrar.

Exploratorio vs Planificado

• Ventajas Exploratorio:– No tuve que planificar lo que quería ver. – En el mismo lugar fui decidiendo qué ver y

qué no, y qué me gustaba más y qué no.– Dejé registradas las cosas que visité.

• Ventajas Planificado:– Puedo compartir el plan con otro. – Puedo organizarme y prever cuánto voy a

necesitar, si me alcanzan los días previstos para visitar todo lo que me gusta.

Enfoque Exploratorio• Definido como el diseño, ejecución y

aprendizaje de la aplicación de forma simultánea, donde utilizamos lo aprendido de experimentos anteriores en las siguientes pruebas.

• Ideal para cuando:– Tenemos poco tiempo.– Conocemos poco el producto.

Pruebas planificadas• Dos etapas bien definidas (al punto

que lo podrían hacer dos personas diferentes y con skills distintos).

Diseño

Ejecución

Planilla con casos de prueba.

Planilla con resultados de ejecución.

Pruebas planificadas• Ejemplos – Valores límites – Particiones de equivalencia – Tablas de decisión – Casos de uso–Máquinas de estado

Debemos diferenciar• No confundir enfoque exploratorio

con ad-hoc.• ¡No seguir enfoque ad-hoc y llamarle

exploratorio!

Testing Exploratorio basado en Sesiones

Una sesión es una unidad básica de trabajo de testing.

No es ni un caso de prueba, ni un reporte de defectos.

Es un bloque ininterrumpido y revisable, donde hay evidencias del trabajo en nuestra misión de testing.

Jonathan Bach

• Se creó con el propósito de:• Facilitar un registro sobre el progreso

de los testers;• Proveer un medio para organizar y

reportar el cubrimiento del trabajo hecho;

• Deben ser ininterrumpidas.

Testing Exploratorio basado en Sesiones

1. MISIÓN

2. INICIO

5. ARCHIVOS DE DATOS

3. TESTER

4. DIVISIÓN DE TAREAS

6. NOTAS DE PRUEBAS

7. RIESGOS Y DEFECTOS

8. INCONVENIENTES

Testing Exploratorio basado en Sesiones

Ejercicio grupal • Ejecutar una sesión.• Armaremos la sesión entre todos. • Ejecutaremos en Keynote.

• Analizaremos métricas. • Lo haremos con una dinámica grupal.

Métricas de una Sesión

• Cantidad de sesiones que se hayan completado.

• Cantidad de defectos y problemas que se hayan encontrado.

• Porcentaje de tiempo invertido en:• Armado de la sesión,• Diseño y Ejecución de pruebas,• Investigación y Reporte de defectos.

Métricas de una Sesión

Sesión Fecha Hora Dur Misión Oport Test Def Armado #Bug #Inc #Testers

ET-S01 Fecha Hora 1h 1 0 0.8 0.1 0.1 1 3 1

ET-S02 Fecha Hora 2h 1.5 0.5 0.7 0.2 0.1 8 1 2

ET-S03 Fecha Hora 2h 2 0 0.8 0.2 0 5 0 1

Conclusiones• De mucha utilidad para: – Brindar feedback y resultados de forma

rápida.– Adquirir nuevo conocimiento a lo largo de

una sprint, iteración o ciclo de testing.– Revelar nuevos tipos de defectos e

inconvenientes.–Mejorar las habilidades y conocimiento

en la lógica de negocio del tester.