Pruebas de Caja Blanca y Caja Gris
Clase 7 de 15 • Curso de Fundamentos de Pruebas de Software
Contenido del curso
Clase 7 de 15 • Curso de Fundamentos de Pruebas de Software
Contenido del curso
Gabriel Obregón
Rubens A. Rangel Gomez
📘 PRUEBAS DE SOFTWARE
━━━━━━━━━━━━━━━━━━
Las pruebas de software se clasifican según el nivel de conocimiento interno del sistema.
🔍 Caja blanca → conocimiento completo.
⚙️ Caja gris → conocimiento parcial.
🎯 Caja negra → sin conocimiento interno.
💡 Regla importante:
👉 Cuanta más información interna exista, más precisas y efectivas serán las pruebas.
━━━━━━━━━━━━━━━━━━
🟦 1. PRUEBAS DE CAJA BLANCA
📌 ¿Qué son?
Las pruebas de caja blanca analizan el funcionamiento interno del software.
No solo importa el resultado final.
También interesa:
✅ Cómo se ejecuta el código.
✅ Qué decisiones toma el programa.
✅ Qué caminos lógicos recorre.
🛠️ ¿Qué se necesita?
Para aplicar caja blanca hace falta:
🔹 Acceso al código fuente.
🔹 Documentación técnica.
🔹 Conocimiento del lenguaje de programación.
━━━━━━━━━━━━━━━━━━
🟨 2. COBERTURA DE PRUEBAS
📌 ¿Qué es la cobertura?
La cobertura mide cuánto del software fue realmente probado.
📍 Cobertura de sentencias
✅ Objetivo
Verificar que cada línea del código se ejecute al menos una vez.
⚠️ Problema principal
Puede generar una falsa sensación de seguridad.
Porque:
🔹 una línea puede ejecutarse.
🔹 pero una condición lógica podría tomar siempre el mismo camino.
🚨 Entonces:
👉 No garantiza que todas las decisiones hayan sido probadas.
📍 Cobertura de decisiones
✅ Objetivo
Verificar que cada decisión se evalúe:
🟢 como verdadera.
🔴 como falsa.
🎯 Ventajas
✅ Más completa.
✅ Más confiable.
✅ Incluye cobertura de sentencias automáticamente.
✅ Considerada la práctica recomendada.
🚨 MUY IMPORTANTE
❌ Cobertura de sentencias ≠ cobertura de decisiones.
Pero:
✅ Cobertura de decisiones → sí incluye cobertura de sentencias.
❓ Pregunta clave
“¿Estoy probando solo líneas de código o todas las direcciones posibles del programa?”
━━━━━━━━━━━━━━━━━━
🟫 3. PRUEBAS DE CAJA GRIS
📌 ¿Qué son?
La caja gris combina:
⬛ La visión externa de la caja negra.
➕
🟦 Información parcial del sistema.
🔍 Información disponible
Puede incluir:
🔹 APIs.
🔹 Logs.
🔹 Modelos de datos.
🔹 Diagramas.
🔹 Documentación técnica.
⭐ VENTAJAS DE LA CAJA GRIS
1️⃣ Detectar límites reales
El conocimiento interno ayuda a descubrir restricciones ocultas.
2️⃣ Eliminar casos imposibles
La información interna ayuda a descartar combinaciones irreales.
3️⃣ Uso de logs
Los logs permiten identificar:
🔍 Caminos nunca ejecutados.
🐞 Errores internos.
⚠️ Comportamientos inesperados.
━━━━━━━━━━━━━━━━━━
🟥 4. ¿CÓMO ELEGIR EL TIPO DE PRUEBA?
🟦 Caja blanca
Se usa cuando existe:
✅ Acceso completo al código.
✅ Conocimiento de arquitectura interna.
🟫 Caja gris
Se usa cuando hay acceso parcial a:
🔹 APIs.
🔹 Logs.
🔹 Diagramas.
🔹 Documentación técnica.
⬛ Caja negra
Se usa cuando:
❌ No existe información interna.
👀 Solo se observan entradas y salidas.
⚪ ¿“Más blanco = más conocimiento y más precisión”?
👉 Sí, pero solo en un sentido específico:
🧠 Entonces, ¿qué mejora realmente?
Con más “blanco”:
👉 Por eso las pruebas pueden ser más profundas y técnicas