Caja gris

DEFINICIÓN de 'Caja gris'

La prueba del software con conocimiento limitado de su funcionamiento interno. La prueba de caja gris es una técnica de piratería ética en la que el hacker tiene que usar información limitada para identificar las fortalezas y debilidades de la red de seguridad de un objetivo. Gray Box es el híbrido de las pruebas de caja blanca, donde el examinador examina la lógica interna y la estructura del código del software, y la prueba de caja negra, donde el probador no sabe nada sobre el código del software.

ABAJO "Caja gris"

Para comprender las pruebas de caja gris, primero debemos entender las pruebas de caja negra y de caja blanca.

Las pruebas de Black Box no son más que entradas del usuario y qué salida produce el software dadas 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 utilizada en las pruebas del sistema y 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 tiene una perspectiva del usuario final en la que el probador de caja negra no sabe cómo se generan las salidas a partir de las entradas.

Las pruebas de caja blanca requieren un conocimiento profundo de las técnicas y plataformas utilizadas para crear el software, incluido el lenguaje de programación pertinente. Es un tipo de prueba de bajo nivel utilizada en las pruebas unitarias y las pruebas de indicación. Los ingenieros de software necesitan comprender el lenguaje de programación utilizado para crear la aplicación para que puedan entender su código fuente. Los propósitos principales de la prueba de caja blanca son reforzar la seguridad, examinar cómo fluyen las entradas y salidas a través de la aplicación, y mejorar el diseño y la usabilidad. Cuando un probador de caja blanca no obtiene el resultado esperado de una entrada determinada, el resultado se considera un error que debe corregirse.

Las pruebas de caja gris incluyen componentes importantes de las pruebas de caja en blanco y negro para obtener un mejor resultado del que cualquiera podría obtener solo. Tanto los usuarios finales como los desarrolladores realizan pruebas de caja gris con conocimiento limitado (parcial) del código fuente de una aplicación. Las pruebas de caja gris pueden ser manuales o automáticas. Es más completo y lleva más tiempo que las pruebas de caja negra, pero no es tan exhaustivo ni consume tanto tiempo 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 productos, la identificación de rutas principales y la identificación de subfunciones. Luego pasa al desarrollo de entradas y salidas para subfunciones, la ejecución de casos de prueba para subfunciones y la verificación de esos resultados.

Por ejemplo, un probador de caja gris podría verificar y corregir los enlaces en un sitio web. Si un enlace no funciona, el probador cambia el código HTML para intentar que el enlace funcione, luego vuelve a verificar la interfaz de usuario para ver si el enlace funciona.Un probador de caja gris también podría probar una calculadora en línea. El probador definiría entradas-fórmulas matemáticas como 1 + 1, 2 * 2, 5-4 y 15/3-luego verifica que la calculadora proporcione las salidas correctas dadas esas entradas. El probador de caja gris tiene acceso al código HTML de la calculadora y puede cambiarlo si se identifican errores.

La prueba de caja gris examina tanto la interfaz de usuario de la aplicación, como la capa de presentación, y su funcionamiento interno o código. Se utiliza principalmente en pruebas de integración y pruebas de penetración, pero no es adecuado para pruebas de algoritmos. La prueba de caja gris generalmente se usa para probar la interfaz de usuario, la seguridad o la funcionalidad en línea de una aplicación a través de técnicas tales como pruebas de matriz, pruebas de regresión, pruebas de matriz ortogonal y pruebas de patrones. Los probadores de caja gris son más propensos a identificar problemas específicos del contexto.

"Gris" se refiere a la capacidad parcial del probador para ver el funcionamiento interno de la aplicación. "Blanco" se refiere a la capacidad de ver a través de la interfaz del software su funcionamiento interno y "negro" se refiere a la incapacidad de ver el funcionamiento interno del software. Las pruebas de caja gris a veces se llaman pruebas translúcidas, mientras que las pruebas de caja blanca a veces se llaman pruebas claras y las pruebas de caja negra también se pueden llamar pruebas opacas.