_89a1b1d9-4029-4697-8c0d-d6a08e353346
Técnicas
23 de noviembre 2023

Testing Exploratorio: breve guía para lograr el éxito en tus sesiones

9 minutos de lectura

El testing exploratorio es probablemente uno de los temas que más confusión genera en el mundo del testing. 

La definición más ampliamente extendida del testing exploratorio dice que es un enfoque en el que se aprende, se diseñan y se ejecutan test de manera simultánea.

Este enfoque es el complemento perfecto a la realización de cualquier otro tipo de prueba y es, por así decirlo, la antítesis de la automatización. Mientras que la automatización se centra en la comprobación, el testing exploratorio se centra en el aprendizaje, en la experimentación, en la búsqueda de mejoras y de puntos de fallo más complejos. Lo cual no quiere decir que no se pueda utilizar la automatización al realizar una sesión de testing exploratorio.

El testing exploratorio es el complemento perfecto a la realización de cualquier otro tipo de prueba.

DISTINTOS TIPOS DE PRUEBAS EXPLORATORIAS

Cuando hablamos de pruebas exploratorias, debemos tener en cuenta cinco aspectos claves: 

No son pruebas limitadas a testers: Si bien el tester tiene una habilidad especial a la hora de ejecutar las pruebas exploratorias y puede explotar al máximo todas sus cualidades (pensamiento lateral, pensamiento crítico, etc…), cualquier persona puede (y debe) realizar pruebas exploratorias. Incluso en ciertos momentos, las pruebas exploratorias en conjunto permiten que las habilidades y conocimientos de distintos roles se complementen a la hora de ejecutarlas y obtener resultados.

No son pruebas aleatorias: a pesar de que su nombre nos pueda llevar a pensar en un tipo de testing aleatorio sin un objetivo en concreto, la realidad es que es un tipo de testing pensado y planificado: 
♦ Nos marcaremos un objetivo en concreto, ¿qué queremos obtener con nuestra sesión? 
♦ Estableceremos un tiempo máximo de realización (se suele recomendar que no sea superior a las dos horas).
♦ Tenemos que tener claro qué materiales o herramientas vamos a utilizar de soporte: dónde queremos anotar los hallazgos, cómo vamos a comunicar los resultados, etc. Además, en caso de hacer una sesión de testing exploratorio en grupo, hay que hacer partícipe de todo ello al resto de personas involucradas en dicha sesión.

No te centres en encontrar bugs: Esta es solo una de las opciones. El encontrar bugs es algo inherente a todo producto software. Siempre estará bien el realizar testing exploratorio buscando bugs, especialmente en zonas de la aplicación más susceptibles o donde ya hayamos encontrado un buen número de ellos. Pero aquí estaríamos realizando el testing con un enfoque demasiado reactivo. El objetivo final debe ser ayudar a construir un producto de calidad, y para ello podemos marcarnos objetivos mucho más productivos:
Aprendizaje: marcarnos como objetivo el aprender determinada parte de la aplicación sobre la que no somos expertos. Es una gran técnica ,además, para incluir en el proceso de onboarding de cualquier rol que se incorpore a nuestro equipo.
Análisis de riesgos: es un objetivo clave de las pruebas exploratorias. Ser capaces de determinar el estado de una aplicación analizando los riesgos de cada uno de sus componentes para poder tomar las medidas oportunas.
Propuesta de mejoras: es muy interesante ponerse en la piel de un potencial usuario de la aplicación y detectar potenciales mejoras.

Comparte los resultados con el equipo/organización: Como ya hemos comentado, debemos marcarnos un objetivo a conseguir con nuestra sesión de pruebas exploratorias. Al final de la misma, tendremos ciertos resultados. Es importante incluir a las personas interesadas, comunicar los resultados y proponer los siguientes pasos. La clave de que las pruebas exploratorias tengan valor será la comunicación entre las personas del equipo y se puedan aplicar mejoras acordes a los resultados.

A la hora de realizar las pruebas exploratorias, existen diferentes aproximaciones. Veamos dos ejemplos:

