Prueba de caja gris
La prueba de caja gris o prueba de caja gris es una técnica de prueba de software para probar un producto o aplicación de software con un conocimiento parcial de la estructura interna de la aplicación. El propósito de las pruebas de caja gris es buscar e identificar los defectos debidos a una estructura de código incorrecta o un uso inadecuado de las aplicaciones.
En este proceso, los errores específicos del contexto que están relacionados con los sistemas web se identifican comúnmente. Aumenta la cobertura de las pruebas al concentrarse en todas las capas de cualquier sistema complejo.
La prueba de caja gris es un método de prueba de software, que es una combinación de los métodos de prueba de caja blanca y caja negra.
- En White Box se conoce la estructura interna (código) de las pruebas
- En las pruebas de Black Box se desconoce la estructura interna (código)
- En Gray Box Testing, la estructura interna (código) se conoce parcialmente
En Ingeniería de Software, Gray Box Testing brinda la capacidad de probar ambos lados de una aplicación, la capa de presentación y la parte del código. Es principalmente útil en pruebas de integración y pruebas de penetración.
Ejemplo de prueba de caja gris: mientras se prueban sitios web como enlaces o enlaces huérfanos, si el evaluador encuentra algún problema con estos enlaces, puede realizar los cambios de inmediato en el código HTML y verificar en tiempo real.
Por qué realizar pruebas de caja gris
La prueba de caja gris se realiza por el siguiente motivo:
- Proporciona beneficios combinados tanto de las pruebas de caja negra como de las pruebas de caja blanca.
- Combina la información de los desarrolladores y de los probadores y mejora la calidad general del producto.
- Reduce la sobrecarga del largo proceso de prueba de tipos funcionales y no funcionales.
- Ofrece suficiente tiempo libre para que un desarrollador corrija defectos.
- Las pruebas se realizan desde el punto de vista del usuario en lugar del punto de vista del diseñador.
Estrategia de prueba de caja gris
Para realizar la prueba de caja gris, no es necesario que el probador tenga acceso al código fuente. Una prueba se diseña con base en el conocimiento de algoritmos, arquitecturas, estados internos u otras descripciones de alto nivel del comportamiento del programa.
Para realizar pruebas de caja gris:
- Aplica una técnica sencilla de prueba de caja negra.
- Se basa en la generación de casos de prueba de requisitos, como tal, preestablece todas las condiciones antes de que el programa sea probado por el método de aserción.
Las técnicas utilizadas para las pruebas de caja gris son:
- Matrix Testing: esta técnica de prueba consiste en definir todas las variables que existen en sus programas.
- Prueba de regresión : Para comprobar si el cambio en la versión anterior ha hecho retroceder otros aspectos del programa en la nueva versión. Se hará probando estrategias como volver a probar todo, volver a probar los casos de uso de riesgo, volver a probar dentro de un firewall.
- Prueba de matriz ortogonal o OAT : proporciona la máxima cobertura de código con un mínimo de casos de prueba.
- Prueba de patrón: esta prueba se realiza sobre los datos históricos de los defectos del sistema anteriores. A diferencia de las pruebas de caja negra, las pruebas de caja gris excavan dentro del código y determinan por qué ocurrió la falla
Por lo general, la metodología de caja gris utiliza herramientas de prueba de software automatizadas para realizar las pruebas. Se crean stubs y controladores de módulo para que el probador pueda generar manualmente el código.
Los pasos para realizar la prueba de caja gris son:
- Paso 1 : identificar las entradas
- Paso 2 : identificar las salidas
- Paso 3 : identificar los caminos principales
- Paso 4 : identificar subfunciones
- Paso 5 : Desarrollar entradas para subfunciones
- Paso 6 : Desarrollar resultados para subfunciones
- Paso 7 : ejecutar el caso de prueba para las subfunciones
- Paso 8 : Verifique el resultado correcto para las subfunciones
- Paso 9 : Repita los pasos 4 y 8 para otras subfunciones
- Paso 10 : Repita los pasos 7 y 8 para otras subfunciones
Los casos de prueba para las pruebas de caja gris pueden incluir, relacionados con GUI, relacionados con la seguridad, relacionados con la base de datos, relacionados con el navegador, relacionados con el sistema operativo, etc.
Desafíos de las pruebas de caja gris
- Cuando un componente bajo prueba encuentra una falla de algún tipo, puede provocar el aborto de la operación en curso.
- Cuando la prueba se ejecuta por completo pero el contenido del resultado es incorrecto.
Resumen:
- El costo total de los defectos del sistema se puede reducir y evitar que pase más con las pruebas de caja gris.
- Las pruebas de caja gris son más adecuadas para GUI, pruebas funcionales, evaluación de seguridad, aplicaciones web, servicios web, etc.
- Técnicas utilizadas para las pruebas de caja gris
- Prueba de matriz
- Pruebas de regresión
- Pruebas OAT u ortogonales
- Prueba de patrones