En este momento estás viendo Caja gris

¿Qué es una caja gris?

El cuadro gris se refiere a las pruebas de software en las que existe un 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 debe utilizar información limitada para identificar las fortalezas y debilidades de una red de seguridad objetivo.

Conclusiones clave

  • La prueba de caja gris es una técnica para detectar errores de software o buscar exploración, donde se conoce de antemano algún conocimiento limitado del software subyacente.
  • Esta forma de «piratería ética» permite a los desarrolladores crear software de reparación y parches para evitar que atacantes malintencionados utilicen estos beneficios.
  • Una prueba de caja gris es esencialmente una combinación de metodologías de caja blanca (conocimiento completo) y caja negra (sin conocimiento).

Entendiendo las cajas grises

La caja gris híbrida de la prueba es una caja blanca, donde el probador examina la lógica interna y la estructura del código del software, y una prueba de caja negra, donde el probador no tiene conocimiento del código del software. Para comprender la prueba de caja gris, primero debemos comprender la prueba de caja negra y la prueba de caja blanca.

Prueba de caja negra y caja blanca

Las pruebas de caja negra no miran más que las entradas del usuario y la salida que produce el software a la luz de 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 pruebas de sistemas y pruebas de aceptación. Los ingenieros de software requieren un documento de especificación de requisitos de software (SRS) para realizar una prueba de caja negra. Esta prueba toma la perspectiva del usuario final donde 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 construir software, incluido el lenguaje de programación relevante. Es un tipo de prueba de bajo nivel que se utiliza en pruebas unitarias y pruebas de indicación. Los ingenieros de software deben comprender el lenguaje de programación utilizado para crear la aplicación a fin de comprender su código fuente. Los principales objetivos de las pruebas de caja blanca son fortalecer 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 en particular, el resultado se considera un error que debe corregirse.

Cómo funcionan las pruebas de caja gris

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 de ellos podría obtener por sí solo. Tanto los usuarios finales como los desarrolladores prueban una caja gris con un conocimiento limitado (parcial) del código fuente de la aplicación. Las pruebas de caja gris se pueden realizar de forma manual o automática. Es más completo y requiere más tiempo que las pruebas de caja negra, pero no es tan completo ni requiere tanto tiempo como las pruebas de caja blanca. Los probadores de caja gris necesitan documentos de diseño detallados.

Las pruebas de caja gris implican la identificación de entradas, salidas, carreteras y 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 evaluador cambia el código HTML para intentar que funcione, luego vuelve a comprobar 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 las entradas (fórmulas matemáticas como 1 + 1, 2 * 2, 5-4 y 15/3) y luego verificaría si la calculadora proporciona las salidas correctas a la luz de esas entradas. El probador de caja gris tiene acceso al código HTML de la calculadora y puede cambiarlo si se identifica algún error.

Una prueba de caja gris examina una interfaz de usuario o capa de presentación de la aplicació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. Las pruebas de caja gris se utilizan generalmente para probar la interfaz de usuario de una aplicación, la seguridad o la funcionalidad en línea a través de técnicas como la prueba de matriz, la prueba de regresión, la prueba de matriz ortográfica y la prueba de patrón. 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 para el funcionamiento interno, mientras que «negro» se refiere a la incapacidad de ver el funcionamiento interno del software. Una prueba de caja gris a veces se llama prueba translúcida, y una prueba de caja blanca a veces se llama prueba clara y una prueba de caja negra también puede llamarse prueba opaca.