- Ahorro de tiempo: Evita el lento proceso de escribir casos de prueba formales, por lo que es ideal para plazos ajustados.
- Complementa las pruebas formales: Encuentra errores más profundos u oscuros que los conjuntos de pruebas estructurados no detectan.
- Flexibilidad: Se adapta perfectamente cuando los requisitos son incompletos o cambian.
- Técnicas utilizadas en las pruebas ad hoc
Las técnicas de prueba ad hoc son métodos informales utilizados por los probadores para identificar rápidamente defectos sin casos de prueba predefinidos. Estas técnicas se basan en la experiencia, la intuición y la exploración aleatoria de la aplicación.
- Adivinación de errores: basada en la experiencia del evaluador para predecir áreas propensas a defectos, centrándose en errores comunes y módulos de riesgo.
- Prueba de entrada aleatoria: uso de datos inesperados o no válidos para comprobar el comportamiento del sistema y asegurarse de que la aplicación maneja correctamente las entradas inusuales.
- Prueba de límites (informal): prueba de valores de entrada mínimos y máximos para identificar errores en los bordes de los límites de entrada.
- Enfoque de pruebas exploratorias:aprendizaje y prueba de la aplicación simultáneamente sin casos de prueba predefinidos para detectar defectos de forma dinámica.
- Pruebas con monos:realizar acciones aleatorias sin lógica para comprobar la estabilidad del sistema e identificar los fallos.
- Pruebas basadas en sesiones: realización de pruebas en sesiones breves y centradas para cubrir módulos específicos de forma eficaz.
- Pruebas negativas: uso de entradas incorrectas o no válidas para verificar que el sistema maneja los errores y las validaciones correctamente.
- Prueba de escenarios de usuario: simulación del comportamiento real del usuario para garantizar que la aplicación funciona correctamente en situaciones reales e identificar problemas de usabilidad
Ejemplo: Aplicación móvil
Un evaluador realiza acciones aleatorias en una aplicación móvil:
- Cambio rápido entre pantallas
- Girar el dispositivo con frecuencia
- Usar la aplicación con una conexión a Internet baja
- Abrir varias funciones a la vez
Esto puede descubrir problemas de rendimiento, fallos en la interfaz de usuario o bloqueos de aplicaciones.
Condiciones ideales para las pruebas ad hoc
La más eficaz cuando el tiempo es limitado, los evaluadores tienen un sólido conocimiento del dominio y se necesitan comprobaciones exploratorias rápidas para descubrir defectos ocultos.
- Cuando el tiempo de prueba es limitado.
- Una vez finalizadas las pruebas formales.
- Cuando se requiere una validación rápida de una función o módulo.
- Cuando no se dispone de casos de prueba detallados.
- Cuando el desarrollo está casi completo.
- Al probar áreas de alto riesgo o propensas a errores.
Limitaciones de las pruebas ad hoc
Carece de documentación y estructura, lo que dificulta la reproducción de los defectos y garantiza una cobertura completa de los ensayos.
- No hay documentación adecuada, lo que dificulta el seguimiento posterior de los defectos.
- La cobertura de los ensayos no está garantizada debido a su naturaleza no estructurada.
- Depende en gran medida de la experiencia y los conocimientos del evaluador.
- Los problemas encontrados pueden ser difíciles de reproducir.
- No se pueden reemplazar los métodos de prueba formales y sistemáticos.
Ventajas de las pruebas ad hoc
Ayuda a identificar defectos inesperados rápidamente sin casos de prueba formales, lo que ahorra tiempo y mejora la cobertura general de las pruebas.
- Identifica errores que pueden no encontrarse a través de casos de prueba escritos.
- Se puede realizar en poco tiempo, especialmente cuando los plazos son ajustados.
- Fomenta el pensamiento creativo y ayuda a generar nuevos escenarios de prueba.
- Mejora la calidad del producto al descubrir problemas inesperados.
- Se puede llevar a cabo en cualquier etapa del proceso de ciclo de vida de desarrollo de software (SDLC).
Prácticas recomendadas para realizar pruebas ad hoc
- Poseer Un Sólido Conocimiento Del Producto: Comprender la aplicación y su funcionalidad con claridad.
- Identificar áreas propensas a errores: Céntrese en los módulos en los que es probable que se produzcan defectos.
- Dé prioridad a las funciones críticas: Pruebe primero las áreas importantes y de alto riesgo.
- Planificación a nivel básico: Tenga una idea aproximada de lo que debe probar, incluso sin casos de prueba formales.
- Utilice Las Herramientas Adecuadas: Utilice herramientas de depuración y prueba para mejorar la eficacia.
- https://www.youtube.com/
- https://fdk-stage.cisco.com/c/en/us/support/docs/licensing/ask-licensing/cda/device-management/lic219871-this-is-the-test-article-to-check-the.html
- https://www.geeksforgeeks.org/software-engineering/adhoc-testing-in-software/