📦 Pruebas de Software | UTFSM – INF331 Repositorio OpenSource de proyectos de estudiantes de la asignatura INF331 - Testing de Software de la Universidad TĂ©cnica Federico Santa MarĂa.
🎯 Nuestra misión: aprender haciendo.
🔍 Exploramos testing automatizado, agilidad, CI/CD, buenas prácticas de calidad de software y trabajo colaborativo con herramientas del mundo real.
🚀 Cada semestre los estudiantes desarrollan aplicaciones web desde cero, integrando pruebas como parte central del proceso de desarrollo.
Repositorio complementario a Aula (aula.usm.cl)
Desarrollo progresivo de una aplicación web con prácticas reales de testing automatizado, integración continua (CI) y despliegue continuo (CD). Proyecto principal de la asignatura.
Acá podrás ver los repositorios de los proyectos de los estudiantes, camadas de developers con super poderes en testing, videos de los entregables, videos de las presentaciones en vivo, documentación, código OpenSource, problemas en proyectos, proyectos exitosos, lecciones aprendidas y mucho testing en acción.
Conceptos fundamentales de calidad de software. IntroducciĂłn a los procesos de asegurar que un producto cumple su propĂłsito. Enlaces a repositorios de ejercicios
Introducción a Unit Testing, comenzando con ejemplos prácticos en Java y Python.
-
JUnit máquina de café
Ejercicio de pruebas unitarias que simula el comportamiento de una máquina expendedora de café, enfocándose en la validación de escenarios normales y fallidos.- ⮞ Máquina de café: Simulador máquina de café.
-
JUnit simulador de cajero automático
Ejercicio de pruebas unitarias modelando operaciones de un cajero automático:- ⮞ Versión 1: Simulación de retiro de efectivo y validación de saldo.
- ⮞ Versión 2: Simulación de retiro de efectivo y validación de saldo.
-
JUnit Tarjeta de Fidelidad Gamificada
Sistema que gestiona programa de fidelidad para una cadena de tiendas:- ⮞ Tarjeta de Fidelidad: Tarjeta de Fidelidad Gamificada.
BDD (Behavior-Driven Development) es una metodologĂa de desarrollo de software que se centra en la comunicaciĂłn y colaboraciĂłn entre desarrolladores, testters y stakeholders, utilizando un lenguaje natural para describir el comportamiento de una aplicaciĂłn. Este enfoque mejora la comprensiĂłn mutua y garantiza que el software cumpla con las expectativas de los usuarios.
Ejemplos:
- Cucumber Hello World Primer contacto con BDD (Behavior Driven Development) utilizando:
- Java + Cucumber: ⮞ Hello World (Java + Cucumber)
- Python + Behave: ⮞ Hello World (Python + Behave)
TDD (Test Driven Development) es una metodologĂa de desarrollo de software donde se escriben las pruebas unitarias antes de escribir el cĂłdigo que las pasará. El objetivo es asegurar que el cĂłdigo cumple con las expectativas desde el principio y facilitar la detecciĂłn y correcciĂłn de errores.
Ejemplos:
- Caso Básico, aplicaciĂłn de la metodologĂa Test Driven Development (Desarrollo guiado por pruebas) a un problema sencillo, reforzando la importancia de construir primero las pruebas antes del cĂłdigo.
La ingenierĂa de software moderna exige ciclos de entrega cada vez más rápidos y rigurosos. Al integrar IA generativa y prácticas de prompt engineering con testing automatizado y herramientas de Ăşltima generaciĂłn, ampliamos la cobertura y reducimos el tiempo de detecciĂłn de defectos sin sacrificar la calidad
Las pruebas de mutación evalúan la eficacia del conjunto de pruebas insertando pequeñas fallas en los programas y midiendo la capacidad del conjunto de pruebas para detectarlas.
Material de estudio, preguntas de alternativas y presentaciones de la asignatura
🚧 Estamos permanentemente agregando más proyectos, ejemplos y prácticas de testing.
2025


