Skip to content

Pruebas y Depuración del SoftwareActividades y Estrategias de Enseñanza

Las pruebas y depuración no son temas teóricos, sino habilidades prácticas que los estudiantes deben vivir para entender su valor real. Cuando los estudiantes experimentan errores en tiempo real y los corrigen colaborativamente, internalizan por qué estos procesos son críticos en el desarrollo de software, no solo un requisito académico.

3o de PreparatoriaTecnología4 actividades25 min45 min

Objetivos de Aprendizaje

  1. 1Analizar la efectividad de diferentes estrategias de pruebas unitarias para identificar errores de lógica en fragmentos de código.
  2. 2Evaluar la calidad del código de un compañero mediante la aplicación de criterios de pruebas de integración y depuración.
  3. 3Diseñar un plan de pruebas de sistema que cubra los casos de uso principales de una aplicación simple.
  4. 4Explicar el proceso de depuración paso a paso utilizando un depurador interactivo para rastrear la ejecución de un programa.
  5. 5Identificar tipos comunes de errores de software (sintaxis, lógica, tiempo de ejecución) en un programa dado.

¿Quieres un plan de clase completo con estos objetivos? Generar una Misión

Parejas: Pruebas Unitarias Iterativas

En parejas, escriban pruebas unitarias para funciones específicas antes de codificarlas. Implementen el código hasta que pase las pruebas, luego depuren fallos comunes. Compartan resultados en una reflexión grupal de 5 minutos.

Preparación y detalles

¿Cómo las pruebas unitarias garantizan el correcto funcionamiento de cada componente del software?

Consejo de Facilitación: Mientras las parejas trabajan en pruebas unitarias iterativas, camine entre ellas y pida que expliquen en voz alta qué error detectaron y cómo su prueba lo valida, asegurando que el proceso sea reflexivo y no mecánico.

Setup: Grupos en mesas con materiales del problema

Materials: Paquete del problema, Tarjetas de rol (facilitador, secretario, controlador de tiempo, relator), Hoja del protocolo de resolución de problemas, Rúbrica de evaluación de solución

AplicarAnalizarEvaluarCrearHabilidades de RelaciónToma de DecisionesAutogestión
45 min·Grupos pequeños

Grupos Pequeños: Pruebas de Integración

Dividan un programa modular en grupos; cada uno integra dos módulos ajenos y prueba interacciones. Registren errores encontrados y soluciones aplicadas en un log compartido. Roten módulos para probar variaciones.

Preparación y detalles

¿De qué manera las pruebas de integración validan la interacción entre diferentes módulos?

Consejo de Facilitación: Durante las pruebas de integración en grupos pequeños, pida que roten los módulos entre equipos para que cada grupo vea cómo su código interactúa con otros, fomentando la observación activa y la identificación de fallos en las interfaces.

Setup: Grupos en mesas con materiales del problema

Materials: Paquete del problema, Tarjetas de rol (facilitador, secretario, controlador de tiempo, relator), Hoja del protocolo de resolución de problemas, Rúbrica de evaluación de solución

AplicarAnalizarEvaluarCrearHabilidades de RelaciónToma de DecisionesAutogestión
30 min·Toda la clase

Clase Completa: Desafío de Depuración

Proyecten código con bugs intencionales; la clase propone hipótesis colectivas, vota por pruebas y depura paso a paso. Usen un debugger en vivo para visualizar el proceso.

Preparación y detalles

¿Por qué la depuración sistemática es esencial para resolver problemas complejos en el código?

Consejo de Facilitación: En el desafío de depuración de clase completa, limite el tiempo por error para que los estudiantes prioricen soluciones y discutan estrategias, evitando que se pierdan en detalles irrelevantes del código.

Setup: Grupos en mesas con materiales del problema

Materials: Paquete del problema, Tarjetas de rol (facilitador, secretario, controlador de tiempo, relator), Hoja del protocolo de resolución de problemas, Rúbrica de evaluación de solución

AplicarAnalizarEvaluarCrearHabilidades de RelaciónToma de DecisionesAutogestión

Individual: Pruebas de Sistema Automatizadas

Cada estudiante ejecute un conjunto de pruebas de sistema en su proyecto personal usando scripts. Documenten cobertura de pruebas y optimicen basados en resultados.

Preparación y detalles

¿Cómo las pruebas unitarias garantizan el correcto funcionamiento de cada componente del software?

Setup: Grupos en mesas con materiales del problema

Materials: Paquete del problema, Tarjetas de rol (facilitador, secretario, controlador de tiempo, relator), Hoja del protocolo de resolución de problemas, Rúbrica de evaluación de solución

AplicarAnalizarEvaluarCrearHabilidades de RelaciónToma de DecisionesAutogestión

Enseñando Este Tema

