¿Qué es la caja gris?
Gray box es la prueba de 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 pirata informático tiene que usar información limitada para identificar las fortalezas y debilidades de la red de seguridad de un objetivo.
DESMONTAJE Caja gris
La caja gris es el híbrido de la prueba de caja blanca, donde el probador 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. Para entender la prueba de caja gris, primero debemos entender el negro prueba de caja y prueba de caja blanca.
Prueba de caja negra y caja blanca
Las pruebas de recuadro negro no miran más que las entradas del usuario y la salida que produce el software dadas esas entradas. Las pruebas de recuadro negro 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 usa en pruebas de sistema y 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 del 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, incluido el lenguaje de programación relevante. Es un tipo de prueba de bajo nivel utilizada en pruebas unitarias y pruebas de indicación. Los ingenieros de software necesitan comprender el lenguaje de programación utilizado para crear la aplicación para poder 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 caja blanca no obtiene el resultado esperado de una entrada dada, el resultado se considera un error que debe corregirse.
Prueba de caja gris
La prueba de caja gris incluye componentes importantes de las pruebas de caja en blanco y negro para obtener un mejor resultado que cualquiera de los dos 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. La prueba de caja gris puede ser manual o automatizada. Es más exhaustivo y requiere más tiempo que las pruebas de caja negra, pero no tanto como las pruebas de caja blanca. Los probadores de caja gris requieren documentos de diseño detallados.
La prueba de recuadro gris implica identificar entradas, identificar salidas, identificar rutas principales e identificar subfunciones. Luego pasa a desarrollar entradas y salidas para subfunciones, ejecutar casos de prueba para subfunciones y verificar esos resultados.
Ejemplo de caja gris
Un probador de caja gris puede 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 puede 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) y luego verificaría que la calculadora proporcione las salidas correctas dadas esas entradas. El probador de recuadro gris tiene acceso al código HTML de la calculadora y puede cambiarlo si se identifica algún error.
La prueba de recuadro gris analiza tanto la interfaz de usuario de la aplicación, o la capa de presentación, como 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 recuadro 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 como la prueba de matriz, la prueba de regresión, la prueba de matriz ortogonal y la prueba de patrones. Los probadores de caja gris tienen más probabilidades de 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. La prueba de caja gris a veces se llama prueba translúcida, mientras que la prueba de caja blanca a veces se llama prueba clara y la prueba de caja negra también se puede llamar prueba opaca.