Sprint 5 Estrategia de pruebas habitica web - NATHA1096/titans GitHub Wiki
Estrategias de pruebas
-
Descripción
Habitica es una aplicación web que permite llevar el control sobre diferentes tareas o hábitos de los usuarios. Su objetivo principal es brindar a los usuarios una herramienta para la gestión de actividades. A medida que ha ido creciendo y evolucionando ha incluido nuevas funcionalidades como la gestión de tareas por equipos para lograr objetivos comunes. Su interfaz y estilo amigable en la que se simula un juego sirve como motivador para que las personas lo utilicen y no sea solo otra aplicación de gestión de tareas más.
Front-End: JavaScript (Vue.js) Back-End: JavaScript (Node.js) Base de Datos: Mongo DB
-
Contexto de ejecución
-
Recursos Disponibles
Se cuenta con tres integrantes en el equipo, en donde cada integrante tiene 4 horas disponibles para las pruebas de esta aplicación. Esto se toma teniendo en cuenta que cada integrante tiene disponibles 12 horas a la semana y en total se van realizar pruebas sobre tres aplicaciones diferentes.
Dentro de las 4 horas establecidas se incluye el tiempo de documentación del proceso y resultado de las pruebas.
Además se cuenta con con las siguientes maquinas para realizar las pruebas.
Especificaciones Dell Intel Core i7, RAM 16GB, 64 bit, Windows Asus Intel Core i5, RAM 8GB, 64 bit, Windows Asus Intel Core i7, RAM 8GB, 64 bit, Windows Las pruebas se van a realizar sobre dos navegadores distintos(Chrome y Firefox) en sus últimas versiones.
-
-
Objetivos del proceso de pruebas
- Utilizar generación de datos en más scripts.
- Generar scripts para nuevas funcionalidades.
- Ejecución de pruebas de sobre la aplicación web.
- Generación de reportes sobre las pruebas realizadas.
- Realizar pruebas de conexión para identificar el comportamiento de la aplicación.
- Probar la aplicación con diferentes resoluciones para ver si es responsive.
- Realizar mayor cantidad de pruebas sobre Firefox para identificar si existen diferencias con Chrome.
- Detectar más defectos de la aplicación a través de las pruebas realizadas.
-
Funcionalidades a probar
- Login.
- Registro
- Crear avatar
- Añadir intereses
- Visualizar tarea
- Hábitos
- Tareas pendientes
- Tarea diarias
- Recompensas
- Realizar búsqueda de tareas
- Editar tareas (Hábitos, Pendientes, Diarias, Recompensas)
- Eliminar tareas (Hábitos, Pendientes, Diarias, Recompensas)
- Crear equipo
- Invitar amigos a un equipo
- Editar equipo
- Invitar a una misión
- Abandonar una misión
- Visualizar miembros del equipo
- Enviar mensajes a miembros del equipo
- Eliminar equipo
- Crear un desafío
- Unirse a un desafío
- Editar un desafío
- Elegir un ganador para un desafío
- Terminar un desafío
-
Tipos y niveles de pruebas
Para este ultimo sprint vamos a incrementar la cantidad de scripts con el objetivo de dar un alcance mayor a las pruebas E2E sobre las funcionalidades mencionadas anteriormente, también se va hacer uso de la herramienta VRT con el objetivo de detectar más defectos en la aplicación. El repositorio con estas pruebas es el siguiente: https://github.com/NATHA1096/testing-scripts
-
Resultados
Los scripts E2E-Cypress ejecutados sobre la aplicación para detectar más defectos son los siguiente:
A continuación se muestran los resultados obtenidos al ejecutar las distintas pruebas anteriormente mencionadas.
- E2E
- VRT
Pruebas con Firefox: Al correr todos los scripts generados con Firefox se detecta un error por parte de Cypress que no tiene compatibilidad con ciertos elementos y por eso no se obtiene resultados claros sobre su ejecución.
Pruebas de conexión: Se detecta que al no tener conexión la aplicación intenta cumplir con las diferentes funcionalidades como ver hábitos o información que se guarda en cache, sin embargo si no la encuentra simula que esta cargando pero no da ningún feedback a los usuarios y pareciera que no funciona. Además un error grande que se encontró es que al agregar un habito deja crearlo y se muestra en el dashboard, sin embargo al volver a tener conexión desaparece.
Pruebas con diferentes resoluciones: Se detecto que a primera vista la aplicación web se ajusta correctamente al tamaño de dispositivos pequeños, sin embargo al realizar pruebas con mayor detalle se nota que algunas notificaciones se muestras desproporcionadas y algunos paneles de navegación son diferentes. También en cuanto a la usabilidad en el menú de navegación se nota que solo deja desplegar las opciones con la flecha y si el dispositivo es muy pequeño es bastante difícil para los usuarios realizar este tipo de acciones.