Conviene haber comprendido Estructuras de datos y complejidad.
Avanza en orden. Cada lección está redactada para Palta es Cool, utiliza ejemplos propios y termina con una actividad cuya respuesta puedes desplegar.
Ubícate antes de avanzar
Al terminar deberías poder relacionar Casos de prueba con Invariantes y resolver un caso nuevo.
Reserva entre 75 y 120 minutos o divide el laboratorio en dos sesiones.
Las primeras cuatro secciones no requieren software. Para prototipos usa Tinkercad o Arduino IDE.
Abrir la guía de herramientas →Diagnóstico rápido: ¿cómo se relacionan Casos de prueba y Invariantes? +
No necesitas acertar todavía. Escribe una hipótesis de dos líneas y compárala con tu respuesta al finalizar; si puedes corregirla y justificar el cambio, hubo aprendizaje.
Aprende el tema paso a paso
Convertirás “parece funcionar” en evidencia: diseñarás pruebas, formularás propiedades que siempre deben cumplirse y depurarás fallos de forma reproducible.
- Una buena prueba busca diferencias de comportamiento
- Un invariante debe seguir siendo cierto durante el proceso
- Reproducir, reducir, observar y comprobar supera adivinar
Una buena prueba busca diferencias de comportamiento
Se agrupan entradas equivalentes y se elige un representante; se prueban fronteras justo antes, en y después del límite; se incluyen datos vacíos, inválidos y extremos esperados.
Caso normal confirma el recorrido principal.
Frontera descubre comparaciones mal elegidas.
Caso inválido comprueba rechazo y mensaje.
¿Muchas pruebas aleatorias sustituyen casos de frontera elegidos?
Mostrar respuesta +
No. Pueden no alcanzar exactamente el límite. Se combinan ejemplos deliberados con generación aleatoria o basada en propiedades.
Un invariante debe seguir siendo cierto durante el proceso
Una propiedad expresa una regla general: el saldo total se conserva, una lista ordenada no decrece o el contador nunca es negativo. Las aserciones detectan cerca del origen cuándo deja de cumplirse.
Formula la regla independiente de la implementación.
Comprueba antes y después de la operación relevante.
No uses aserciones para sustituir validación de entradas externas.
¿Por qué probar solo el resultado final puede ocultar el origen?
Mostrar respuesta +
El estado pudo corromperse antes y compensarse después. Invariantes intermedios señalan el primer punto donde aparece la desviación.
Reproducir, reducir, observar y comprobar supera adivinar
Primero se obtiene un caso repetible; luego se elimina lo irrelevante; se observa el estado cerca del fallo; se formula una hipótesis y se cambia una cosa. Finalmente se agrega una prueba de regresión.
Distingue causa del lugar donde aparece el síntoma.
Registra entradas, versión y secuencia mínima.
Confirma que la corrección no rompe casos vecinos.
¿Por qué añadir impresiones por todas partes puede confundir?
Mostrar respuesta +
Produce ruido y puede alterar tiempos. Se observa una hipótesis concreta con registros estructurados, depurador o una prueba mínima.
Tu recorrido en tres ideas
- Una buena prueba busca diferencias de comportamiento
- Un invariante debe seguir siendo cierto durante el proceso
- Reproducir, reducir, observar y comprobar supera adivinar
Encuentra un error que aparece justo en el límite
Integra clases de equivalencia, fronteras, invariantes, trazas, reducción del fallo y regresión.
Una tarifa funciona casi siempre, pero cobra de más cuando el consumo llega exactamente a 100 unidades.
Procedimiento
- Escribe resultados esperados para 99, 100 y 101 antes de cambiar código.
- Reduce el fallo, traza condición y acumuladores y formula una hipótesis.
- Corrige una causa y conserva los tres casos como regresión.
Evidencia mínima
- Caso mínimo que falla.
- Primera línea donde valor real y esperado divergen.
- Prueba que falla antes y pasa después.
Mostrar razonamiento modelo +
Cambiar <= por < solo es válido si la regla confirma quién incluye el límite. La depuración conecta especificación, traza y prueba; no termina cuando el ejemplo visible deja de fallar.
Para ir más lejos¿Qué propiedad podrías probar para cualquier consumo válido?
Comprueba que puedes usarlo
Antes de continuar, revisa estos tropiezos frecuentes y resuelve un caso sin copiar los ejemplos.
Probar solo el camino feliz.
Cambiar varias cosas durante la depuración sin una hipótesis.
Ahora hazlo sin guía
Diseña pruebas y depura un cálculo de tarifa que falla al cruzar el límite mensual.
Mostrar pauta de corrección +
- Incluye equivalencias, fronteras e inválidos.
- Formula al menos un invariante.
- Deja una prueba de regresión para el fallo mínimo.
