Evento en Córdoba 2016 - Taller de testing exploratorio - Federico Toledo
-
Upload
federico-toledo -
Category
Technology
-
view
209 -
download
2
Transcript of Evento en Córdoba 2016 - Taller de testing exploratorio - Federico Toledo
• 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
• 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
• 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
• 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
“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/
Silicon Valley office425 Broadway Street Redwood City, CA
HeadquartersJose Ellauri 1126 Montevideo, Uruguay
www.abstracta.us