Análisis de Resultados 2 - haroldVirguez/VINYLS-MOBILE GitHub Wiki

📊 Resultados y Reporte de la Estrategia de Pruebas

Durante esta iteración se ejecutaron distintos tipos de pruebas —manuales, unitarias y end-to-end (E2E) con Kraken— abarcando las cinco historias trabajadas en el sprint: HU01, HU02, HU03, HU07 y HU08, con el propósito de validar su correcto funcionamiento, su integración con la arquitectura MVVM y la estabilidad general de la aplicación Vinyls.


1. Resultados de Pruebas

✍️ 1.1. Pruebas Manuales Funcionales (TNT01)

Las pruebas manuales exploratorias se realizaron sobre:

  • HU01: Consultar listado de álbumes
  • HU02: Consultar detalle de álbum
  • HU03: Consultar listado de artistas
  • HU07: Crear álbum
  • HU08: Asociar tracks con álbum

✔️ Validaciones realizadas

  • Flujo de navegación entre módulos (álbumes y artistas).
  • Renderizado de catálogos completos (álbumes y artistas).
  • Creación correcta de álbumes con datos persistidos.
  • Asociación de tracks en álbumes recién creados.
  • Actualización en tiempo real de listas tras operaciones de escritura.
  • Comportamiento visual usando Glide + placeholder para carátulas.

✔️ Resultado

Todas las pruebas manuales fueron exitosas, sin errores funcionales ni fallos de renderizado.
La interacción entre vistas, ViewModel y backend NestJS se comportó de manera consistente en todos los dispositivos.

📹 El video de evidencia se encuentra en el repositorio del equipo.


🧪 1.2. Pruebas Unitarias (TNT02)

Las pruebas unitarias se ejecutaron sobre el flavor:

testE2eDebugUnitTest

Incluyendo pruebas del Sprint 1 + nuevos casos para:

  • ViewModels de álbumes, artistas y coleccionistas
  • Repository de creación y asociación de tracks
  • Validación de transformación de datos y flujos de negocio

✔️ Resultado de ejecución

BUILD SUCCESSFUL
  • Sin fallos ni excepciones
  • Aumento en la cobertura de componentes críticos
  • Se validó la coherencia estructural del modelo MVVM y métodos asíncronos con corutinas

Los resultados se encuentran en:

Finder/File Explorer: 
app/build/reports/tests/testE2eDebugUnitTest/index.html

🤖 1.3. Pruebas End-to-End (Kraken) – TNT03

Las pruebas E2E se ejecutaron nuevamente sobre la versión actual de la aplicación, manteniendo los escenarios del Sprint 1 pero verificando su estabilidad tras la inclusión de HU03, HU07 y HU08.

✔️ Escenarios validados

  • Navegación: listado de álbumes → detalle
  • Comportamiento general de la UI con datos mock
  • Validación de integración entre View–ViewModel–Repository
  • Verificación de comportamiento estable en flujos extendidos

✔️ Ejecución

npm run test:android

✔️ Resultado

5 scenarios (5 passed)
23 steps (23 passed)

Reportes disponibles en:

e2e-kraken/reports/index.html

1.4. Resultados de Rendimiento y Micro‑Optimizaciones (TNT04)

Durante el Sprint 2 se aplicaron mejoras orientadas al rendimiento de la aplicación, alineadas con OBJ06 y OBJ09.

🔹 Optimización con Glide

  • Carga eficiente de imágenes
  • Menor trabajo en el main thread
  • Mejor rendimiento en scroll de listas

🔹 Caching de imágenes

diskCacheStrategy(DiskCacheStrategy.AUTOMATIC)

🔹 Placeholder y fallback

Glide.with(requireContext())
    .load(album.cover.toUri().buildUpon().scheme("https").build())
    .placeholder(R.drawable.placeholder_img)
    .error(R.drawable.ic_broken_image)
    .into(binding.imgAlbumCover)

🔹 Limpieza de recursos y layouts

  • Eliminación de layouts anidados innecesarios
  • Reducción de overdraw
  • Eliminación de 10+ recursos no utilizados

🔹 Adaptadores optimizados

  • Migración completa a ListAdapter + DiffUtil
  • Eliminación del antipatrón notifyDataSetChanged()
  • Mejoras en el bind de ítems para evitar recálculos costosos

✔️ Resultado global

Estas optimizaciones mejoraron notablemente la fluidez, el tiempo de carga y el uso de memoria, fortaleciendo los flujos funcionales probados en HU03, HU07 y HU08.


⚠️ Registro de Errores

Durante las pruebas del Sprint 2 no se identificaron errores funcionales, estructurales ni de rendimiento críticos.

El protocolo definido en la estrategia se mantiene para futuros issues:

  1. Registro de issue en GitHub
  2. Adjuntar evidencia (capturas, logs, videos)
  3. Clasificar en categorías (bug, performance, unit-test, E2E)
  4. Asignar responsable y sprint

4. Evidencia en el Repositorio

Spinify/
├── app/
│   └── build/reports/tests/testE2eDebugUnitTest/
│       └── index.html
└── e2e-kraken/
    └── reports/
        └── index.html

🧩 5. Conclusiones Finales del Sprint 2

Los resultados obtenidos están completamente alineados con la Estrategia de Pruebas definida.
En este sprint, se logró:

  • Validar las nuevas historias HU03, HU07 y HU08 junto con HU01 y HU02
  • Confirmar la estabilidad de la arquitectura MVVM en todos sus módulos
  • Extender la robustez de las pruebas unitarias
  • Mantener pruebas E2E exitosas y estables con Kraken
  • Mejorar el rendimiento de la aplicación mediante micro‑optimizaciones críticas
  • Verificar el comportamiento estable en dispositivos físicos y virtuales
  • Consolidar un ciclo de pruebas ordenado, documentado y respaldado con evidencia

En conjunto, la calidad del producto Spinify v4.0 refleja un avance significativo respecto al Sprint 1, alcanzando mayor complejidad técnica y funcional.