Planificación · Caja Negra · Caja Blanca · Datos de Prueba
La planificación de pruebas es el proceso de definir el alcance, los objetivos, los recursos y el calendario de las actividades de prueba. Un buen plan evita improvisaciones y garantiza cobertura suficiente del sistema.
La documentación recoge los casos de prueba, los resultados esperados, los entornos de prueba y los criterios de aceptación. Sirve como contrato entre desarrolladores, testers y clientes.
Los documentos clave incluyen el Plan de Pruebas, las Especificaciones de Caso y los Informes de Resultados.
En las pruebas de caja negra el tester no conoce la implementación interna del sistema. Solo interactúa con la interfaz pública: entradas y salidas. El objetivo es verificar que el sistema se comporta según las especificaciones funcionales.
Son ejecutadas normalmente por testers o usuarios finales. Permiten detectar funcionalidades incorrectas, errores de interfaz, comportamiento inesperado ante entradas inválidas y problemas de rendimiento.
No requiere conocimiento del código. Simula el uso real del usuario. Aplicable a cualquier nivel (unitario, integración, sistema). Detecta discrepancias respecto a los requisitos.
Cobertura interna limitada. Difícil diseñar casos sin ambigüedad. No detecta código inactivo ni lógica oculta. Dependiente de la calidad de las especificaciones.
Las pruebas de caja blanca, también llamadas pruebas estructurales o de caja transparente, tienen acceso total al código fuente. El tester diseña casos de prueba basándose en la lógica interna, las rutas de ejecución y las estructuras de datos.
El objetivo es garantizar que todas las instrucciones, ramas y caminos posibles del código se ejercitan al menos una vez, maximizando la cobertura del código.
Cobertura de sentencias. Cobertura de ramas (branch coverage). Cobertura de caminos (path coverage). Pruebas de bucles. Análisis de flujo de datos.
Requiere conocimiento profundo del código. No detecta funcionalidades no implementadas. Costoso en sistemas grandes. Cobertura del 100% de caminos es en general inviable.
Los datos de prueba son las entradas que se suministran al sistema durante la ejecución de los casos de prueba. Una buena selección de datos es fundamental para obtener una cobertura representativa y detectar defectos.
Pueden generarse manualmente, extraerse de sistemas reales (con anonimización) o crearse mediante herramientas de generación automática. Deben cubrir datos válidos, inválidos, límite y casos extremos.
| Tipo de dato | Descripción | Ejemplo | Resultado esperado |
|---|---|---|---|
| Válido | Entrada dentro del rango correcto | edad = 25 | PASS |
| Límite inferior | Valor mínimo permitido | edad = 18 | PASS |
| Límite superior | Valor máximo permitido | edad = 99 | PASS |
| Fuera de rango | Valor que supera el máximo | edad = 150 | ERROR |
| Tipo inválido | Tipo de dato incorrecto | edad = "abc" | ERROR |
| Nulo / vacío | Campo obligatorio sin valor | edad = null | WARN |