Basado en Personas
Son sesiones de pruebas exploratorias donde el que las realiza se pone en la piel de un potencial usuario final. Imaginad, por ejemplo, una tienda online de venta de artículos deportivos. Tendremos que plantearnos cuestiones como la edad, sexo, el deporte practicado, aspectos comunes a todos los deportes como la nutrición deportiva, etc…

Imaginad que nos ponemos en la piel de un padre de un niño de 7 años que ha empezado a jugar al baloncesto. En este caso lo primero que haremos será imaginarnos un potencial cliente y crearnos nuestra propia hipótesis:
Padre, 40 años. Conocimientos nulos de baloncesto (pero sí de otros deportes). Conocimientos de informática aceptables. Premia la facilidad para alcanzar el producto deseado antes que la variedad y el precio.

Dado este potencial supuesto, ¿cómo podríamos estructurar nuestra sesión?:
Al tener conocimientos de informática aceptables, no será tan necesario que exista o que tengamos visible la sección de “Baloncesto – niños” pero si necesitaremos que el buscador funcione correctamente y que los resultados sean coherentes. Como premia la facilidad para alcanzar el producto, será interesante tener un filtro adecuado. Además, no tiene conocimientos relevantes de baloncesto por lo que será interesante comprobar si el lenguaje utilizado es comprensible, que no se utilice demasiada jerga y que los productos tengan explicaciones entendibles para los usuarios.

En base a todo ello, con este método se podrán típicamente realizar sugerencias en cuanto a la usabilidad de la aplicación.

Basado en Tours
El concepto es similar al del turismo, ¿Qué solemos hacer cuando, por ejemplo, visitamos una nueva ciudad y cómo lo relacionamos con el testing exploratorio?
Preparación del viaje: ciudad que visitaremos, cómo viajaremos, qué documentos necesitamos y cómo nos alojaremos. Llevado al mundo del testing, qué aplicación probaremos, cómo accederemos, qué necesitaremos para poder trabajar en ella…
Que vamos a visitar: lugares más famosos/visitados, lugares específicos basados en nuestros gustos, etc… Es decir, partes de la aplicación más utilizadas, partes específicas que tengan cierto interés para nuestro rol, etc…
Cómo vamos a documentar nuestro viaje: llevaremos cámara de fotos, utilizaremos la cámara del teléfono móvil,… y extrapolado a nuestro contexto, cómo y con qué herramienta vamos a recoger todos los datos de nuestra sesión: haremos pantallazos, vídeos, logs, etc…
Cómo vamos a comentar el viaje con nuestros amigos/familiares cercanos tanto durante como después del mismo: haremos una videollamada con nuestros padres, colgaremos una historia en Instagram, etc… Es decir, cómo vamos a incluir a todos los interesados en nuestros hallazgos: crearemos una reunión, abriremos un ticket, escribiremos una página de documentación, etc…

Lógicamente, casi siempre dejaremos tiempo para poder perdernos por las calles sin un destino concreto, o lo que es lo mismo, navegar por la aplicación simplemente para ver que nos encontramos.

Habitualmente, esta técnica se suele utilizar para aprender sobre el producto o una parte concreta del mismo.

Para que veáis más en profundidad como es una sesión de testing exploratorio basado en los conceptos anteriormente explicados, os dejamos el siguiente video con un ejemplo de este tipo de sesiones:

Recomendados

¿Por qué aplicamos el concepto de calidad en lo cotidiano y cuesta tanto en proyectos SW?

Reflexionemos juntos sobre situaciones cotidianas en que todo se realiza con previsión, mimo y...

Testing Exploratorio: breve guía para lograr el éxito en tus sesiones

El testing exploratorio es probablemente uno de los temas que más confusión genera en el mundo del...

La prostitución del término QA

En el dinámico mundo de la tecnología y el desarrollo, los roles relacionados con el testing y la...

La evolución de los títulos de los roles relacionados con testing y calidad

Opinión 8 de noviembre 2023 La evolución de los títulos de los roles relacionados con testing y...

Agile … Is It Worth It? Advantages of Using It

Around 50 years ago, code was written without any plan and the architecture design was determined...

El testing no mejora la calidad de nuestro producto, ¿o si?

En el mundo de la calidad del software, existe una creencia generalizada de que para lograr un...