Pruebas exploratorias: qué son, aspectos clave, y por qué quieren usarlo las empresas
Antes de explicar qué son realmente las Pruebas Exploratorias o Exploratory Testing en inglés, imaginemos por un momento que somos investigadores de una escena de un crimen, al estilo CSI, que nos han asignado investigar un asesinato.
Para esta investigación, tenemos restricciones, solo podemos ceñirnos a un guion proporcionado, no pudiéndonos desviar del conjunto predefinido de acciones programadas para llegar al fondo del crimen.
Por este motivo, nos vemos seriamente obstaculizados en nuestra investigación para poder resolver el asesinato a menos que los resultados de las acciones y las preguntas del guion proporcionado se alineen.
Esto es lo que hacen exactamente las pruebas automatizadas o con secuencias de comandos. Solo buscan errores en el conjunto predefinido de pruebas diseñadas y, por lo tanto, es necesario llevar a cabo otro tipo de pruebas, como las pruebas exploratorias, para determinar la calidad del producto.
Pero ¿realmente qué son las Pruebas Exploratorias?
Es un enfoque de prueba en el que los probadores o testers se embarcan en un proceso de investigación y descubrimiento para probar un producto de manera efectiva. Exploran la aplicación para identificar, documentar y descubrir errores ocultos en aquellos aspectos y funcionalidades que pueden o no afectar directamente los resultados del sistema, investigar su causa y rectificarlos, con el objetivo de encontrar errores subyacentes. De esto se trata las pruebas exploratorias.
No hay casos de prueba predefinidos en las pruebas exploratorias, ello no significa que el tester encargado de llevar a cabo estas pruebas no las prepare, esto conduce a menos restricciones para el tester y la libertad, y responsabilidad personal para aprender e iterar sin buscar una respuesta prediseñada que no pueda desviarse.
Una de las buenas prácticas que deben cumplir las pruebas exploratorias es que deben poder responder a las siguientes preguntas:
- ¿La aplicación realiza la función para la que fue diseñada?
- ¿La aplicación funciona en múltiples escenarios?
- ¿El rendimiento de la aplicación es lo suficientemente bueno?
- ¿Qué errores potenciales hay?
Para lo cual seguiremos las siguientes tres etapas que no son independientes entre sí y existen como una única función cohesiva o ciclo de prueba.
Aprendizaje. Una de las funciones más importantes que necesita un tester es comprender la aplicación o el sitio web que está probando, gran parte de este aprendizaje ocurrirá en tiempo real, a medida que comience a explorar y probar el software. Esta comprensión proporciona contexto e incluye información como datos comparativos competitivos, conocimiento de la industria y detalles de la empresa. Para ciertos tipos de aplicaciones puede ser necesario un tutorial.
Diseño. Los tester exploratorios pueden realizar la prueba de la manera que consideren adecuada y no tienen un resultado deseado o esperado. A menudo, la técnica de prueba exploratoria conduce al desarrollo de escenarios de prueba con guiones más rigurosos a lo largo del tiempo.
La gestión de la prueba puede ayudar a decidir el dispositivo, las circunstancias o las condiciones si el solicitante de la prueba aún no lo ha establecido.
Ejecución. El tester tiene la libertad de completar la prueba como quiera. Esta libertad significa que nadie está esperando los requisitos escritos y puede comenzar el trabajo creativo tan pronto como sea solicitado. El tester puede comenzar a observar y aprender sobre la aplicación o el sitio web. Una vez finalizada esta fase, los resultados se compilan y se informan a través de los métodos apropiados.
Técnicas de pruebas exploratorias
Existen diferentes formas de realizar unas pruebas exploratorias. Los tres principales tipos son:
Pruebas de estilo libre: como sugiere el nombre, se trata de pruebas en las que cada tester selecciona un módulo o la aplicación completa y la ejecuta de forma aleatoria. Es como una prueba de humo rápida que se realiza para garantizar que todo está implementado según se esperaba.
Pruebas basadas en escenarios: en este tipo de pruebas exploratorias, cada tester, selecciona un escenario de usuario y prueba los flujos de la aplicación en torno a ese caso de uso. Intentan cubrir tantas navegaciones, permutaciones de datos y flujo como sea posible para garantizar la estabilidad y funcionalidad de ese escenario.
Pruebas basadas en estrategias: este tipo de pruebas implica implementar las metodologías de prueba centrales en una prueba exploratoria. En esta prueba, el tester experimentado aplicaría técnicas de caja negra a la aplicación.
Ventajas de las pruebas exploratorias
Encontrar más defectos: un beneficio importante es que las pruebas exploratorias encuentran defectos que la automatización simplemente no puede. Las pruebas automatizadas se limitan a los casos de prueba que se escriben para ellos. No encontrará ningún error fuera de este ámbito.
Velocidad de los ciclos de prueba: las pruebas exploratorias no requieren una planificación extensa. El alcance de un ciclo de prueba debe ser claro, pero no se necesitan casos de prueba detallados. Eso se debe a que se confía en los tester para probar lo que creen que debe probarse. En comparación, las pruebas automatizadas son rápidas en la ejecución de pruebas, pero su planificación puede llevar mucho tiempo.
Generación de ideas: la creatividad requerida de los tester y el rápido ritmo de las pruebas exploratorias significa que se crean más ideas.
Desventajas de las pruebas exploratorias
Hacer las cosas bien es difícil: las pruebas exploratorias dependen en gran medida de los tester. Puede ser una habilidad costosa y difícil de adquirir, por lo que puede resultar complicado encontrar a los tester exploratorios que estás buscando. Para ello puedes confiar tu proyecto a unos expertos en pruebas como nosotros.
Medir el ROI puede ser complejo: medir el éxito de las pruebas exploratorias a corto plazo puede resultar complejo. Pongamos un ejemplo; piensas en correr un maratón, no puedes entrenar diez horas al día cada semana antes de la carrera y esperar que lo hagas bien. Se necesitan meses de entrenamiento regular para tener éxito. Las pruebas exploratorias son iguales. La consistencia a largo plazo generará mejores resultados que la intensidad a corto plazo.
Ejecución y control de las pruebas exploratorias
Si bien las pruebas exploratorias se ejecutan eminentemente de forma manual, existen herramientas en el mercado que nos ayudan con la ejecución control y gestión de este tipo de activos de testing. En Izertis recomendamos el uso de Xray Exploratory Testing, sobre todo en aquellos proyectos donde ya se está utilizando Jira. Como partner especializado de Xray te podemos ayudar a implantar esta solución, contacta con nosotros.
A lo largo de este artículo, hemos hablado sobre qué son las pruebas exploratorias, cuáles son sus ventajas y desventajas, pero ¿sabes cuándo deberías implementar este tipo de pruebas?
Estos son los 5 escenarios principales en los que las pruebas exploratorias pueden ser un gran beneficio para tu estrategia de pruebas.
- No estás seguro de qué pruebas ejecutar.
- Deseas diversificar el proceso de prueba después de un ciclo de pruebas guiado.
- Necesitas recibir comentarios rápidos sobre un producto.
- Quieres comprender rápidamente los entresijos de una nueva versión.
- ¡Quieres encontrar más errores!
Si aun así no te queda claro si debieras incluir este tipo de pruebas en tu estrategia u organización, desde el equipo de QA de Izertis, estaremos encantados de asesorarte y guiarte para que puedas elegir la mejor estrategia de pruebas a seguir para tu empresa o proyecto.