Tipos de pruebas de caja negra
La prueba de caja negra es una metodología para realizar pruebas. Estas pruebas pueden diseñarse para lograr algunos objetivos diferentes, incluyendo:
- Pruebas funcionales: Las pruebas funcionales tienen como objetivo validar que una aplicación hace lo que se supone que debe hacer. Por ejemplo, las pruebas funcionales pueden probar el mecanismo de autenticación de una aplicación para verificar que los usuarios legítimos puedan autenticarse exitosamente mientras se rechazan los intentos de inicio de sesión no válidos. Los tipos comunes de pruebas funcionales incluyen comprobaciones de cordura, pruebas de integración y pruebas de sistema.
- Pruebas no funcionales: Las pruebas no funcionales evalúan qué tan bien una aplicación realiza sus funciones principales. Ejemplos de pruebas incluyen pruebas de rendimiento, usabilidad, escalabilidad y seguridad.
- Pruebas de regresión: Las pruebas de regresión están diseñadas para garantizar que un cambio en una aplicación no afecte la funcionalidad. Por ejemplo, las pruebas de regresión deben realizarse después de parchear una vulnerabilidad en una aplicación para garantizar que el parche no haya provocado que la aplicación falle las pruebas funcionales o no funcionales.
Técnicas de prueba de caja negra
Sin conocimiento interno de una aplicación, la estructura es importante para garantizar que la prueba cubra todos los casos necesarios. Algunas técnicas comunes para realizar una evaluación de caja negra incluyen:
- Prueba de clase de equivalencia: Una aplicación puede seguir el mismo flujo de control para ciertos tipos de entradas. Por ejemplo, una aplicación que solo debería ser accesible para adultos puede finalizar si un usuario ingresa una edad menor de 18 años o una herramienta con un área de servicio limitada puede finalizar para países o códigos postales fuera de esa área. Con las pruebas de clase de equivalencia, los evaluadores identifican estas clases que producen los mismos resultados y solo prueban un valor dentro de esa clase.
- Evaluación del valor límite: Los valores límite son entradas donde una aplicación cambia de un flujo de control a otro. Por ejemplo, las edades de 17 y 18 son valores límite para la edad adulta, ya que una solicitud puede rechazar a un joven de 17 años, mientras que uno de 18 sería aceptado. La evaluación del valor límite prueba estas entradas para garantizar que el sistema esté manejando adecuadamente estos casos periféricos.
- Prueba de la tabla de decisión: Se puede diseñar una aplicación para tomar decisiones basadas en una combinación de entradas. Por ejemplo, los usuarios mayores de 18 años que vivan en un área particular pueden acceder a una aplicación. La prueba de la tabla de decisiones implica enumerar cada combinación de entradas y sus resultados esperados y desarrollar un caso de prueba para validar cada combinación.
- Evaluación de la transición estatal: Se puede diseñar una aplicación para cambiar de estado bajo ciertas condiciones, como bloquear la cuenta de un usuario después de una cierta cantidad de intentos fallidos de autenticación. La evaluación de transición estatal implica identificar estas situaciones y desarrollar casos de prueba para validarlas.
- Comprobación de errores: Esta forma de evaluación busca errores comunes que un desarrollador pueda haber cometido al crear una aplicación. Esto a menudo gira en torno a la desinfección de los insumos y la garantía de que se cumplan las suposiciones sobre una entrada. Por ejemplo, los probadores pueden verificar si los desarrolladores manejaron correctamente una entrada de cero en un campo numérico o restringieron el juego de caracteres para un nombre a las letras y símbolos que pueden aparecer en un nombre.
Prueba de caja negra frente a caja blanca
Si bien las pruebas de caja negra reciben su nombre por el hecho de que el evaluador no tiene conocimiento interno de la aplicación (es decir, es una “caja negra”), una evaluación de caja blanca adopta el enfoque opuesto. Algunas de las diferencias clave entre las pruebas de caja negra y caja blanca incluyen:
- Prueba de caja negra: El evaluador interactúa con la aplicación e intenta validar que una aplicación cumpla con los requisitos y especificaciones funcionales y no funcionales. La falta de conocimiento interno puede hacer que estas pruebas requieran más tiempo y puede provocar que no se detecten vulnerabilidades en rutas de código no visitadas. Sin embargo, tiene la ventaja de ser independiente del lenguaje y la plataforma.
- Prueba de caja blanca: A diferencia de las pruebas de caja negra, las evaluaciones de caja blanca se realizan con pleno conocimiento de los aspectos internos de una aplicación, incluido el acceso al código fuente. Las pruebas de caja blanca ofrecen una mejor cobertura de prueba que las pruebas de caja negra, ya que se puede evaluar todo el código. Sin embargo, requiere experiencia con el lenguaje en el que se desarrolló el código.
Las pruebas de caja negra y caja blanca representan dos extremos en la forma en que se pueden realizar las pruebas. Las pruebas de caja gris se encuentran en el medio. En una evaluación de caja gris, el probador tiene un conocimiento parcial de los componentes internos del sistema, lo que puede ayudar a guiar la evaluación. Autoprotección de aplicaciones en tiempo de ejecución (RASP) es una herramienta de seguridad que entra en la categoría de pruebas de caja gris.
Pruebas de seguridad de caja negra con Check Point
Check Point Professional Services ofrece una gama de servicios de pruebas de penetración/resiliencia de ciberseguridad. Esto incluye evaluaciones de seguridad de caja negra, caja gris y caja blanca.
Obtenga más información sobre Servicios de pruebas profesionales de Check Point. También es bienvenido a Contáctenos para saber cómo podemos ayudar a identificar y corregir problemas de seguridad dentro de su organización.