En inglés: Gray Box
Qué es’Caja gris’
La caja gris es la prueba de software con un conocimiento limitado de su funcionamiento interno. Las pruebas de caja gris son una técnica de hacking ético en la que el hacker tiene que utilizar información limitada para identificar las fortalezas y debilidades de la red de seguridad de un objetivo.
DESGLOSE ‘Caja gris’
La caja gris es el híbrido de la prueba de la caja blanca, donde el probador examina la lógica interna y la estructura del código del software, y la prueba de la caja negra, donde el probador no sabe nada sobre el código del software.
Pruebas de caja negra y caja blanca
Las pruebas de caja negra no miran más que las entradas del usuario y qué salida produce el software con esas entradas. Las pruebas de caja negra no requieren ningún conocimiento del lenguaje de programación u otros detalles técnicos. Es un tipo de prueba de alto nivel que se utiliza en las pruebas del sistema y en las pruebas de aceptación. Los ingenieros de software requieren un documento de especificación de requisitos de software (SRS) para realizar pruebas de caja negra. Esta prueba toma una perspectiva de usuario final donde el probador de caja negra no sabe cómo se generan las salidas de las entradas.
Las pruebas de caja blanca requieren un conocimiento profundo de las técnicas y plataformas utilizadas para construir software, incluyendo el lenguaje de programación relevante. Es un tipo de prueba de bajo nivel utilizado en pruebas unitarias y pruebas de indicación. Los ingenieros de software necesitan entender el lenguaje de programación utilizado para crear la aplicación para que puedan entender su código fuente. Los propósitos principales de las pruebas de caja blanca son fortalecer la seguridad, examinar cómo las entradas y salidas fluyen a través de la aplicación y mejorar el diseño y la usabilidad. Cuando un probador de cajas blancas no obtiene la salida esperada de una entrada dada, el resultado se considera un error que necesita ser corregido.
Pruebas de cajas grises
Las pruebas de caja gris incluyen componentes importantes de las pruebas de caja blanca y negra para obtener un mejor resultado que el que cualquiera de los dos podría obtener por sí solo. Tanto los usuarios finales como los desarrolladores realizan pruebas de caja gris con un conocimiento limitado (parcial) del código fuente de una aplicación. Las pruebas de caja gris pueden ser manuales o automatizadas. Es más completo y consume más tiempo que las pruebas de caja negra, pero no tanto como las pruebas de caja blanca. Los probadores de cajas grises requieren documentos de diseño detallados.
Las pruebas de caja gris implican la identificación de entradas, la identificación de salidas, la identificación de rutas principales y la identificación de subfunciones. A continuación, pasa a desarrollar entradas y salidas para las subfunciones, ejecutar casos de prueba para las subfunciones y verificar esos resultados.
Ejemplo de caja gris
Un probador de cajas grises puede comprobar y corregir los enlaces de un sitio web. Si un enlace no funciona, el probador cambia el código HTML para intentar que el enlace funcione, y luego vuelve a comprobar la interfaz de usuario para ver si el enlace funciona. Un probador de cajas grises también puede probar una calculadora en línea. El probador definiría las entradas -fórmulas matemáticas como 1+1, 2*2, 5-4 y 15/3- y luego comprobaría que la calculadora proporciona las salidas correctas dadas esas entradas. El probador de cajas grises tiene acceso al código HTML de la calculadora y puede cambiarlo si se identifica algún error.
La prueba de caja gris examina tanto la interfaz de usuario de la aplicación como la capa de presentación.