EstrategiaPruebas - leonelparrales22/VinilosTSDC-backend GitHub Wiki
Estrategia de Pruebas
1. Aplicación Bajo Pruebas
1.1. Nombre de la Aplicación
Vinilos
1.2. Versión
Móvil
1.3. Descripción
La aplicación Vinilos es una plataforma interactiva que permite a los usuarios explorar, gestionar y compartir información relacionada con la música.
Los visitantes pueden navegar por un amplio catálogo de álbumes, artistas y coleccionistas, consultar detalles específicos y descubrir nuevos contenidos de su interés.
Por otro lado, los coleccionistas cuentan con funcionalidades avanzadas que les permiten crear y administrar sus propios álbumes, asociar tracks, comentar, agregar artistas y álbumes a su colección, así como compartir sus gustos musicales con otros usuarios.
Además, pueden enriquecer la información del sistema al actualizar datos de bandas, premios y artistas, fomentando así una comunidad colaborativa y dinámica en torno al mundo musical.
1.4. Funcionalidades Core
- Consultar catálogo de álbumes: Permite a los visitantes navegar por el listado completo de álbumes disponibles para descubrir y seleccionar los que más les interesen.
- Consultar información detallada de un álbum: Muestra a los usuarios toda la información asociada a un álbum, incluyendo su descripción, año, género y canciones.
- Consultar listado de artistas: Ofrece un listado de artistas disponibles en la plataforma para que los usuarios puedan explorar sus perfiles y obras musicales.
- Consultar información detallada de un artista: Permite visualizar datos específicos de un artista, como su biografía, discografía y premios asociados.
- Consultar listado de coleccionistas: Presenta a los visitantes una lista de coleccionistas registrados, permitiendo conocer sus perfiles e intereses musicales.
- Consultar información detallada de un coleccionista: Muestra información del perfil de un coleccionista, incluyendo sus gustos musicales, artistas favoritos y álbumes asociados.
- Crear un álbum: Permite a los coleccionistas agregar nuevos álbumes al catálogo general, contribuyendo al crecimiento de la base musical del sistema.
- Asociar tracks con un álbum: Facilita la adición de canciones o pistas a un álbum existente para mantener actualizada su información.
1.5. Diagrama de Arquitectura
1.6. Diagrama de Contexto
1.7. Modelo de Datos
1.8. Modelo de GUI
2. Contexto de la Estrategia de Pruebas
2.1. Objetivos
OBJ-001 — Validar la consulta del catálogo de álbumes
Validar que la funcionalidad de consulta del catálogo de álbumes presente correctamente el listado completo y permita la navegación esperada, cumpliendo los criterios funcionales establecidos para el ciclo de pruebas
OBJ-002 — Verificar la visualización detallada de un álbum
Verificar que la funcionalidad de información detallada de un álbum muestre de forma correcta la descripción, año, género y canciones asociadas, acorde con los requisitos definidos.
OBJ-003 — Validar la consulta del listado de artistas
Validar que la funcionalidad de listado de artistas despliegue correctamente los registros disponibles y permita acceder a sus perfiles sin errores durante el periodo de pruebas.
OBJ-004 — Verificar la visualización detallada de un artista
Verificar que la funcionalidad de detalle de artista presente biografía, discografía y premios correctamente, siguiendo los criterios funcionales establecidos.
OBJ-005 — Validar la consulta del listado de coleccionistas
Validar que la funcionalidad de listado de coleccionistas presente correctamente los perfiles disponibles y permita acceder al detalle sin fallas funcionales.
OBJ-006 — Verificar la visualización detallada de un coleccionista
Verificar que la funcionalidad de detalle de coleccionista despliegue correctamente gustos musicales, artistas favoritos y álbumes asociados conforme a los requisitos funcionales.
OBJ-007 — Validar la creación de álbumes
Validar que la funcionalidad de crear álbumes permita registrar nuevos álbumes correctamente y que estos se reflejen en el catálogo durante el periodo de pruebas.
OBJ-008 — Verificar la asociación de tracks a un álbum
Verificar que la funcionalidad de asociación de tracks permita agregar pistas correctamente y que estas se visualicen en el detalle del álbum correspondiente.
OBJ-009 — Validar la experiencia de usuario en las funcionalidades core
Validar que la navegación, distribución de información y fluidez visual de las funcionalidades core sea coherente, intuitiva y adecuada para dispositivos móviles.
OBJ-010 — Validar la estabilidad del sistema bajo diferentes perfiles de dispositivo
Validar la estabilidad de la aplicación ejecutando las funcionalidades core en múltiples perfiles de hardware emulados, identificando comportamientos divergentes entre dispositivos.
OBJ-011 — Medir el desempeño de las funcionalidades core
Medir el tiempo de ejecución, uso de memoria y consumo de batería en las funcionalidades core, con el fin de verificar que el desempeño se mantiene dentro de los parámetros esperados para cada HU.
OBJ-012 — Identificar variaciones de rendimiento entre perfiles de hardware
Identificar las diferencias de rendimiento entre dispositivos con distintas capacidades (CPU, RAM y versión de Android), analizando patrones y posibles puntos de optimización.
OBJ-013 — Verificar la eficiencia de la gestión de recursos
Verificar el uso eficiente de memoria, procesamiento y batería durante la ejecución de las HU, detectando posibles fugas, carga excesiva o comportamientos anómalos.
2.2. Duración de la Iteración de Pruebas
Duración: Periodo de 6 semanas, dividido en 3 iteraciones.
Cada iteración tiene una duración de 10 días hábiles.
Cada empleado de la división trabaja 8 horas/día de manera que se completen un total de 80 horas de trabajo por iteración.
- Fecha de inicio: 20 de octubre de 2025
- Fecha de finalización: 30 de noviembre de 2025
| Duración total | Iteraciones | Duración por iteración | Horas por iteración | Inicio | Finalización |
|---|---|---|---|---|---|
| 6 semanas | 3 | 10 días hábiles | 80 horas | 20 oct 2025 | 30 nov 2025 |
2.3. Presupuesto de Pruebas
2.3.1. Recursos Humanos
Automatizadores Junior (4)
- Cargo: Ingeniero de Automatización (Junior)
- Perfil: Profesional junior en automatización de pruebas, con conocimientos básicos en herramientas como Espresso, UIAutomator, Monkeyrunner, Kraken Mobile, Perfecto, Application Exerciser Monkey, Test Lab, Droidbot, RIP, ITDroid o Appium, y familiaridad con lenguajes de programación como Kotlin o Java.
Buscamos personas proactivas, analíticas, con buenas habilidades de comunicación y trabajo en equipo, y con gran motivación para aprender y crecer en el área de aseguramiento de la calidad del software. - Razón del cargo: Este rol es clave para diseñar, implementar y ejecutar pruebas automatizadas que permitan detectar y reportar defectos en la aplicación, asegurando la calidad y el correcto funcionamiento del software.
Cálculo de costos:
Según el empleo, el salario promedio de un automatizador QA junior en Colombia es de aproximadamente 4 millones de pesos colombianos al mes.
Al convertir esto a dólares estadounidenses utilizando una tasa de cambio de 1 COP = 0.00025 USD, obtenemos un salario mensual promedio de 1,038.60 USD.
Considerando 180 horas laborables mensuales, el costo por hora sería de 5.77 USD.
Referencia: https://www.elempleo.com/co/ofertas-trabajo/qa-automatizador-1886583210
| Concepto | Detalle | Cálculo | Resultado |
|---|---|---|---|
| Cantidad de perfiles | 4 Automatizadores Junior | — | 4 |
| Carga horaria | 80 horas por iteración × 3 iteraciones | 80 × 3 | 240 horas por perfil |
| Costo por hora | — | — | $5.77 USD |
| Total de horas trabajadas | 4 perfiles × 240 horas | 4 × 240 | 960 horas |
| Presupuesto total estimado | 960 horas × $5.77 USD/hora | 960 × 5.77 | $5,539.20 USD |
2.3.2. Recursos Computacionales
Para el diseño, implementación y ejecución de las pruebas en Vinilos Mobile, se requieren los siguientes recursos computacionales:
- Recurso: Computador portátil
- Cantidad: 4
- Horas semanales: 24 horas/día × 5 días = 120 horas semanales
- Semanas de uso: 6 semanas
- Justificación: Diseño, implementación y ejecución de pruebas con técnicas automatizadas.
- Costo del computador: Para determinar el costo del computador, se tomó como referencia el precio de una laptop disponible en Mercado Libre Colombia, asegurando una estimación realista y actualizada.
Capacidades técnicas del equipo:
- Procesador: Intel Core i5-1235U
- Disco SSD: 512 GB
- Memoria RAM: 8 GB
- Conectividad: WiFi y Bluetooth
Presupuesto total de recursos computacionales:
| Concepto | Cantidad | Costo unitario (USD) | Total (USD) |
|---|---|---|---|
| Computadores portátiles | 4 | 414.14 | 1,656.56 |
Total presupuesto recursos computacionales: 1,656.56 USD
2.3.3. Recursos Económicos para la Contratación de Servicios/Personal
Los recursos humanos y computacionales tienen un costo total combinado de:
| Concepto | Monto (USD) |
|---|---|
| Recursos humanos | 5,539.20 |
| Recursos computacionales | 1,656.56 |
| Total | 7,195.76 |
Total general estimado: 7,195.76 USD
2.4. TNT (Técnicas, Niveles y Tipos) de Pruebas
| Nivel | Tipo | Técnica | Objetivo(s) |
|---|---|---|---|
| Sistema | Funcionales de caja negra mixtas (positivas y negativas) | APIs de Automatización | OBJ-001, OBJ-002, OBJ-003, OBJ-004, OBJ-005, OBJ-006, OBJ-007, OBJ-008 |
| Sistema | Funcionales de caja negra mixtas (positivas y negativas) | Manual | OBJ-001, OBJ-002, OBJ-003, OBJ-004, OBJ-005, OBJ-006, OBJ-007, OBJ-008, OBJ-009 |
| Sistema | No Funcionales (de desempeño) | Automatizadas | OBJ-010, OBJ-011, OBJ-012, OBJ-013 |
| Sistema | Funcionales | Automatizada (Monkey Testing) | OBJ-010, OBJ-011, OBJ-012, OBJ-013 |
| Ssitema | Funcionales | Automatizada (Gui Ripper) | OBJ-010, OBJ-011, OBJ-012, OBJ-013 |
2.5. Descripción del análisis de desempeño
El análisis de rendimiento tiene como propósito evaluar el comportamiento de las funcionalidades core de la aplicación bajo diferentes condiciones de ejecución y en distintos perfiles de hardware. Este proceso permite identificar cómo la aplicación gestiona los recursos del dispositivo, cómo responde a las operaciones críticas del usuario y si existen variaciones significativas de desempeño entre equipos con capacidades diversas.
Este análisis resulta especialmente relevante debido a que las funcionalidades evaluadas comprenden flujos de consulta, visualización de información y operaciones de carga de datos que son utilizados de forma frecuente por los usuarios finales. En consecuencia, su comportamiento debe ser consistente, eficiente y estable incluso en dispositivos con características de hardware menos potentes.
se aplicará un proceso de perfilamiento automático que registra métricas clave —tiempo de ejecución, uso de memoria y consumo de batería— cada vez que se completa el flujo asociado a una HU. El uso de métricas reales permite establecer una línea base del desempeño de la aplicación y facilita la identificación de patrones, posibles cuellos de botella y oportunidades de optimización.
2.6. Distribución de Esfuerzo
La distribución del esfuerzo se orienta principalmente hacia las pruebas de sistema funcionales, tanto manuales como automatizadas, para garantizar la validación exhaustiva de las funcionalidades críticas de la aplicación.
Adicionalmente, se asigna un porcentaje significativo al profiling automatizado, debido a su rol en la evaluación de desempeño, uso de memoria, tiempo de respuesta y estabilidad general en distintos dispositivos.
Las pruebas unitarias y de integración mantienen un esfuerzo nulo dentro de esta estrategia, ya que el foco del proyecto está en la validación end-to-end del sistema y la detección de defectos críticos finales.
Diagrama de Gantt
Se recomienda descargar el archivo y abrirlo en Excel para visualizar correctamente la planificación de las iteraciones, actividades y distribución de esfuerzo.