Taller en Fundación Forge: Testing Exploratorio

43
TESTING EXPLORATORIO Claudia Badell

Transcript of Taller en Fundación Forge: Testing Exploratorio

TESTING EXPLORATORIO

Claudia Badell

AGENDA

INTRODUCCIÓN1

CONCEPTOS GENREALES DE TESTINGREPASO2

TESTING EXPLORATORIOTEÓRICO3

TESTING EXPLORATORIOEJERCICIO4

AGENDA

INTRODUCCIÓN1

CONCEPTOS GENREALES DE TESTINGREPASO2

TESTING EXPLORATORIOTEÓRICO3

TESTING EXPLORATORIOEJERCICIO4

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

• 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

• Desarolladores (7), visual designers (1), interaction designers (1), documentadores técnicos (1) y testers (1)

EL EQUIPO

• 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

• 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

AGENDA

INTRODUCCIÓN1

CONCEPTOS GENREALES DE TESTINGREPASO2

TESTING EXPLORATORIOTEÓRICO3

TESTING EXPLORATORIOEJERCICIO4

¿POR QUÉ PROBAMOS?

BBST: Foundations course by the Association for Software Testing

Testing es la búsqueda de información

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

Las pruebas pueden ejecutarse en forma manual y/o automatizada

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

• 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

AGENDA

INTRODUCCIÓN1

CONCEPTOS GENREALES DE TESTINGREPASO2

TESTING EXPLORATORIOTEÓRICO3

TESTING EXPLORATORIOEJERCICIO4

• 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

• 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

James Bach

El testing exploratorio es un procesosimultáneo de exploración del producto (aprendizaje), diseño y ejecución de pruebas.

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, comoactividades que se apoyan mutamente y se ejecutan en paralelo a lo largo de un proyecto.

Testing exploratorio no esprobar en forma ad-hoc

TESTING EXPLORATORIO

Buenos exploradores son generalmente los testers con más experiencia

HABILIDADES DEL TESTER

CURIOSO PENSAMIENTOOUT OF THE BOXOBSERVADOR

PENSAMIENTOCRÍTICO

PRAGMÁTICO MANEJAR EL TIEMPO

PRIORIZAR

PENSAMIENTOANALÍTICO Y LÓGICOCREATIVO

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

Las heurísticas nos proveen unadirección, guía y enfoque para

resolver un problema

• Fáciles de aplicar• Ayudan a identificar inconsistencias

PROS:• Pueden ser muy generales• No garantizan una solución• Dos heurísticas pueden contradecirse

CONTRAS:

HEURÍSTICAS DE TESTING

CEM KA NER

Consistencia con: • el producto• la historia• productos similares• la imagen• las regulaciones• su propósito

http://testingeducation.org/BBST/foundations/

TESTING EXPLORATORIO

BASADO EN SESIONES

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

Describe qué se probará del producto/funcionalidad

MISIÓN

Facebook

Funcionalidad bajo prueba: ”Like”

¿Qué misiones podríamos definir?

EJEMPLO

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 coberturaBUGS/ISSUES

• Identificador Incidentes encontrados

• Observaciones

Propuesta por Jonathan Bach

¿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

• …

Qué información registrar en una sesión va a depender de qué queramos trazar, medir, reutilizar, etc.

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

• 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

DISEÑO PLANIFICADO Y TESTING EXPLORATORIO

• Se complementan

• Nos permiten mitigar riesgos

Es necesario aplicar diferentesestrategias de pruebas para modelar y probar la funcionalidad bajo prueba

AGENDA

INTRODUCCIÓN1

CONCEPTOS GENREALES DE TESTINGREPASO2

TESTING EXPLORATORIOTEÓRICO3

TESTING EXPLORATORIOEJERCICIO4

EJERCICIOS

DEFINICIÓN DE MISIONES

DEFINICIÓN DE ÁREAS DE COBERTURAEJ.2

EJECUCIÓN DE SESIONES

EJ.4 GENERACIÓN REPORTE EN BACH SCAN TOOL

EJ.1

EJ.3

Puesta a punto

MUCHAS GRACIAS

¿Preguntas?

www.infragistics.com

CONTACTO:

Claudia [email protected]

@claubs_uy