oráculos de prueba

Test Oracle es un mecanismo, diferente del propio programa, que se puede utilizar para probar la precisión de la salida de un programa para casos de prueba. Conceptualmente, podemos considerar probar un proceso en el que se dan casos de prueba para probar y el programa bajo prueba. La salida de los dos luego se compara para determinar si el programa se comporta correctamente para los casos de prueba. Esto se muestra en la figura. 

Se requieren oráculos de prueba para la prueba. Idealmente, queremos un oráculo automatizado, que siempre dé la respuesta correcta. Sin embargo, a menudo los oráculos son seres humanos, que en su mayoría calculan a mano cuál debería ser el resultado del programa. Como a menudo es muy difícil determinar si el comportamiento corresponde al comportamiento esperado, nuestras “deidades humanas” pueden cometer errores. En consecuencia, cuando hay una discrepancia entre el programa y el resultado, debemos verificar el resultado producido por el oráculo antes de declarar que hay un defecto en el resultado. 

Los oráculos humanos suelen utilizar las especificaciones del programa para decidir cuál debe ser el comportamiento correcto del programa. Para ayudar a Oracle a determinar el comportamiento correcto, es importante que el comportamiento del sistema o componente se especifique explícitamente y que la especificación en sí esté libre de errores. En otras palabras, especifica realmente el comportamiento verdadero y correcto. 

Existen algunos sistemas donde los oráculos se generan automáticamente a partir de las especificaciones de programas o módulos. Con tales oráculos, estamos seguros de que la salida del oráculo se ajusta a las especificaciones. Sin embargo, incluso este enfoque no resuelve todos nuestros problemas, ya que existe la posibilidad de errores en las especificaciones. Como resultado, un divino generado a partir de las especificaciones corregirá el resultado si las especificaciones son correctas, y esta especificación no será confiable en caso de errores. Además, los sistemas que generan oráculos a partir de especificaciones requieren especificaciones formales, que a menudo no se generan durante el diseño.
 

Publicación traducida automáticamente

Artículo escrito por rajkumarupadhyay515 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *