Estrategia de pruebas Sprint 3 - jphernandezr1/MISW-4203-Vinilos GitHub Wiki

Aplicación Bajo Pruebas

Nombre de la Aplicación: Vinilos. Versión: 0.0.1

Descripción:

Vinilos es una aplicación para Android que permite a los usuarios listar y crear álbumes musicales, listar y crear coleccionistas, ver el detalle de cada uno y agregar tracks a los álbumes. Su propósito es ofrecer una experiencia fluida para la gestión de colecciones musicales, haciendo uso de la arquitectura MVVM.

Funcionalidades Core:

  • Listar y crear álbumes.
  • Ver el detalle de un álbum, incluyendo sus tracks.
  • Agregar nuevos tracks a un álbum existente.
  • Listar y crear coleccionistas.
  • Ver el detalle de cada coleccionista.

Objetivos

  1. Validar la creación y gestión de álbumes: Asegurar que los usuarios puedan listar, crear y consultar álbumes correctamente, incluyendo la adición de nuevos tracks.
  2. Verificar la gestión de coleccionistas: Confirmar que los usuarios puedan listar, crear y consultar coleccionistas sin errores de persistencia o visualización.
  3. Asegurar la consistencia de los datos: Validar que los datos mostrados en la interfaz sean consistentes con los almacenados en el modelo local.
  4. Ejecutar pruebas End-to-End (E2E): Evaluar la interacción completa entre vistas, ViewModels y repositorios usando Espresso.
  5. Ejecutar pruebas de robustez: Utilizar Firebase Test Lab (Monkey) para generar eventos aleatorios que validen la estabilidad de la app.
  6. Realizar pruebas manuales exploratorias: Detectar defectos no cubiertos por pruebas automatizadas y evaluar la experiencia del usuario final.

Duración y Distribución del Esfuerzo

Duración total: 3 sprints de 2 semanas cada uno (6 semanas).
Capacidad total: 4 integrantes × 4 horas/semana × 6 semanas = 96 horas-persona.

Distribucion de los Sprints

Sprint Actividades Principales Recursos
Sprint 1
  • Configuración del entorno de pruebas local en los computadores personales.
  • Configuración del repositorio de código y proyecto Espresso.
  • Ejecución de pruebas manuales exploratorias iniciales para entender el flujo de la app.
  • Diseño de los primeros casos de prueba E2E para flujos de creación y listado de álbumes.
4 integrantes × 4 h/semana
Sprint 2
  • Ampliación de pruebas E2E con Espresso, cubriendo flujo de coleccionistas y detalle de álbumes.
  • Perfilamiento de la aplicación.
  • Registro y priorización de defectos detectados.
  • Validación de regresiones manuales.
4 integrantes × 4 h/semana
Sprint 3
  • Refinamiento de scripts E2E para cubrir integración entre álbumes y tracks.
  • Ejecución de pruebas de cierre.
  • Consolidación de resultados, métricas y documentación de hallazgos.
  • Presentación del informe final de pruebas.
  • Ejecución de pruebas automáticas de estabilidad con Firebase Test Lab (Monkey)
  • Ejecución de pruebas de accesibilidad.
    2 integrantes × 6 h/semana

    Presupuesto pruebas

    Recursos Humanos: 4 integrantes del equipo (con conocimientos en desarrollo Android, Espresso y arquitectura MVVM).
    4 horas de dedicación semanal por integrante.

    Recursos Computacionales:
    4 computadores personales (entorno de desarrollo Android Studio).
    2 dispositivos Android físicos para pruebas en hardware real.
    No se utilizarán recursos en la nube salvo el acceso al Firebase Test Lab gratuito para ejecutar pruebas Monkey.

    Recursos Económicos:
    No se contempla contratación de personal ni adquisición de infraestructura adicional.

    TNT (Técnicas, Niveles y Tipos de Prueba)

    Nivel de Prueba Tipo de Prueba Técnica de Prueba Objetivos Relacionados
    Sistema Funcional Pruebas E2E con Espresso 1, 2, 4
    Sistema Exploratoria Manual 1, 2, 3, 6
    Sistema Caja Negra Monkey Tests (Firebase Test Lab) 3, 5

    Pruebas de Reconocimiento

    Para la entrega de este sprint, se llevó a cabo una verificación exhaustiva de la estabilidad y la interfaz de usuario mediante dos metodologías de pruebas de exploración automatizada:

    Monkey Test (ADB Monkey): Ejecutadas utilizando la herramienta ADB Monkey para evaluar la estabilidad de la aplicación bajo entradas aleatorias.

    Pruebas de Exploración (Firebase Test Lab): Se utilizaron las capacidades de Firebase Test Lab con RoboTest para realizar una navegación automatizada y sistemática de la interfaz, identificando fallos y problemas de accesibilidad.

    ⚠️ **GitHub.com Fallback** ⚠️