20 Apr
20Apr

Estoy seguro que la mayoría ha escuchado el término “Exploratory Testing” y también estoy seguro que no todos lo aplican en la forma en la que es realmente útil para nuestros proyectos, en este post les daré una explicación sobre cómo llevarlas a cabo y poder explotar al máximo sus beneficios.

En muchas ocasiones me he encontrado con la necesidad/deseo de realizar este tipo de pruebas en diferente tipo de proyectos y en la mayoría me he encontrado con la negativa de ser ejecutadas por ser un "gasto de tiempo inútil". El simple hecho de no estar informado sobre sus beneficios y la forma correcta de aplicarlo conlleva a pensar que al estar ejecutando Exploratory Testing  solo estás haciendo pruebas sin sentido o sin ninguna estructura, lo cual es totalmente erróneo.

Diseño de pruebas y ejecución simultanea

Esta es la forma más burda de explicarlo, diseño y ejecución combinados, lo contrario al clásico “Diseño de pruebas  => Ejecución de pruebas”. El Exploratory Testing no necesariamente está por completo definido ni es ejecutado de acuerdo a un procedimiento formal previamente “establecido”, aunque habría que establecer específicamente el término “Definido”, Incluso una forma “básica” de Exploratory Testing tiene restricciones implícitas o “mandamientos” sobre que partes del sistema probar o que estrategias utilizar, en una buena prueba exploratoria se anotan ideas y son utilizadas después en otros ciclos de pruebas, esas ideas podrían verse como un caso de prueba, pero no los son, son simples notas sobre ideas útiles a futuro.

Balanceando Exploratory Testing con Ejecución basada en Casos de Prueba

Si en la medida en que la próxima prueba que hacemos está influida por el resultado de la última prueba, estamos ejecutando Exploratory Testing. Si estamos ejecutando casos de prueba y nueva información es descubierta que nos indique una mejor estrategia, o si encontramos un error que requiere más investigación podríamos iniciar con Exploratory Testing.

Por el contrario tomamos un enfoque “clasico” cuando hay poca incertidumbre sobre la forma en la que queremos probar, cuando nuevas pruebas son “relativamente” menos importantes, cuando la necesidad de eficiencia y confianza en la ejecución vale la pena el esfuerzo del diseño y se está dispuesto a pagar el costo por documentar y dar mantenimiento a los casos de prueba.

Por que hacer Exploratory Testing?

Algunos puntos importantes en la administración de un efectivo ciclo de Exploratory Testing son el tester, la estrategia, el reporteo y la misión. El enfoque de ejecución basado en Casos de Prueba mecanizando el proceso y haciéndolo repetible y entendible para cualquiera, y eso tiene bastante valor, pero los involucrados en Exploratory Testing consideran que escribir casos de prueba y seguirlos rompe con los proceso intelectuales que hace que los testers sean capaces de encontrar problemas rápidamente, mientras más inteligentes y fluidas sean nuestras pruebas es más probable que encontremos la prueba correcta en el en el momento correcto, Ahí es donde el poder del Exploratory Testing entra en juego: la riqueza de este proceso sólo está limitado por la amplitud y profundidad de nuestra imaginación y nuestras ideas emergentes en la naturaleza del producto que se está probando.

Definitiva y totalmente hay ocasiones en donde la repetitividad y la eficiencia juegan un rol muy importante, en donde debemos crear casos de prueba e incluso automatizarlos, incluso poner un ejemplo sería excesivo, Exploratory Testing  es especialmente útil en situaciones de pruebas complejas, cuando se sabe poco sobre el producto, o como parte de la preparación de una serie de pruebas con casos diseñados previamente.

Exploratory Testing es uno de los pilares del Context-Driven Testing, y no es muy utilizado formalmente en la mayoría de los proyectos, pero después de leer este post estoy seguro que tu percepción sobre la forma de hacer pruebas se ha enriquecido; El conocimiento se ha compartido así que la tarea esta hecha!


Escrito por:Miguel Hernandez