evento en córdoba 2016 - taller de testing exploratorio - federico toledo

36
PhD. Federico Toledo [email protected] Twitter: @fltoledo Taller de Testing Exploratorio

Upload: federico-toledo

Post on 20-Jan-2017

209 views

Category:

Technology


2 download

TRANSCRIPT

PhD. Federico [email protected]: @fltoledo

Taller de Testing Exploratorio

• Entender el concepto de testing exploratorio y las particularidades.

• Ponerlo en práctica, desde su ejecución hasta su gestión.

• Entender los beneficios. • Imaginarse cómo planificar y

analizar los resultados obtenidos.

Objetivos

• Breve teórico• Práctico grupal• Discusión

Agenda

• Clasificación de enfoques– Ad-hoc– Exploratorio– Planificado

Testing “manual”

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

Ad-hoc

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.

Exploratorio vs Planificado

• Estrategia de testing 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.

Exploratorio

• Dos etapas bien definidas– Al punto que lo podrían hacer dos

personas diferentes y con skills distintos.

Pruebas planificadas

Diseño Ejecución

Planilla con casos de prueba.

Planilla con resultados de ejecución.

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

Técnicas del Enfoque de Pruebas Planificadas

¿Qué es Testing Exploratorio?

“Es un estilo de testear software que enfatiza, la libertad personal y responsabilidad individual del tester, para optimizar de manera continua el valor de su trabajo,

tratando al aprendizaje, diseño y ejecución de pruebas, como actividades

que se apoyan mutuamente y corren en paralelo a lo largo de un proyecto.”

–Cem Kaner

• Testing Exploratorio = Testing

• El nombre especial fue necesario por la confusión que generó “Testing automatizado”, el cual debería llamarse “Checking automatizado”.

http://www.satisfice.com/blog/archives/category/testing-vs-checking

¿Qué es Testing 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

• Cuando probamos “algo” durante cierto tiempo, enfocados en “cierta característica”.

• 1 o 2 horas.• Buscando bugs en una feature nueva. • Puede o no incluir:

– Checklists– Casos de prueba– Más …

Sesión

Componentes de una Sesión1. MISIÓN

2. INICIO

5. ARCHIVOS DE DATOS

3. TESTER

4. DIVISIÓN

DE TAREAS

6. NOTAS DE

PRUEBAS

7. RIESGOS Y

DEFECTOS

8. INCONVENIENTE

S

• Descubrir– Conocer la nueva funcionalidad X

• Probar cierto aspecto– ¿Cómo funciona en Chrome?– Revisar lo qué sucede cuando el servicio X está caído

• Buscar cierto tipo de errores– Revisar ortografía en el módulo X– Revisar mensajes de error en X– Considerar manejo de entradas inválidas en X

• Analizar un factor de calidad– Revisar usabilidad de X– Analizar accesibilidad de la aplicación Android

• Explorar las dimensiones del producto– SFDPOT http://www.satisfice.com/articles/sfdpo.shtml

Misión

• Mi misión es “probar los casos borde” para “la funcionalidad XX del sitema TAL”.

• Mi misión es “revisar la precisión de los mensajes de error” para “el tipo de errores XXXX”.

• Mi misión es “probar la vulnerabilidad a SQL Injection” para “el login y las páginas de administración”.

Ejemplos

• Objetivo: – Ejecutar una session– http://opencart.abstracta.us/

• Herramientas– Timer – Notas con evidencia de la sesión

• Papel • TXT o DOC• Mind map• Pizarra • Herramienta de registro de test exploratorio

Hands-on

• Las métricas son extraídas de:– Cantidad de sesiones que se hayan

completado (cobertura).– 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.

– Porcentaje de tiempo invertido en:• Misión y oportunidad.

Métricas de una Sesión

• Deberíamos analizar las métricas y definir los siguientes pasos.

• Ciclo a ciclo se va mejorando el testing.

Métricas de una Sesión

Métricas de una SesiónSesió

n Fecha Hora Dur. Mis. Op. Testing Def

.Armad

o#Def

.#Inc

.#Tester

s

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

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

ET-S03 Fecha Hora 2h 2h 0h 0.5 0.4 0.1 8 0 1

ET-S04 Fecha Hora 2h 1h 1h 0.9 0.1 0 1 0 1

Sesión Fecha Hor

a Dur. Mis. Op. Testing Def.

Armado

#Def.

#Inc.

#Testers

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

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

ET-S03 Fecha Hora 2h 2h 0h 0.5 0.4 0.1 8 0 1

ET-S04 Fecha Hora 2h 1h 1h 0.9 0.1 0 1 0 1

Métricas de una Sesión

Métricas de una SesiónSesió

n Fecha Hora Dur. Mis. Op. Testing Def

.Armad

o#Def

.#Inc

.#Tester

s

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

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

ET-S03 Fecha Hora 2h 2h 0h 0.5 0.4 0.1 8 0 1

ET-S04 Fecha Hora 2h 1h 1h 0.9 0.1 0 1 0 1

• Herramienta para la gestión del testing exploratorio. – Manager: planificación, histórico, métricas.

• Web– Explorer: evidencia de sesiones

• Opensource• Multiplataforma (Java)

• Más info– http://relytest.com – http://blog.abstracta.com.uy/search/label/RelyTest

Relytest

Relytest

• Facilita la planificación:– Time slots bien definidos.

• Mejora al tester, su motivación y habilidades.

• Facilita el análisis de cobertura. • Mejora continua.

Conclusiones (1/4)

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

Conclusiones (2/4)

• Técnicas del Enfoque de Pruebas Planificadas: – Valores límites – Particiones de equivalencia – Tablas de decisión – Árboles de decisión– Casos de uso– Máquinas de estado

Conclusiones (3/4)

Todas aplicables a

testing exploratorio

Muchas veces de manera

inconsciente

Casos de prueba

Exploratorio

Conclusiones (4/4)

1 hora

2 horas

{

“Es un estilo de testear software que enfatiza, la libertad personal y

responsabilidad individual del tester, para optimizar de manera continua

el valor de su trabajo, tratando al aprendizaje, diseño y ejecución de pruebas, como actividades que se apoyan mutuamente y corren en

paralelo a lo largo de un proyecto.”

Repasemos la definición de Cem Kaner…

Introducción a las Pruebas de Sistemas

de Información

http://blog.abstracta.com.uy/

http://www.slideshare.net/FedericoToledo

¡¡Gracias!!PhD. Federico [email protected]: @fltoledo

Silicon Valley office425 Broadway Street Redwood City, CA

HeadquartersJose Ellauri 1126 Montevideo, Uruguay

www.abstracta.us