Recientemente, en el proyecto del que formo parte, hemos acordado con el cliente comenzar a realizar test exploratorio para complementar el smoke test que ya hace tiempo que venimos realizando. Esto nos aporta un beneficio mutuo; el equipo de testing puede aprender más sobre el sistema sobre el que trabajamos y el cliente obtiene una mayor cobertura sobre nuevas áreas de su firmware que potencialmente podrían tener errores.
El test exploratorio fue introducido en los años 80 y se definió como la elaboración de pruebas que se diseñaban al mismo tiempo que se ejecutaban. Quien efectúa dichas pruebas aprende a utilizar el producto, a interpretar los resultados obtenidos y, junto con su experiencia, a optimizar la calidad de los casos de prueba todo ello de forma simultánea.
Aunque puede parecer bastante aleatorio, tiene algunos elementos que se deberían respetar durante su planificación/ejecución. En cada sesión se debería tener un objetivo principal, el cual no puede ser ni muy genérico, ni tampoco abrumadoramente específico. Por ejemplo, podemos acordar hacer un test exploratorio del apartado de compra de billetes de vuelos nacionales en la aplicación de una aerolínea o verificar la impresión en escala de grises de una determinada impresora. Además, debemos tener en mente que el tiempo que no se debe exceder en cada ejecución es de 3 horas. También es muy recomendable realizar un informe con los tests realizados y una breve descripción de como reproducir los posibles errores detectados, a fin de poder hacer un seguimiento de la evolución de nuestras tareas. Aquí los dejo enumerados:
- Sesiones con objetivos
- Tiempo de realización menor de 3 horas.
- Informes detallando los tests y errores encontrados.
El exploratorio es un estilo de testing que enfatiza la libertad del tester, quien es clave ya que de una forma muy individual aporta sus propios conocimientos, puntos de vista, responsabilidad y sobre todo su instinto. Cabe destacar que la neurociencia moderna indica que el instinto forma parte de un proceso de razonamiento. Por ejemplo, cuando un portero de un equipo de fútbol tiene la intuición de que otro jugador va a chutar un balón en una determinada dirección, su corazonada se basa en multitud de detalles como la posición del cuerpo, la mirada y sus experiencias pasadas, entre otros. Todo esto forma parte del aprendizaje racional, solo que sucede de forma inconsciente. Por esta razón los testers con un gran recorrido en un proyecto en concreto o con una mayor experiencia en el sector del testing, serán los más adecuados para realizar tests exploratorios.
Las principales ventajas que podemos obtener de la planificación de test exploratorio en nuestros proyectos son:
- Es un sistema relativamente fácil de implementar. No se necesita una gran cantidad de documentación formal para su puesta en marcha. Esto disminuye la carga del equipo de proyecto.
- Es rápido de ejecutar y está planificado. No consiste simplemente a recorrer aleatoriamente un sistema, sino que debemos pensar en cada sesión qué queremos probar. Con 3 horas ya se obtienen resultados.
- Es ágil. Se puede proporcionar feedback en tiempo real al equipo de desarrollo del estado del sistema en un área determinada.
- Es efectivo. Se encuentran errores reproducibles nada más comenzar.
- Nos permite adaptarnos rápidamente a los cambios. Podemos tomar decisiones al momento en función de los resultados obtenidos y a las necesidades encontradas.
- Permite al equipo de testing ser creativo y le motiva a aprender más sobre un proyecto.
- Es un gran complemento a las pruebas automatizadas. Sabemos que la automatización puede encontrar fácilmente errores comunes en el código, pero no pueden determinar si la aplicación funcionará de la manera que un usuario quiere.
En conclusión, si usamos el test exploratorio maximizamos enormemente la optimización de nuestro trabajo permitiéndonos encontrar más errores y ampliar las áreas sobre las que actuamos.
¿Creéis que podéis aplicar el test exploratorio en vuestro proyecto?
Joan Camprodon
Digital Assurance & Testing en SOGETI
0 comments on “Exploratory Test: el poder del instinto”