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.

gif-Login-habiticamovil