Sprint 3 Estrategia de pruebas habitica movil - NATHA1096/titans GitHub Wiki
Estrategia de pruebas
Descripción de la aplicación
Habitica es un gestor de tareas que nos permite cumplir nuestros objetivos diarios posteando actividades, utilizando un sistema de premios o recompensa y posteando habitos que interfieran en nuestra forma de vivir.
La arquitectura de esta aplicación es Kotlin que corre sobre la máquina virtual de JAVA, el proyecto está construido con Gradle como administrador de paquetes incluyendo Android-tools. La aplicación sigue la arquitectura de cliente-servidor, donde el servidor utiliza el framework Express.js corriendo en Node.js y el cliente es la aplicación nativa.
Contexto de ejecución del proceso de pruebas
Para nuestro segundo sprint se cuenta con 3 Ingenieros y 4 horas semanales cada uno, los recursos a nivel general son simuladores Android del sitio web Genymotion de los cuales hemos tomado 3 para hacer una matriz de dispositivos.
Las maquinas disponibles para las pruebas son:
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 |
Matriz de dispositivos |
---|
Google Nexus 6, Android 8.0 API 26, 64 bit, 1440*2560 |
Motorola Moto X, Android 4.4 API 19, 720*1280 |
Samsung A10, Android 9.0 API 28, 720*1520 |
Objetivos del proceso de pruebas
- Detectar defectos de la aplicación a través de pruebas BDT.
- Ejecutar pruebas utilizando una matriz de dispositivos.
Funcionalidades a probar
- Login
- Registro
- Editar avatar
- Cambio de lenguaje de la aplicación
- Visualizar tarea
- Habitos
- Tareas pendientes
- Tarea diarias
- Recompensas
- Realizar busqueda de tareas
- Crear equipo
- Invitar amigos a un equipo
- Editar equipo
- Invitar a una mision
- Visualizar miembros del equipo
- Enviar mensajes a miembros del equipo
Tipos y niveles de pruebas
Las pruebas a realizar son pruebas a nivel sistema de tipo BDT sobre 15 funcionalidades de la aplicación móvil utilizando las herramienta calabash. Esto se realiza con el objetivo de detectar defectos en la aplicación.
Resultados
Al correr un set de pruebas de las 15 funcionalidades, hemos encontrado 6 errores, los cuales estan formalmente reportados en https://titans.mantishub.io/login_page.php y se encontraron también como parte de pruebas manuales, en algunos casos cuentan con el script de pruebas adecuado, en otros casos por la complejidad del script, se ha optado por dejar el reporte y levantar un script adecuado para nuestro siguiente sprint.
Por otra parte al ejecutar nuestros scripts en diferentes modelos tenemos las siguientes observaciones:
De entrada el Moto X no permitió instalar Habitica por tener una version de android obsoleta, para el samsung se corrió el mismo test de pruebas pero ocasionalmente por la distribución en pantalla los scripts fallaban, es probable que se incurra en flaky test si hacemos uso de retardos ya que era la forma que se encontraba para que el script corriera en ciertas pantallas, por otro lado el tema de la ubicación del click dio problemas por la distribución de pantallas en ciertas vistas. Finalmente nos ha dado algo de dificultad el no conocer el DOM desde la aplicación (calabash), porque debemos ir al código y tomar muchos elementos que en ocasiones no es fácil detectar, en este punto es donde quedamos con la incógnita de, ¿Que se hace si no se tiene el código fuente a la mano y debemos generar unos scripts?, por otra parte, ¿Como podríamos generar datos aleatorios utilizando calabash, pensando mas como testers que como desarrolladores?.
A continuación se muestran las resultados de las pruebas realizadas. El repositorio con estas pruebas es el siguiente: https://github.com/NATHA1096/testing-scripts.
- BDT
Click aqui para descargar directamente el video.