Este proyecto consiste en la ejecución de pruebas integrales sobre la aplicación web BlazeDemo, cubriendo distintas áreas del testing de software con un enfoque práctico y profesional.
El objetivo es simular un flujo de trabajo real de QA, incluyendo diseño de casos de prueba, ejecución, detección de defectos, pruebas de rendimiento, validación de seguridad y testing de APIs.
Se realizaron los siguientes tipos de testing:
- Testing funcional (manual)
- Testing de APIs (Postman)
- Reporte y gestión de bugs
- Testing de performance
- Testing de seguridad
- Automatización (Cypress)
- Postman – testing de APIs
- Cypress – automatización de pruebas E2E
- Apache JMeter – pruebas de carga
- BlazeMeter – validación externa
- OWASP ZAP – análisis de seguridad
.
├── api-testing
│ └── postman → colección y environment
├── automation
│ └── cypress → tests automatizados
├── bug-reports
│ ├── bugs.ods → listado de defectos
│ ├── evidence → capturas y pruebas
│ └── jira → flujo simulado de gestión
├── performance
│ ├── blazemeter
│ └── jmeter → pruebas de carga
├── security
│ ├── inform.md
│ └── zap-analysis → análisis de vulnerabilidades
├── test-scenarios
│ └── casos-de-prueba.ods → casos funcionales
├── conclusions → informe final
└── README.mdSe diseñaron y ejecutaron casos de prueba cubriendo los principales flujos del sistema:
- navegación entre páginas
- selección de vuelos
- reserva de vuelos
- registro de usuario
- login
- recuperación de contraseña
Se aplicaron técnicas de validación sobre:
- flujos positivos
- flujos negativos
- comportamiento ante errores
-
Error 419 en:
- registro de usuarios
- login
- recuperación de contraseña
Indica problemas en validación de tokens o manejo de sesión.
Se realizaron pruebas sobre endpoints utilizando Postman:
- GET → validación de disponibilidad y contenido HTML
- POST → validación de formularios (compra, login, recuperación)
- status codes
- headers (Content-Type)
- contenido de respuesta
- tiempos de respuesta
- casos negativos
Se documentaron defectos siguiendo un flujo similar a Jira:
Estados: Nuevo → En progreso → Resuelto → Cerrado
Cada bug incluye:
- pasos de reproducción
- resultado esperado vs actual
- prioridad
- evidencia
Se ejecutaron pruebas de carga con distintos niveles:
- 20 usuarios concurrentes
- 50 usuarios concurrentes
- 100 usuarios concurrentes
- tiempo de respuesta promedio
- percentiles
- throughput
- tasa de errores
BlazeMeter se utilizó como validación externa.
Se analizaron vulnerabilidades utilizando OWASP ZAP:
- cabeceras de seguridad faltantes
- configuraciones inseguras
- posibles exposiciones de información
Se implementaron pruebas automatizadas con Cypress para:
- navegación principal
- selección de vuelos
- validación de elementos UI
El sistema presenta un correcto funcionamiento en los flujos principales de navegación y reserva, pero evidencia problemas importantes en:
- manejo de autenticación (errores 419)
- validación de formularios
- configuración de seguridad
- estabilidad bajo carga
- Testing funcional completado
- API testing implementado
- Bugs documentados
- Performance evaluada
- Seguridad analizada
- Automatización implementada
Para ejecutar las pruebas de API con Postman:
- Importar la colección desde
/api-testing/postman/collections/ - Importar el environment desde
/api-testing/postman/environments/ - Ejecutar los requests o la colección desde Postman
El proyecto incluye un script set-up.sh para verificar automáticamente las dependencias necesarias antes de ejecutar las pruebas QA.
El script valida:
- Node.js
- npm
- Java
- Newman
- Lighthouse
- Dependencias de Cypress
- Directorios necesarios del proyecto
Además, instala automáticamente las dependencias de Cypress si no existen.
Antes de ejecutarlo debe asignarse permiso de ejecución:
chmod +x set-up.sh./set-up.shEl script mostrará el estado de cada herramienta requerida y verificará que el entorno esté listo para ejecutar las pruebas.
Ejemplo:
Node.js encontrado
npm encontrado
Java encontrado
Validación finalizada
El objetivo del setup es simplificar la preparación del entorno y detectar dependencias faltantes antes de ejecutar:
- pruebas automatizadas
- pruebas API
- pruebas de performance
- análisis de seguridad
- pruebas de accesibilidad