Planificación de Pruebas Ad Hoc

En este artículo, hemos cubierto las pruebas Ad hoc, sus tipos, sus ventajas, sus desventajas, y las mejores prácticas para llevar a cabo las pruebas Ad hoc.

¿Qué es la Prueba Ad Hoc?

Las pruebas Ad hoc a veces se refiere como «pruebas al azar» o «pruebas de mono», se define como un tipo de prueba informal. El objetivo de este proceso es romper el sistema utilizando métodos no convencionales. Este tipo de pruebas de software no suele estar planificado y no sigue ninguna técnica de diseño de pruebas específica para crear casos de prueba.

El objetivo principal de las pruebas ad hoc es encontrar cualquier defecto mediante una comprobación aleatoria. El probador improvisa los pasos ejecutándolos arbitrariamente. Esto puede descubrir defectos muy específicos e interesantes, que se pasan por alto fácilmente al utilizar otros métodos.

El aspecto más sorprendente de las pruebas ad hoc es que no incluyen ninguna técnica de diseño de pruebas. Esto significa que, aunque este método encuentra defectos que normalmente no se encuentran, es más difícil de reproducir, ya que no hay casos de prueba escritos ni documentación.

El éxito de las pruebas ad hoc se reduce realmente a la creatividad y la persistencia del probador y a veces se debe a la pura suerte. La técnica de pruebas ad hoc entra directamente en la categoría de «pruebas no estructuradas».

Pruebas estructuradas frente a pruebas no estructuradas

Pruebas estructuradas

Este enfoque garantiza que todas las actividades que tienen lugar durante el procedimiento de pruebas están programadas, desde la creación de casos de prueba hasta la ejecución secuencial. El probador seguirá el guión para llevar a cabo las pruebas con éxito.

Pruebas no estructuradas

Este enfoque implica la realización de pruebas mediante la adivinación de errores. El probador creará casos de prueba durante el proceso de prueba.

Tipos de Método de Prueba Ad Hoc

Prueba de Compañeros

Este tipo de prueba ad hoc se realiza con un mínimo de dos personas. Tiene lugar después de que se hayan realizado y completado las pruebas unitarias de un módulo. Este tipo de pruebas también puede considerarse una combinación de pruebas de sistema y unitarias.

El objetivo principal es que dos «compañeros» trabajen en la identificación de defectos o errores en el mismo módulo al mismo tiempo. Este equipo suele estar formado por un desarrollador de software y un probador de software.

Los dos «compañeros» trabajan juntos en ese módulo para crear casos de prueba válidos. Este proceso garantiza que el probador no informe de los errores que puedan haber generado los casos de prueba no válidos.

Las pruebas con amigos han tenido éxito, ya que ayudan al probador a desarrollar mejores casos de prueba y permiten al equipo de desarrollo realizar cambios en el diseño lo antes posible.

Pruebas con monos

Debido a la naturaleza aleatoria de las pruebas, este método se ha ganado el nombre de «pruebas con monos». El Monkey Testing se realiza más comúnmente en el nivel de pruebas unitarias. Aquí, los probadores prueban aleatoriamente la aplicación o el producto sin casos de prueba. El objetivo principal del probador es analizar los datos o las pruebas de forma completamente aleatoria, asegurándose de que el sistema es capaz de soportar cualquier caída.

Los probadores proporcionan al software entradas aleatorias y observan sus correspondientes salidas. Basándose en los datos de salida, pueden determinar mejor cualquier error, incoherencia o caída del sistema.

Pair Testing

Similar al «buddy testing» en algunos aspectos, el «pair testing» implica que un par de probadores trabajen juntos en los módulos a probar. Los dos probadores compartirán ideas, conocimientos y opiniones sobre la misma máquina con el fin de identificar defectos o errores.

Este método de prueba implica el uso de probadores que se emparejan de acuerdo con sus niveles de experiencia y conocimientos, lo que permite una visión diferente de cualquier problema que identifiquen. Los dos probadores compartirán la misma configuración, compartiendo también el trabajo de las pruebas y documentando todas las observaciones entre ellos. Este método de prueba también permite que uno de los probadores ejecute las pruebas, mientras que el otro puede tomar notas sobre los hallazgos.

También puede leer: Utilizar el pair-testing para mejorar las pruebas de aceptación

Buddy vs. Pair Testing

La principal diferencia entre el buddy testing y el pair testing es que el buddy testing es una combinación de pruebas unitarias y del sistema. Otra diferencia clave es que el buddy testing lo ejecutan juntos los desarrolladores y los probadores. Las pruebas en pareja, sin embargo, son realizadas sólo por probadores que tienen diferentes niveles de conocimiento.

Cuándo y cuándo no realizar pruebas ad hoc

Las pruebas ad hoc se realizan comúnmente cuando se carece de tiempo para realizar procesos de prueba más largos y exhaustivos. El método de prueba más exhaustivo incluye la preparación de documentos de requisitos de prueba, casos de prueba y diseños de casos de prueba.

El momento ideal para llevar a cabo pruebas ad hoc es después de la finalización de todas las técnicas de prueba formales. Sin embargo, las pruebas ad hoc también pueden llevarse a cabo en medio del desarrollo del software, después del desarrollo completo del software o después de que se hayan desarrollado algunos módulos.

