Las pruebas aleatorias son pruebas de software en las que el sistema se prueba con la ayuda de generar entradas y casos de prueba aleatorios e independientes. Las pruebas aleatorias también se denominan pruebas con monos. Es una técnica de esquema de evaluación de caja negra en la que las pruebas se eligen al azar y los resultados se comparan mediante alguna identificación de software para verificar si el resultado es correcto o incorrecto.
Algunos puntos importantes sobre las pruebas aleatorias:
- Melvin Breuer examinó por primera vez las pruebas aleatorias en el año 1971.
- Esta prueba fue evaluada inicialmente por Pratima y Vishwani Agrawal en el año 1975 para verificar el resultado exitoso del software.
- Para las pruebas aleatorias, también hay un libro que contiene algunas fórmulas para la cantidad de pruebas que se pueden tomar y la cantidad de resultados exitosos y de fallas.
Pruebas aleatorias de trabajo:
Paso 1: identificar el dominio de entrada
Paso 2: seleccione las entradas de prueba de forma independiente/al azar del dominio de entrada
Paso 3: pruebe el sistema en estas entradas y forme un conjunto de prueba aleatorio
Paso 4: compare el resultado con la especificación del sistema
Paso 5: Si el informe falla, tome las medidas necesarias.
La siguiente imagen representa el funcionamiento de las pruebas aleatorias con mayor claridad.
Tipos de pruebas aleatorias
1. Generación de secuencia de entrada aleatoria: también se conoce como generador de números aleatorios (RNG) en el que se genera un número secuencial aleatorio o símbolos que no se pueden asumir durante la selección aleatoria.
2. Secuencia aleatoria de entradas de datos: en esto, todos los datos se seleccionan aleatoriamente para las entradas que se pueden usar durante la prueba.
3. Selección aleatoria de datos de una base de datos existente: el registro donde todos los datos están disponibles de ese registro, solo los datos se pueden seleccionar para probarlos después, no se pueden agregar datos adicionales que no estén disponibles en el registro.
Características de las pruebas aleatorias:
- Las pruebas aleatorias se implementan cuando no se reconoce el error en una aplicación.
- Se utiliza para comprobar la ejecución y fiabilidad del sistema.
- Nos ahorra tiempo y no necesita ningún esfuerzo extra.
- Las pruebas aleatorias son menos costosas, no necesitan conocimientos adicionales para probar el programa.
Métodos para implementar pruebas aleatorias:
Para implementar las pruebas aleatorias básicamente, se aplican cuatro pasos:
- Se analiza el dominio de entrada del usuario.
- Después de eso, de ese dominio, los datos de las entradas de prueba se eligen por separado.
- Con la ayuda de estas entradas de prueba, la prueba se ejecuta con éxito. Estas pruebas de entrada realizan conjuntos aleatorios de pruebas.
- Los resultados se comparan con la identificación del sistema. El resultado de la prueba se vuelve fallido si alguna entrada de la prueba no coincide con la original; de lo contrario, los resultados siempre son exitosos.
Ventajas de las pruebas aleatorias
- Es muy barato para que cualquiera pueda usar este software.
- No necesita ninguna inteligencia especial para acceder al programa durante las pruebas.
- Los errores se pueden rastrear muy fácilmente; puede detectar fácilmente el error durante la prueba.
- Este software carece de sesgo, lo que significa que hace que los grupos sean uniformes para la prueba y prefiere no verificar repetidamente los errores, ya que puede haber algunos cambios en los códigos durante el proceso de prueba.
Desventajas de las pruebas aleatorias
- Este software solo encuentra errores de cambios.
- No son prácticos. Algunas pruebas no serán de utilidad durante más tiempo.
- La mayor parte del tiempo se consume analizando todas las pruebas.
- No se pueden formar nuevas pruebas si sus datos no están disponibles durante la prueba.
Herramientas utilizadas para pruebas aleatorias
- QuickCheck: es una herramienta de prueba famosa, que se introdujo para Haskell y está disponible en muchos idiomas diferentes. Esta herramienta genera órdenes aleatorias de llamadas a la API que están relacionadas con el modelo y las propiedades del sistema que pueden dar resultados exitosos después de cada prueba.
- Randoop: esta herramienta proporciona un orden de métodos y un reconocimiento del constructor para las clases durante la prueba y genera pruebas JUnit.
- Simulante: Es una herramienta de Clojure que corre de acuerdo a las diferentes especificaciones del sistema, el comportamiento del modelo.
- Gram Test: esta herramienta de prueba aleatoria se basa en la gramática que está escrita en Java. Utiliza la notación BNF para especificar la gramática que se utiliza como entrada durante la prueba.
Publicación traducida automáticamente
Artículo escrito por Satyabrata_Jena y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA