Testing aleatorio

En el desarrollo de software, el testing es una de las tareas más importantes, pero también es compleja y no siempre adoptada correctamente.

Las Prueba unitaria, de carga, integración y funcionales son distintos tipos de testing, cada uno con objetivos diferentes y aplicados en diferentes etapas del desarrollo del software.

Buscando ampliar el ámbito de las pruebas de unidad, se han aplicado diversas técnicas que van desde la automatización de pasos o caminos de ejecución, con valores fijos o componentes predefinidos (hard-coded) o estáticos, y condiciones específicas, hasta los enfoques basados en la generación de objetos de manera aleatoria,[1]​ aplicados a la Programación Orientada a Objetos.

El fundamento básico de este enfoque propuesto es el testing aleatorio.

Por ej., en el paradigma funcional existe una herramienta para probar especificaciones sobre funciones llamada QuickCheck.