Es importante tener en cuenta los pocos escenarios en los que no se recomiendan las pruebas ad hoc. Algunas de las condiciones en las que no se deben realizar pruebas ad hoc son:

Cuando se realizan pruebas beta

En casos de prueba que ya tienen errores

Ventajas de las pruebas ad hoc

Una de las principales ventajas de las pruebas ad hoc es que son capaces de identificar cualquier error que normalmente pasaría desapercibido durante los métodos de prueba formales. Esto puede ahorrar mucho tiempo, ya que no requiere la planificación que requieren las pruebas estructuradas.

Otra ventaja es que los probadores pueden explorar la aplicación libremente, según su propio conocimiento y comprensión de la misma. Así, pueden ejecutar varias pruebas a medida que avanzan, lo que ayuda a identificar errores a lo largo del proceso.

En tercer lugar, los probadores y los desarrolladores de la aplicación pueden probar fácilmente la aplicación ellos mismos, ya que no requiere casos de prueba. Esto permite a los desarrolladores crear fácilmente un código más eficiente y libre de errores.

Las pruebas ad hoc también pueden combinarse con otras técnicas de prueba y ejecutarse posteriormente para producir resultados más eficaces e informativos en general.

Desventajas de las pruebas ad hoc

Una de las principales desventajas de las pruebas ad hoc es que el proceso de prueba real no está documentado, ya que no sigue un caso de prueba concreto. Esto hace más difícil que las pruebas regeneren un error. Porque, para obtener ese error, el probador necesitará recordar los pasos exactos que dio para llegar a él, lo que no siempre es posible.

Ocasionalmente, como resultado de los casos de prueba no válidos que desarrolla el probador, se reportan errores no válidos. Esto puede convertirse en un problema en los siguientes procesos de corrección de errores. Si el probador no tiene conocimiento previo sobre la funcionalidad de la aplicación bajo prueba, las pruebas ad hoc no serán útiles y no podrán identificar ningún error.

Las pruebas ad hoc tampoco garantizan que se encuentren todos los errores. El éxito de las pruebas ad hoc depende de la habilidad y los conocimientos del probador. Dado que no hay casos de prueba previamente creados o documentados, la cantidad de tiempo, esfuerzo y recursos que se dedican a estas pruebas es indeterminada. Encontrar un error puede llevar desde unos minutos hasta unas horas o más.

Mejores prácticas al realizar las pruebas

Las pruebas que no se realizan de forma correcta pueden causar una pérdida de tiempo innecesaria. Teniendo esto en cuenta, es crucial saber cómo optimizar el proceso para llevar a cabo con eficacia las pruebas ad hoc.

Las siguientes prácticas recomendadas garantizarán que el tiempo invertido en el proceso se emplee de forma inteligente con la mejor oportunidad de obtener los resultados deseados.

Estar familiarizado con el software

Es imprescindible que el probador que lleve a cabo las pruebas ad hoc tenga un sólido conocimiento y dominio de la aplicación. Es importante que el probador esté familiarizado con todas las características principales de la aplicación para asegurar una mejor «adivinación de errores». Con el conocimiento adecuado, el probador será capaz de encontrar más bugs, errores e inconsistencias en general.

Identificar las áreas propensas a tener errores

Si los probadores no están familiarizados con la aplicación, entonces se recomienda que identifiquen las áreas propensas a errores de las aplicaciones y comiencen desde allí. La selección de áreas sensibles para llevar a cabo pruebas ad hoc permitirá a los probadores encontrar errores con mayor facilidad.

Priorizar las áreas a las que el usuario final accede con mayor facilidad

Empiece por probar las áreas de la aplicación más utilizadas por los clientes y usuarios finales. De este modo, evaluarán primero las características importantes, lo que les permitirá informar de antemano de cualquier error.

Formule a grandes rasgos el plan de pruebas

Aunque las pruebas ad hoc no requieren ninguna planificación o documentación previa, es útil hacer una planificación aproximada de antemano. Tomar nota de las principales áreas que requieren pruebas ayudará al probador a cubrir todo lo posible en el menor tiempo posible.

Aumentar la eficiencia con las herramientas adecuadas

Es crucial utilizar las herramientas adecuadas, como monitores de tareas, depuradores y perfiladores, para asegurar que el proceso se ejecuta de manera eficiente. Complementan la capacidad de los probadores para aislar los errores, ya que puede haber casos en los que las excepciones no se identifican durante las pruebas.

Conclusión

Las pruebas ad hoc no requieren una planificación elaborada, documentación y diseños de casos de prueba. En cambio, ahorra tiempo debido a su naturaleza ad hoc, y mediante la selección de probadores que son creativos y tienen un conocimiento previo de la funcionalidad de la aplicación. Estas pruebas pueden ayudar a encontrar más defectos que las pruebas planificadas.

Únase a más de 60.000 suscriptores

Para obtener los últimos blogs, actualizaciones de la industria y consejos exclusivos.

*Su correo electrónico está seguro con nosotros, también odiamos el spam

Leave a Reply