Universidad Peruana Unión
Carret. Central km. 19.5 Ñaña. Telf. 01-6186300 Casilla 3564 Lima 1, Perú
Sílabo: Pruebas y Despliegue del Software
| N. |
Campo |
Información |
N. |
Campo |
Información |
| 01 |
Facultad/EGP |
Facultad de Ingeniería y Arquitectura |
09 |
Año de plan de estudio |
2023-1 |
| 02 |
Programa de estudio |
EP Ingeniería de Sistemas |
10 |
Ciclo de estudio |
7 |
| 03 |
Tipo de estudio |
General |
11 |
Código de asignatura |
|
| 04 |
Nombre de asignatura |
Pruebas y Despliegue del Software |
12 |
Número de créditos |
3 |
| 05 |
Duración |
|
13 |
Nota mínima probatoria |
13 |
| 06 |
Horas de la asignatura |
H. Te. Pract: 0 / H. Prc. Pres: 32 |
14 |
Año y semestre académico |
2026-1 |
| 07 |
Docente |
Mamani Pari David |
|
|
|
| 08 |
Pre requisito |
Lenguaje de Programación II |
|
|
|
II. Sumilla
La asignatura es de carácter teórico práctico, perteneciente al área de formación especializada y sub área de ingeniería de software, cuyo propósito es que el estudiante pueda gestionar el proceso de prueba del software, así como evaluar profesionalmente la calidad del software a través de indicadores. Comprende: Flujo de trabajo de las pruebas de software, diseño de pruebas, planificación y ejecución de las pruebas de software, técnicas y estrategias para la validación y la verificación de productos software y tipos de pruebas.
III. Competencia del Perfil de Egreso en Relación a la Asignatura
| Tipo |
Competencia |
Dimensiones |
| Específica |
INGENIERÍA DE SOFTWARE: Gestiona y desarrolla software de manera eficiente y efectiva, basándose en estándares internacionales de calidad a fin de lograr el control y aseguramiento de la calidad según el contexto de la organización. |
N. 1.1: Programación, calidad de software. |
| General |
CARÁCTER Y APRENDIZAJE AUTÓNOMO: Cultiva un carácter íntegro y autónomo, guiado por principios bíblicos y adventistas, integrando un enfoque espiritual con la proactividad en el aprendizaje y el desarrollo personal. |
N. 1.1: Firmeza de propósito, ejecución, mantener el esfuerzo. |
IV. Resultado de Aprendizaje de la Asignatura
| Resultado de aprendizaje |
Producto académico |
| Implementa una estrategia completa de pruebas y despliegue aplicando técnicas manuales y automatizadas, integrando pipelines CI/CD para garantizar la calidad y entrega continua de software en un entorno de producción simulado. |
Nombre: Pipeline CI/CD con suite de pruebas automatizadas. |
|
Descripción: Informe sobre implementación de una suite de pruebas automatizadas (unitarias e integrales), pruebas E2E y rendimiento, Pipeline CI/CD funcional, con estrategia de despliegue documentada, métricas de calidad y manual técnico. |
V. Unidades de Aprendizaje
Unidad 1: Fundamentos, Técnicas y Pruebas Unitarias de Software
| Resultado de aprendizaje |
Producto |
| Aplica los fundamentos, técnicas y metodologías de pruebas de software para diseñar casos de prueba efectivos y gestionar el proceso de QA dentro del ciclo de vida del desarrollo. |
Nombre: Plan de pruebas y casos de prueba documentados. |
| Criterios de evaluación del producto |
Descripción del producto |
| Define el alcance y objetivos del plan de pruebas. Diseña casos de prueba usando técnicas de caja negra y caja blanca. Clasifica y prioriza defectos usando herramientas de gestión. Aplica pruebas de aceptación basadas en criterios del usuario. Elabora Plan de Pruebas considerando parte de los lineamientos IEEE 829 / ISO 29119. |
Documento de plan de pruebas (IEEE 829/ISO 29119) que incluye estrategia, alcance, casos de prueba diseñados con técnicas formales, clasificación de defectos y criterios de aceptación; más suite de pruebas unitarias ejecutables con cobertura ≥ 70% sobre el módulo principal del proyecto. |
Sesiones de aprendizaje
| N. |
Fecha |
Contenido |
HT |
HP |
Actividad práctica |
Actividad autónoma |
| 1 |
15/03/2026 - 21/03/2026 |
ISOs de calidad de software. Norma técnica peruana y fundamentos de prueba: conceptos, principios, costo de los defectos y el rol del QA en el ciclo de vida del software (SDLC/STLC). |
2 |
2 |
Analizar casos reales de fallos de software (Therac-25, Knight Capital). Mapear el ciclo SDLC/STLC en un proyecto de ejemplo e identificar el punto de mayor costo de defectos. |
Lectura: cap. 1 de The Art of Software Testing. Elaborar un cuadro comparativo de ISO 25010 vs NTP ISO/IEC 25000 e identificar 3 métricas de calidad aplicables a un sistema bancario. |
| 2 |
22/03/2026 - 28/03/2026 |
Tipos de pruebas: unitarias, integración, sistema y aceptación. Niveles de prueba, técnicas de diseño de pruebas (caja negra, caja blanca), pruebas estáticas (linters) y pruebas dinámicas. |
2 |
2 |
Clasificar 15 escenarios de prueba en su tipo y nivel correspondiente. Diseñar la pirámide de testing para un e-commerce y justificar la proporción de cada nivel. |
Investigar diferencias entre pruebas estáticas (ESLint, Checkstyle) y dinámicas. Proponer qué tipo de prueba y técnica aplicaría a cada módulo de su proyecto integrador. |
| 3 |
29/03/2026 - 04/04/2026 |
Plan de Pruebas considerando parte de los lineamientos de la IEEE 829 / ISO 29119. Elaboración de casos de prueba. Herramientas de gestión: Jira, TestRail, TestLink. |
2 |
2 |
Crear un Plan de Pruebas para un módulo de autenticación: alcance, criterios de entrada/salida, riesgos y cronograma. Diseñar 10 casos de prueba con partición equivalente y valores límite usando TestRail o TestLink. |
Registrar y gestionar 5 defectos simulados en Jira con campos completos. Revisar la plantilla IEEE 829 y adaptar su estructura al proyecto del curso. |
| 4 |
05/04/2026 - 11/04/2026 |
Pruebas unitarias, TDD, mocks, stubs y fixtures. |
2 |
2 |
Implementar pruebas unitarias aplicando TDD: escribir la prueba primero, luego el código. Usar Mockito o unittest.mock para crear mocks y stubs. Alcanzar ≥ 70% de cobertura en el módulo asignado. |
Leer sobre el patrón AAA y los principios FIRST para pruebas unitarias. Crear fixtures de prueba reutilizables para el proyecto integrador. Documentar qué decisiones de diseño facilitaron o dificultaron la prueba. |
| 5 |
12/04/2026 - 18/04/2026 |
Evaluación Unidad 1. |
2 |
2 |
Presentar el Plan de Pruebas completo con casos de prueba y suite de pruebas unitarias para el sistema asignado. Demostrar ejecución y reporte de cobertura. |
Subsanar observaciones del evaluador, completar casos de prueba pendientes y preparar el repositorio para la Unidad 2. |
Unidad 2: Pruebas Integrales, Automatización e Integración Continua
| Resultado de aprendizaje |
Producto |
| Implementa suites de pruebas automatizadas utilizando frameworks modernos para pruebas unitarias, de integración y de interfaz de usuario, aplicando principios de diseño de pruebas mantenibles, y su ejecución con pipeline para la integración continua (CI). |
Nombre: Informe sobre implementación de Pipeline de CI y Suite de pruebas automatizadas (unitarias, integración y E2E). |
| Criterios de evaluación del producto |
Descripción del producto |
| Implementa pruebas unitarias con cobertura ≥ 80%. Configura mocks y stubs para pruebas de integración. Implementa pruebas E2E con Selenium o Cypress u otro similar. Aplica TDD y BDD (Gherkin/Cucumber) en al menos un módulo. Genera reportes de cobertura y resultados de pruebas. Implementa Pipeline de Integración continua. |
Repositorio de código con suite de pruebas automatizadas unitarias, integración y E2E, más reporte de cobertura de código y documentación técnica de implementación de pipeline de integración continua (CI). |
Sesiones de aprendizaje
| N. |
Fecha |
Contenido |
HT |
HP |
Actividad práctica |
Actividad autónoma |
| 1 |
19/04/2026 - 25/04/2026 |
Automatización de pruebas: ventajas, desafíos, cuándo y qué automatizar, métricas de cobertura. |
2 |
2 |
Escribir 10 pruebas unitarias parametrizadas con @ParameterizedTest. Medir cobertura con JaCoCo o Coverage.py y generar reporte HTML. Identificar módulos con cobertura menor a 60%. |
Investigar la pirámide de pruebas y el concepto de flaky tests. Documentar qué módulos del proyecto son candidatos para automatizar primero y por qué, según ROI de automatización. |
| 2 |
26/04/2026 - 02/05/2026 |
Pruebas de integración: BDD, mocks, stubs y test doubles con Mockito e inyección de dependencias. Pruebas de API REST con Postman. |
2 |
2 |
Implementar pruebas de integración con Mockito: simular un repositorio de base de datos para probar la capa de servicio. Verificar interacciones y capturar argumentos. |
Estudiar patrones de diseño aplicados en pruebas: Test Double, Fake, Spy. Refactorizar una clase del proyecto para aplicar inyección de dependencias y facilitar su prueba. |
| 3 |
03/05/2026 - 09/05/2026 |
Configuración de ambientes de pruebas para integración continua: Docker, SonarQube, Jenkins y TestLink. GitHub Actions: workflows, triggers y jobs. |
2 |
2 |
Configurar Docker Compose con la aplicación + SonarQube. Crear un workflow GitHub Actions que ejecute automáticamente pruebas unitarias, de integración y la colección Newman de API en cada push a main. |
Comparar Jenkins vs GitHub Actions vs GitLab CI. Documentar el pipeline configurado con diagrama de fases, variables de entorno y criterios de fallo del build. |
| 4 |
10/05/2026 - 16/05/2026 |
Ejecución de la suite completa de pruebas mediante el pipeline de integración continua. Análisis de calidad de código con SonarQube. Quality gates. |
2 |
2 |
Ejecutar el pipeline completo en GitHub Actions. Analizar el reporte SonarQube e identificar y corregir al menos 3 issues críticos. Configurar un quality gate que falle el build si cobertura < 70%. |
Investigar shift-left testing y su relación con integración continua. Proponer umbrales del quality gate del proyecto y justificarlos. |
| 5 |
17/05/2026 - 23/05/2026 |
Pruebas de interfaz de usuario end-to-end (E2E): Selenium WebDriver y Cypress. Selectores CSS/XPath, Page Object Model y buenas prácticas. |
2 |
2 |
Automatizar el flujo completo de un sistema web con Selenium WebDriver aplicando POM. Configurar ejecución headless e integrar E2E al pipeline GitHub Actions. |
Comparar Selenium WebDriver vs Cypress vs Playwright. Documentar 5 selectores usados, su fragilidad potencial y mejoras con data-testid. |
| 6 |
24/05/2026 - 30/05/2026 |
Revisión de pruebas de rendimiento y carga (Apache JMeter/k6) y seguridad (OWASP ZAP). |
2 |
2 |
Generar reportes con JMeter (100 usuarios) y hallazgos de vulnerabilidad con OWASP ZAP. |
Analizar los reportes de vulnerabilidad. |
| 7 |
31/05/2026 - 06/06/2026 |
Evaluación Unidad II. |
2 |
2 |
Demostrar el pipeline CI funcionando; presentar cobertura ≥ 80%, resultados API (Newman), E2E (Selenium/Cypress), reporte JMeter y hallazgos OWASP ZAP. |
Subsanar observaciones del evaluador. Preparar documentación técnica final del repositorio: README, diagrama de arquitectura de la suite de pruebas y capturas de reportes. |
Unidad 3: Integración y Despliegue Continuo (CI/CD)
| Resultado de aprendizaje |
Producto |
| Configura e implementa pipelines de integración y entrega continua (CI/CD) aplicando estrategias de despliegue seguro, monitoreo post-despliegue y principios DevOps para garantizar la entrega confiable de software en producción. |
Nombre: Pipeline CI/CD funcional con estrategia de despliegue documentado. |
| Criterios de evaluación del producto |
Descripción del producto |
| Configura un pipeline CI/CD completo con Jenkins, GitHub Actions o GitLab CI. Integra la suite de pruebas automatizadas en el pipeline. Implementa análisis de calidad de código (SonarQube/SonarCloud). Documenta el pipeline y presenta sustentación técnica de implementación. Informe de ejecución de pruebas de software. |
Pipeline CI/CD funcional que ejecute pruebas automáticas (unitarias, API, E2E), análisis de calidad SonarCloud, despliegue con estrategia Blue-Green o Canary, y documentación técnica completa. |
Sesiones de aprendizaje
| N. |
Fecha |
Contenido |
HT |
HP |
Actividad práctica |
Actividad autónoma |
| 1 |
07/06/2026 - 13/06/2026 |
Entrega continua (CD): ambientes Dev/QA/Staging/Prod. Gestión de artefactos. Docker: imágenes, contenedores, Dockerfile. |
2 |
2 |
Containerizar la aplicación del proyecto con Docker: crear Dockerfile multi-stage, construir imagen y publicar en Docker Hub. Configurar Docker Compose con app + base de datos. Integrar build de imagen Docker al pipeline CI/CD. |
Estudiar diferencias entre ambientes Dev, QA, Staging y Prod. Documentar la estrategia de gestión de artefactos y versionado de imágenes Docker con tags semánticos. |
| 2 |
14/06/2026 - 20/06/2026 |
Presentación de informe de pruebas de software del proyecto final del curso. |
2 |
2 |
Demostración en vivo: commit → build → test (unitarias + API + E2E) → quality gate → deploy (Blue-Green o Canary). |
Entregar documentación técnica final: manual de operación del pipeline, runbook de incidentes, reporte consolidado de métricas de calidad y lecciones aprendidas. |
| 3 |
21/06/2026 - 27/06/2026 |
Evaluación de Unidad 3. |
2 |
2 |
Temas de todo el curso. |
Adecuar mejoras dadas por el docente. |
| 4 |
28/06/2026 - 04/07/2026 |
Estrategias de despliegue seguro: Blue-Green Deployment, Canary Release y Rolling Update. Análisis de calidad estática con SonarQube/SonarCloud integrado al pipeline. Gestión de secretos y variables de entorno en CI/CD. |
2 |
2 |
Implementar estrategia Blue-Green con Docker Compose: configurar dos entornos, automatizar el switch de tráfico y verificar zero-downtime deployment. Agregar stage de SonarCloud al pipeline y configurar quality gate. |
Comparar Blue-Green, Canary y Rolling. Diseñar plan de rollback del proyecto: triggers automáticos, RTO y pasos de reversión. |
VI. Estrategias Metodológicas
| N. |
Estrategias de enseñanza y de aprendizaje que se aplicarán en la asignatura |
| 1.1 |
Aprendizaje Cooperativo: Fomenta habilidades colaborativas y de trabajo en equipo, cruciales en la mayoría de los entornos laborales modernos. |
| 1.2 |
Aprendizaje Basado en Problemas: Centra el aprendizaje en la resolución de problemas reales, una habilidad esencial en casi todas las profesiones. Estimula el pensamiento crítico y la colaboración, elementos clave en el desarrollo de competencias. |
| 1.3 |
Estudios de caso: Desarrolla el pensamiento crítico y la toma de decisiones al analizar situaciones complejas, preparando a los estudiantes para enfrentar problemas similares en sus futuras carreras profesionales. |
VII. Recursos, Medios y Materiales
| N. |
Recursos medios y materiales |
| 1 |
Guías y/o tutoriales |
| 2 |
Laboratorios |
| 3 |
Internet - Wifi |
| 4 |
Proyector y/o TV Smart |
VIII. Evaluación
La evaluación de los estudiantes se rige por el Reglamento de Estudios, disponible en: https://upeu.edu.pe/reglamentos/evaluacion. La estructura evaluativa comprende componentes formativos y/o de procesos, de producto y genéricos, reflejando un enfoque integral.
| Fecha |
Unidad |
Producto |
Evaluación de proceso y de resultado |
Pesos |
| 17/04/2026 |
Unidad 1: Fundamentos, Técnicas y Pruebas Unitarias de Software |
Plan de pruebas y casos de prueba documentados. |
Evaluación de sesiones |
5% |
|
|
|
Evaluación del producto |
20% |
| 05/06/2026 |
Unidad 2: Pruebas Integrales, Automatización e Integración Continua |
Informe sobre implementación de Pipeline de CI y Suite de pruebas automatizadas (unitarias, integración y E2E). |
Evaluación de sesiones |
5% |
|
|
|
Evaluación del producto |
20% |
| 03/07/2026 |
Unidad 3: Integración y Despliegue Continuo (CI/CD) |
Pipeline CI/CD funcional con estrategia de despliegue documentado. |
Evaluación de sesiones |
10% |
|
|
|
Evaluación del producto |
30% |
| 03/07/2026 |
Competencia General |
Carácter y aprendizaje autónomo. |
Competencia General |
10% |
| Promedio ponderado de las evaluaciones |
Pesos |
| Evaluación de sesiones |
20% |
| Evaluación del producto |
70% |
| Evaluación de competencia genérica |
10% |
| Total |
100% |
IX. Referencias
Básica (Fuentes primarias)
- Aniche, M. (2022). Effective Software Testing: A Developer's Guide. Manning Publications.
- Humble, J., & Farley, D. (2010). Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation. Addison-Wesley.
- Hambling, B. (2019). Software Testing. 4Ed. BCS, The Chartered Institute for IT.
- Winters, T., Manshreck, T., & Wright, H. (2020). Software Engineering at Google: Lessons Learned from Programming Over Time. O'Reilly Media.
- Kim, G., Humble, J., Debois, P., & Willis, J. (2016). The DevOps Handbook: How to Create World-Class Agility, Reliability, & Security in Technology Organizations. IT Revolution Press.
- Myers, G. J., Sandler, C., & Badgett, T. (2011). The Art of Software Testing (3.ª ed.). Wiley.
Complementaria (Fuentes secundarias)
- Beck, K. (2002). Test-Driven Development: By Example. Addison-Wesley Professional.
- Crispin, L., & Gregory, J. (2009). Agile Testing: A Practical Guide for Testers and Agile Teams. Addison-Wesley.
- Fowler, M. (2018). Refactoring: Improving the Design of Existing Code (2.ª ed.). Addison-Wesley.
- Neha, K. (2023). Implementing Automated Software Testing. Arcler Press.
- Nygard, M. T. (2018). Release It!: Design and Deploy Production-Ready Software (2.ª ed.). Pragmatic Bookshelf.
- Richardson, C. (2018). Microservices Patterns: With Examples in Java. Manning Publications.
Enlaces de internet