Este documento presenta una introducción al testing exploratorio. Explica que el testing exploratorio involucra la exploración, diseño y ejecución de pruebas de manera simultánea, guiada por heurísticas. Se define la noción de sesión de testing y cómo registrar la información relevante de cada sesión. Finalmente, propone ejercicios prácticos para aplicar las técnicas de testing exploratorio discutidas.
4. TRABAJO COMO
• Senior Quality Engineer, Infragistics
ACERCA DE MÍ
ESTUDIOS
• Ingeniera en Computación, UdelaR
• Cursos de la Association for Software Testing
(Foundations y Bug Advocacy)
• Scrum Master
• ISTQB Foundation
FORMO PARTE DE
• TestingUy (www.testing.uy)
TRABAJÉ COMO
• Docente, Instituto de Computación, Facultad
Ingeniería, UdelaR
• Test Manager, Timba Software Corporation
• Tester, Centro de Ensayos de Software
• Analista de Requerimientos, UTE
5. • Empresa americana de desarrollo de
software
• Oficinas en Estados Unidos, Bulgaria,
Japón, Inglaterra, India y Uruguay
• En Uruguay desde el 2008
• Somos 260 empleados en el mundo y
unas 40 personas en Uruguay
INFRAGISTICS
https://www.facebook.com/infragistics.uy
6. • Desarolladores (7), visual designers (1),
interaction designers (1), documentadores
técnicos (1) y testers (1)
EL EQUIPO
7. • Herramienta de prototipado de
aplicaciones
• Multiplataforma (Windows & Mac)
• En el mercado desde el 2012
• Tenemos 2 liberaciones grandes en el
año y también liberaciones intermedias
de funcionalidades medianas y
pequeñas
EL PRODUCTO
indigodesigned.comwww.infragistics.com/products/indigo-studio
8. • Definición de las estrategias de las pruebas
• Ejecución de pruebas manuales y automatizadas
• Colaboración en la priorización de bugs
• Implementación de mejoras en el workflow de los
bugs
• Evangelización de la disciplina del Testing en el
equipo
ROL DEL TESTER
EN EL EQUIPO
11. BBST: Foundations course by the Association for Software Testing
Testing es la búsqueda de
información
12. Funcionales
No funcionales
SEGÚN QUÉ ASPECTO
QUEREMOS PROBAR
Caja Blanca
Caja Negra
SEGÚN EL
CONOCIMIENTO
DEL CÓDIGO
Caja Gris
Pruebas unitarias
Pruebas de
Integración
Pruebas de sistema
Pruebas de
aceptación
SEGÚN A QUÉ NIVEL
DE LA SOLUCIÓN
PROBAMOS
DIMENSIONES
14. Funcionales
No funcionales
SEGÚN QUÉ ASPECTO
QUEREMOS PROBAR
Caja Blanca
Caja Negra
SEGÚN EL
CONOCIMIENTO
DEL CÓDIGO
Caja Gris
Pruebas unitarias
Pruebas de
Integración
Pruebas de sistema
Pruebas de
aceptación
SEGÚN A QUÉ NIVEL
DE LA SOLUCIÓN
PROBAMOS
DIMENSIONES
15. • Partición de equivalencia
• Valores límite
• Tablas y árboles de decisión
• Máquinas de estado
• Casos de pruebas a partir de casos de uso
TÉCNICAS DE
DISEÑO DE CASOS DE PRUEBAS
17. • Se basa en las técnicas de diseño de
casos de pruebas
• El diseño de los casos de pruebas y la
ejecución de los mismos son
actividades separadas en el tiempo
• Cada actividad puede realizarla una
persona diferente
DISEÑO PLANIFICADO
• Las actividades de diseño y de
ejecución se realizan en forma
simultánea
TESTING EXPLORATORIO
18. • obtener resultados rápidamente
• detectar defectos en lugares que no
esperábamos encontrarlos
• aprender del producto
ESTRATEGIA ÚTIL PARA
Y además… es divertida de aplicar
19. James Bach
El testing exploratorio es un proceso
simultáneo de exploración del
producto (aprendizaje), diseño y
ejecución de pruebas.
20. Cem Kaner
Es un estilo de probar software que enfatiza la
libertad personal y responsablidad 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 mutamente y se
ejecutan en paralelo a lo largo de un proyecto.
25. • Conocimiento de heurísticas, técnicas de diseño de casos de prueba
• Histórico de bugs
• Conocimiento del dominio bajo prueba
• …
¿CÓMO DEFINIMOS
LOS CAMINOS A RECORRER?
26. Las heurísticas nos proveen una
dirección, guía y enfoque para
resolver un problema
27. • Fáciles de aplicar
• Ayudan a identificar inconsistencias
PROS:
• Pueden ser muy generales
• No garantizan una solución
• Dos heurísticas pueden contradecirse
CONTRAS:
28. HEURÍSTICAS DE TESTING
CEM KANER
Consistencia con:
• el producto
• la historia
• productos similares
• la imagen
• las regulaciones
• su propósito
http://testingeducation.org/BBST/foundations/
30. 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
SESIÓN
33. CONTENIDO DE UNA SESIÓN
ANÁLISIS DE TAREAS
• Tester/s
• Fecha y hora de
comienzo
• Tiempo
• Duración
• TBS
• Misión vs
Oportunidad
REGISTRO
• Archivos de datos
• Notas sobre los
pasos seguidos
MISIÓN
• Identificador o texto
de misión
• Áreas de cobertura
BUGS/ISSUES
• Identificador
Incidentes
encontrados
• Observaciones
Propuesta por Jonathan Bach
34. ¿DÓNDE REGISTRO LAS SESIONES?
• Papel
• Planillas. Ejemplo: Excel, Hoja de cálculo Goolge, etc.
• Bach Scan Tool (www.satisfice.com/sbtm)
• Mindmaps. Ejemplo: XMind
• …
35. Qué información registrar en
una sesión va a depender de
qué queramos trazar, medir,
reutilizar, etc.
36. ALGUNAS MÉTRICAS
• Cantidad de sesiones culminadas
• Cantidad de sesiones por misión
• Cantidad de bugs encontrados por sesión y misión
• Esfuerzo en tiempo por misión/funcionalidad/producto
37. • Se basa en las técnicas de diseño de
casos de pruebas
• El diseño de los casos de pruebas y la
ejecución de los mismos son
actividades separadas en el tiempo
• Cada actividad puede realizarla una
persona diferente
DISEÑO PLANIFICADO
• Las actividades de diseño y de
ejecución se realizan en forma
simultánea
TESTING EXPLORATORIO