Pruebas de caja negra


La prueba de caja negra es un método de prueba de software que examina la funcionalidad de una aplicación sin examinar sus estructuras internas o su funcionamiento. Este método de prueba se puede aplicar virtualmente a todos los niveles de prueba de software: unidad , integración , sistema y aceptación . A veces se denomina prueba basada en especificaciones. [1]

No se requieren conocimientos específicos del código de la aplicación, estructura interna y conocimientos de programación en general. [2] El evaluador es consciente de lo que se supone que debe hacer el software, pero no sabe cómo lo hace. Por ejemplo, el probador es consciente de que una entrada en particular devuelve una salida determinada e invariable, pero no sabe cómo el software produce la salida en primer lugar. [3]

Los casos de prueba se construyen en torno a especificaciones y requisitos, es decir, lo que se supone que debe hacer la aplicación. Los casos de prueba generalmente se derivan de descripciones externas del software, incluidas especificaciones, requisitos y parámetros de diseño. Aunque las pruebas utilizadas son principalmente de naturaleza funcional , también se pueden utilizar pruebas no funcionales . El diseñador de pruebas selecciona entradas válidas e inválidas y determina la salida correcta, a menudo con la ayuda de un oráculo de prueba o un resultado anterior que se sabe que es bueno, sin ningún conocimiento de la estructura interna del objeto de prueba.

En las pruebas de penetración, las pruebas de caja negra se refieren a un método en el que un hacker ético no tiene conocimiento del sistema que está siendo atacado. El objetivo de una prueba de penetración de caja negra es simular un ataque externo de piratería informática o guerra cibernética.