PhD. Federico Toledo federico.toledo@abstracta. com.uy Twitter: @fltoledo Hands-on de Testing Exploratorio
PhD. Federico [email protected]: @fltoledo
Hands-on de Testing Exploratorio
Pirámide de Cohn¿Cómo debería ser?Más info:http://abstracta.us/2015/10/26/best-testing-practices-for-agile-teams-the-automation-pyramid/
¿Cómo se suele hacer?
• Antipatrón del Cono de Helado
Testing “manual”• Clasificación de enfoques– Ad-hoc– Exploratorio– Planificado
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.
Exploratorio• 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.
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.
Técnicas del Enfoque de Pruebas Planificadas
• Ejemplos – Valores límites – Particiones de equivalencia – Tablas de decisión – Árboles de decisión– Casos de uso–Máquinas de estado
¿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 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
Componentes de una Sesión
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
Hands-on• Ejecutar una session– https://www.zetacuentas.com/– Usuario: • [email protected]• testinguy
Herramientas • Mind-maps– Xmind– www.mindmup.com
• Timer • Notas con estructura de sesión– Papel– Blog de notas– Pizarra
Timer
Métricas de una Sesión
• 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.
• La idea es que ciclo a ciclo se vaya mejorando el testing.
Métricas de una SesiónSesión Fecha Hora 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ónSesión Fecha Hora 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ónSesión Fecha Hora 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
Conclusiones (1/4)• 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 (2/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.
• 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
Todas aplicables a
testing exploratorio
Muchas veces de manera
inconsciente
Conclusiones (3/4)
Casos de prueba
Exploratorio
1 hora
2 horas
Conclusiones (4/4)
Repasemos la definición de Cem Kaner…
“Es un estilo de testear software que enfatiza, la libertad personal yresponsabilidad 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.”
TestingUY 2016• Será el 26 y 27 de abril. • Está abierto el período para enviar
propuestas. ¡Anímense!
• Junto a Gabriel Montero queremos enviar una propuesta de Testing Exploratorio para Testing Ágil. – bit.do/encTestingUY
Introducción a las Pruebas de Sistemas
de Información
http://blog.abstracta.com.uy/