Las pruebas adhoc se suelen realizar para romper el sistema y utilizando formas no convencionales. La característica más asombrosa de las pruebas Adhoc es que no tienen ninguna técnica de diseño de pruebas para crear casos de prueba.
El proceso se realiza normalmente para encontrar las lagunas de un software. Dado que las pruebas Adhoc no tienen casos de prueba, a menudo se realizan sin ninguna documentación.
Echa un vistazo al proceso en detalle
Las pruebas Ad-Hoc son una técnica que entra en la categoría de ‘Pruebas no estructuradas’.
- ¿Qué es la prueba estructurada y la no estructurada?
- Prueba estructurada
- Pruebas no estructuradas
- ¿Qué es la Prueba Adhoc?
- Tipos de Pruebas Adhoc
- 1) Buddy Testing
- 2) Monkey Testing
- 3) Pruebas por parejas
- Características de las pruebas adhoc
- Ejemplos de pruebas Adhoc
- Cuándo realizar pruebas ad hoc
- ¿Cuáles son las ventajas de las pruebas ad hoc?
- ¿Cuáles son las desventajas de las pruebas ad hoc?
- Mejores prácticas para llevar a cabo pruebas Adhoc
- 1) Buen conocimiento del software
- 2) Averiguar las áreas propensas a errores
- 3) Dar prioridad a las áreas de prueba
- 4) Planificar aproximadamente el plan de pruebas
- 5) Herramientas
¿Qué es la prueba estructurada y la no estructurada?
Prueba estructurada
En este enfoque, cada actividad que ocurre durante el procedimiento de prueba, desde la creación de casos de prueba hasta su ejecución secuencial, todo está guionizado. Los probadores siguen este guión para llevar a cabo las pruebas de acuerdo con él.
Pruebas no estructuradas
En este enfoque, las pruebas se realizan comúnmente a través de la adivinación de errores, donde los probadores crean los casos de prueba, durante el propio proceso de pruebas.
¿Qué es la Prueba Adhoc?
Como se ha comentado anteriormente, es un tipo de enfoque de prueba no estructurado, en el que no se crea un plan organizado antes de comenzar el proceso de prueba.
Por lo tanto, antes de la prueba, no se realiza ninguna documentación de requisitos o planificación y diseño de casos de prueba.
Las pruebas ad hoc suelen ser llevadas a cabo por un probador que tiene un gran conocimiento del software que se está probando, en cuanto a lo que hace y cómo funciona.
Estas pruebas se realizan creando casos de prueba al azar mediante la adivinación de errores y ejecutándolos, sin seguir ningún requisito para la prueba.
Una parte importante de estas pruebas consiste en averiguar las áreas potenciales del software, en las que podría haber errores.
Por eso también se conoce a veces como Monkey Testing o Random Testing. Por eso es importante que sólo los probadores que tienen un buen conocimiento del software lleven a cabo esta prueba.
Una ventaja de las pruebas Ad-Hoc es que ahorran mucho tiempo, que de otro modo se emplea en la creación de documentos como los requisitos de las pruebas, la planificación de los casos de prueba, el diseño, etc.
También se lleva a cabo generalmente después de que se hayan realizado las pruebas estructuradas. Esto se hace, con el fin de encontrar fallas poco comunes en el software que no pudieron ser detectadas siguiendo los casos de prueba escritos previamente.
Tipos de Pruebas Adhoc
1) Buddy Testing
En este tipo de pruebas Ad-Hoc, las pruebas se llevan a cabo con el esfuerzo del equipo de al menos dos personas. Este equipo suele estar formado por al menos un probador de software y un desarrollador de software.
Este tipo de pruebas tiene lugar después de que se haya completado la realización de las pruebas unitarias de un módulo.
El equipo de los dos «compañeros» trabaja conjuntamente en ese módulo para crear casos de prueba válidos.
Esto se hace para que el probador no acabe informando de errores generados a través de casos de prueba no válidos. Este tipo de pruebas también puede considerarse como la combinación de las pruebas unitarias y del sistema.
2) Monkey Testing
La aleatoriedad del enfoque utilizado en estas pruebas es la razón por la que se denomina «monkey testing».
Aquí, el software sometido a prueba recibe entradas aleatorias, para las que se observan sus correspondientes salidas.
Sobre la base de las salidas obtenidas, se determina cualquier aparición de errores, incoherencias o fallos del sistema.
3) Pruebas por parejas
Estas pruebas son muy parecidas a las pruebas por parejas. Sin embargo, aquí, un par de sólo los probadores trabajan juntos en los módulos para la prueba.
Trabajan juntos para compartir ideas, opiniones y conocimientos sobre la misma máquina para identificar errores y defectos.
Los probadores se emparejan según sus niveles de conocimiento y experiencia, para obtener una visión diferente de cualquier problema.
Características de las pruebas adhoc
- Estas pruebas se realizan después de que las técnicas de pruebas formales ya se hayan llevado a cabo en el software. El motivo es que las pruebas ad hoc se realizan para descubrir las anomalías de la aplicación, que no pueden predecirse antes de las pruebas.
- Estas pruebas sólo pueden ser realizadas por aquellos probadores que tienen un buen y profundo conocimiento del funcionamiento de la aplicación. Esto se debe a que la «adivinación de errores» sólo puede realizarse cuando el probador conoce lo que hace la aplicación y cómo funciona.
- La técnica de pruebas ad hoc es la más adecuada para encontrar errores e incoherencias que dan lugar a lagunas críticas en una aplicación. Estos errores suelen ser muy difíciles de descubrir.
- Esta prueba lleva comparativamente menos tiempo que otras técnicas de prueba. Esto se debe a que se realiza sin una planificación, diseño y estructuración previos.
- Las pruebas Ad-Hoc se llevan a cabo sólo una vez, ya que cualquier error que se encuentre requiere volver a probarse.
Ejemplos de pruebas Adhoc
- Prueba del correcto funcionamiento de una aplicación cuando la configuración del navegador es diferente. Por ejemplo, identificar los errores que se producen cuando la opción de JavaScript está desactivada en diferentes navegadores, etc.
- Pruebas de la aplicación en distintas plataformas. Es esencial comprobar si la aplicación desarrollada puede ejecutarse con fluidez en diferentes sistemas operativos o navegadores.
- Proporcionar entradas al sistema que estén fuera del rango de entradas válidas, para comprobar si la acción resultante tomada por la aplicación es apropiada o no.
- Copiar la URL de la aplicación y manipularla para que se ejecute en un navegador diferente. Esto se hace para asegurarse de que cualquier usuario no autorizado no es capaz de obtener acceso no autenticado al sistema.
- Pasar por una serie de pasos aleatorios o navegar al azar a través de la aplicación con el fin de comprobar los resultados obtenidos al pasar por una determinada combinación de entradas inusuales.
Cuándo realizar pruebas ad hoc
Por lo general, las pruebas ad hoc se llevan a cabo cuando no hay tiempo suficiente para realizar pruebas exhaustivas y minuciosas que incluyen la preparación del documento de requisitos de prueba, casos de prueba y diseños de casos de prueba.
El momento perfecto para llevar a cabo este tipo de pruebas es después de la finalización de las técnicas de pruebas formales.
Sin embargo, las pruebas ad-hoc también pueden llevarse a cabo en medio del desarrollo del software.
Puede realizarse después del desarrollo completo del software, o incluso después de que se hayan desarrollado algunos módulos.
También puede llevarse a cabo durante el proceso de los métodos de prueba formales.
Hay algunas situaciones en las que estas pruebas, sin embargo, no deben llevarse a cabo. Por lo tanto, cada probador debe saber cuándo evitar esta prueba.
A continuación se presentan algunas condiciones cuando las pruebas ad-hoc no deben llevarse a cabo:
- Las pruebas ad-hoc no deben llevarse a cabo cuando las pruebas Beta se están llevando a cabo. Esto se debe a que en las pruebas Beta participan los clientes, que prueban el software desarrollado para aportar sugerencias sobre nuevas características que deben añadirse o para cambiar los requisitos del mismo.
- También se aconseja no realizar estas pruebas en los casos de prueba que ya contienen errores. En primer lugar, los errores deben documentarse adecuadamente antes de eliminarlos del sistema. Una vez corregidos, los casos de prueba deben volver a probarse para garantizar su correcto funcionamiento.
¿Cuáles son las ventajas de las pruebas ad hoc?
- Una de las ventajas de las pruebas ad hoc es que muchos errores, que suelen pasar desapercibidos cuando sólo se utilizan métodos de prueba formales, pueden encontrarse probando la aplicación de forma aleatoria.
- Los probadores pueden explorar la aplicación libremente, según su intuición y comprensión de la misma. A continuación, pueden ejecutar las pruebas sobre la marcha, lo que les ayuda a encontrar errores durante este proceso.
- Los probadores, así como los desarrolladores de la aplicación, pueden probar fácilmente la aplicación, ya que no es necesario planificar y diseñar casos de prueba. Esto ayuda a los desarrolladores a generar códigos más efectivos y libres de errores fácilmente.
- Esta prueba también puede ayudar en la creación de casos de prueba únicos que pueden detectar errores de manera ineficaz. Por lo tanto, dichos casos de prueba pueden añadirse a las pruebas formales con otros casos de prueba planificados.
- Las pruebas ad hoc pueden llevarse a cabo en cualquier momento del ciclo de vida de desarrollo del software porque no siguen ningún proceso formal.
- Puede combinarse con otras técnicas de prueba y ejecutarse para producir resultados más informativos y eficaces.
¿Cuáles son las desventajas de las pruebas ad hoc?
- Dado que el proceso de prueba no está documentado y no se sigue ningún caso de prueba en particular, resulta muy difícil para el probador regenerar un error. Esto se debe a que el probador necesita recordar los pasos exactos que siguió para obtener ese error, lo que no es posible en todas las ocasiones.
- A veces, debido a la ejecución de casos de prueba no válidos desarrollados aleatoriamente por el probador, se reportan errores no válidos, lo que se convierte en un problema en los procesos posteriores de corrección de errores.
- Si los probadores no tienen conocimiento previo sobre el funcionamiento de la aplicación bajo prueba, entonces la realización de pruebas ad-hoc no será capaz de descubrir muchos errores. Esto se debe a que los probadores necesitan trabajar a través de la adivinación de errores y crear y ejecutar intuitivamente los casos de prueba en el momento.
- Las pruebas ad-hoc no proporcionan la seguridad de que se encontrarán los errores. La adivinación proactiva de errores para las pruebas depende totalmente de la habilidad y el conocimiento del probador.
- Como no hay casos de prueba previamente creados y documentados, la cantidad de tiempo y esfuerzos que se dedican a estas pruebas sigue siendo incierta. A veces, encontrar incluso un solo error podría llevar una enorme cantidad de tiempo.
Mejores prácticas para llevar a cabo pruebas Adhoc
Para llevar a cabo eficazmente la técnica de pruebas Ad-Hoc, es importante conocer las formas más efectivas y eficientes de hacerlo.
Esto se debe a que si las pruebas no se llevan a cabo de una manera adecuada, entonces el esfuerzo y el tiempo puesto en las pruebas se desperdiciará.
Por lo tanto, para llevar a cabo este tipo de pruebas, uno debe conocer las mejores prácticas que pueden ayudar en un enfoque más completo de las pruebas:
1) Buen conocimiento del software
Asegúrese de que el probador asignado para las pruebas de la aplicación a través del enfoque ad-hoc tiene un buen dominio de la aplicación.
El probador debe estar familiarizado con todas las características de la aplicación para facilitar una mejor «adivinación de errores» en la aplicación.
Con un conocimiento suficiente que respalde el proceso de prueba del probador, encontrar más errores, fallos e inconsistencias se hace más fácil.
2) Averiguar las áreas propensas a errores
Si los probadores, como no están familiarizados con la aplicación, entonces la mejor práctica para que comiencen su proceso de pruebas es comprobar la parte de la aplicación donde se encuentran la mayoría de los errores.
Elegir estas áreas sensibles para realizar pruebas ad-hoc puede ayudarles a encontrar los errores más fácilmente.
3) Dar prioridad a las áreas de prueba
Siempre es mejor empezar las pruebas por las áreas de la aplicación más utilizadas por los usuarios finales o clientes. Esto ayuda a asegurar las características importantes y a informar de cualquier error de antemano.
4) Planificar aproximadamente el plan de pruebas
Aunque las pruebas Adhoc no requieren una planificación o documentación previa, resultan muy útiles y eficientes si se crea un plan aproximado de antemano.
El simple hecho de anotar los puntos principales y las áreas que requieren pruebas puede ayudar a los probadores a cubrir la máxima parte de la aplicación en un corto espacio de tiempo.
5) Herramientas
Es esencial hacer uso del tipo adecuado de herramientas como depuradores, monitores de tareas y perfiladores para facilitar el proceso de pruebas.
Esto se debe a que hay ocasiones en las que errores y excepciones específicos no pueden verse y no se detectan mientras se realizan las pruebas.
Sin embargo, el uso de las herramientas adecuadas puede ayudar a aislar el error en poco tiempo.
Pruebas adhoc vs pruebas exploratorias
Pruebas adhoc | Pruebas exploratorias |
Los probadores deben tener una idea clara sobre el flujo de trabajo de la aplicación | Los probadores aprenden sobre la aplicación sobre la marcha |
Más sobre el perfeccionamiento del proceso de pruebas | Es un método de aprendizaje para conocer la aplicación |
Una forma de pruebas positivas | Una forma de sistema negativo |
No hay plan | Se pondrá en marcha un plan basado en la carta |
No hay límite de tiempo propuesto | Caja de tiempo/vector de caracteres |
Puede ser ejecutado por el ingeniero de pruebas de software | Debe ser hecho por el experto |
Se centra en el proceso de aplicación | Las áreas de entrada de datos serán el foco principal |
Las complejidades de las pruebas no molestarán mucho este proceso | Desafíos involucrados |