Lección 3 de 7 · 2 min
Técnicas de caja negra
Al terminar sabrás
10 min- Reducir infinitos inputs a los pocos valores que representan a todos
- Aplicar particiones de equivalencia y valores límite a una regla real
- Usar tablas de decisión para no perder ninguna combinación de condiciones
Construyes: Un set de ~12 casos derivados con técnica formal para un formulario de reserva.
El problema: infinitos inputs, tiempo finito
Un campo "edad" acepta números. ¿Pruebas con 1, 2, 3, 4... hasta 120? Las técnicas de caja negra existen para elegir los pocos valores que representan a todos los demás.
Particiones de equivalencia
Divide los inputs en clases donde el sistema debería comportarse igual, y prueba un representante de cada una.
Campo edad, regla de negocio "mayores de 18, menores de 100":
- Clase inválida baja: edad menor que 18 → prueba con 10
- Clase válida: 18 a 99 → prueba con 35
- Clase inválida alta: 100 o más → prueba con 150
- Clases inválidas de tipo: vacío, "abc", "-5", "18.5"
Seis casos cubren lo que la fuerza bruta cubriría con cientos.
Valores límite
Los bugs aman los bordes: los errores de "mayor que" vs "mayor o igual" viven exactamente ahí. Por cada frontera, prueba el valor en el límite y sus vecinos inmediatos:
Para la regla "desde 18 hasta 99": prueba 17, 18, 19 y 98, 99, 100.
Regla mnemotécnica: si la partición es el barrio, el valor límite es la casa en la esquina — ahí chocan los autos.
Tablas de decisión
Cuando el comportamiento depende de combinaciones de condiciones, la tabla evita que se te escape una:
| Regla | Cliente frecuente | Compra sobre $50.000 | Descuento | |---|---|---|---| | R1 | Sí | Sí | 15% | | R2 | Sí | No | 10% | | R3 | No | Sí | 5% | | R4 | No | No | 0% |
Cuatro condiciones binarias = 16 combinaciones. La tabla te obliga a decidir qué esperar en cada una antes de probar — y las combinaciones "imposibles" que descubres suelen ser los mejores bugs.
Transición de estados
Para flujos con pasos (carrito → pago → confirmación), dibuja los estados y prueba las transiciones inválidas: ¿puedo llegar a "confirmación" sin pasar por "pago"? ¿Qué pasa si refresco en "pago"?
Comprueba abajo lo que fijaste y luego aplícalo en el reto.
Compruébalo
0/3Responde sin mirar atrás. Verás la explicación al instante.
1. Para la regla 'edad desde 18 hasta 99', ¿qué valores límite pruebas en la frontera baja?
2. ¿Cuándo conviene una tabla de decisión?
3. ¿Cuál es la idea central de las particiones de equivalencia?
Reto: deriva los casos con técnica
Un formulario de reserva pide fecha (solo días futuros, máximo 60 días) y teléfono chileno (+56 9 XXXX XXXX).
Deriva los casos usando particiones y valores límite. Deberías llegar a unos 12 casos.