Enseñar pruebas y depuración requiere un equilibrio entre teoría y práctica constante. Evite presentar solo listas de tipos de pruebas; en su lugar, use ejemplos concretos donde los errores sean evidentes y discutibles. La clave está en hacer visible el proceso mental detrás de cada prueba: qué se busca, por qué falla el código y cómo se corrige. La investigación muestra que los estudiantes retienen mejor cuando cometen errores y los resuelven con guía, no cuando solo ven ejemplos perfectos.

Qué Esperar

Los estudiantes demuestran que entienden las diferencias entre tipos de pruebas al aplicarlas en contextos reales, explicando con claridad qué errores detectan y por qué esos errores importan. Además, muestran autonomía al diseñar casos de prueba y al explicar cómo mejoran la calidad del código en cada fase del desarrollo.

Estas actividades son un punto de partida. La misión completa es la experiencia.

  • Guion completo de facilitación con diálogos del docente
  • Materiales imprimibles para el alumno, listos para la clase
  • Estrategias de diferenciación para cada tipo de estudiante
Generar una Misión

Cuidado con estas ideas erróneas

Idea errónea comúnDurante la actividad de Pruebas Unitarias Iterativas, algunos estudiantes pueden creer que las pruebas solo sirven para el final, ignorando su valor en etapas tempranas.

Qué enseñar en su lugar

Durante la actividad de Pruebas Unitarias Iterativas, entregue a cada pareja un fragmento de código con un error lógico simple y pídales que escriban una prueba unitaria que lo detecte antes de corregirlo. Luego, discutan cómo este enfoque hubiera sido imposible al final del desarrollo.

Idea errónea comúnDurante las Pruebas de Integración, algunos pueden asumir que todos los errores son fáciles de detectar, como errores de sintaxis.

Qué enseñar en su lugar

Durante las Pruebas de Integración, proporcione un módulo que funcione individualmente pero falle al integrarse con otro, y pida a los grupos que identifiquen por qué el error no se vio en pruebas unitarias. Esto mostrará que muchos bugs son de lógica o interacción.

Idea errónea comúnDurante la actividad de Pruebas de Integración, algunos pueden pensar que las pruebas unitarias reemplazan a las de integración.

Qué enseñar en su lugar

Durante las Pruebas de Integración, asigne a cada grupo un módulo distinto y pídales que diseñen pruebas que verifiquen cómo su módulo se comunica con los demás. Luego, compare los resultados con las pruebas unitarias de cada módulo para destacar que cada nivel valida aspectos distintos del sistema.

Ideas de Evaluación

Verificación Rápida

After Pruebas Unitarias Iterativas, presente a cada estudiante un fragmento de código con un error lógico simple y pídales que identifiquen el error y describan qué prueba unitaria específica podría haberlo detectado antes. Recoja las respuestas para evaluar si entienden la relación entre errores y tipos de pruebas.

Evaluación entre Pares

During Pruebas de Integración, pida a cada pareja que intercambie su módulo con otro grupo. Cada grupo debe proponer dos casos de prueba de integración para el módulo recibido y explicar cómo verificarían la comunicación entre módulos. El primer grupo evalúa la relevancia de las pruebas propuestas.

Boleto de Salida

After Pruebas de Sistema Automatizadas, entregue a cada estudiante una tarjeta con el nombre de un tipo de prueba (unitaria, integración, sistema) o depuración. Pídales que escriban una oración que explique su propósito principal y un ejemplo de cuándo se aplicaría en el desarrollo de una aplicación móvil sencilla. Recopile las tarjetas para evaluar la comprensión conceptual.

Extensiones y Apoyo

  • Challenge: Pida a los estudiantes que automaticen sus pruebas unitarias usando un framework como JUnit o pytest, y que diseñen un informe de cobertura que muestre qué líneas del código están cubiertas por pruebas.
  • Scaffolding: Para estudiantes que luchan con la lógica de pruebas, proporcione plantillas con ejemplos incompletos y pídales que completen los casos de prueba faltantes, destacando qué escenarios deben cubrirse.
  • Deeper: Invite a los estudiantes a investigar cómo se integran las pruebas en pipelines de CI/CD, y que diseñen un flujo de trabajo básico que ejecute pruebas automáticas antes de desplegar código.

Vocabulario Clave

Prueba unitariaVerificación de un componente de software individual (unidad) para asegurar que funciona correctamente de forma aislada.
Prueba de integraciónProceso de verificar la interacción y comunicación entre diferentes módulos o componentes de software que han sido probados unitariamente.
Prueba de sistemaEvaluación del sistema de software completo e integrado para verificar que cumple con los requisitos especificados.
DepuraciónEl proceso sistemático de encontrar y corregir errores (bugs) en el código fuente de un programa.
Framework de pruebasUn conjunto de herramientas, bibliotecas y convenciones que facilitan la escritura y ejecución de pruebas de software automatizadas.

¿Listo para enseñar Pruebas y Depuración del Software?

Genera una misión completa con todo lo que necesitas

Generar una Misión