Diseño de la Herramienta TesterXP - proyectosuniandes/Proyecto-MISO4208 GitHub Wiki

Modelo de Componentes

Descripción de Componentes

  • TesterXP-Front

Se maneja una interfaz web construida en React, la cual permitirá configurar y ejecutar las estrategias de pruebas junto con sus tipo de prueba. Se tiene en cuenta en la parte visual

* Crud de Aplicaciones
* Crud de Versiones
* Crud de la Estrategia de Prueba
* Visualización de Ejecuciones de la Estrategia de Prueba
  • TesterXP-API

Se maneja una aplicación construida en node.js con express, que permitirá recibir las solicitudes desde el front y poblar las tablas necesarias para el funcionamiento de la aplicación. Se diseña

* Inserción en base de datos de la información
* Envío de mensajes a la cola dispatcher
* Subida de archivos necesarios para la ejecución de las respectivas pruebas

API

  • TesterXP-Reporter

El Reporter permite tomar las salidas de las diferentes aplicaciones de pruebas para generar un reporte que sea fácilmente entendible para el usuario.

Reporter

  • Dispatcher y Colas

El Dispatcher permitirá recibir las peticiones y distribuirla a la cola correspondiente de acuerdo a la configuración de la prueba

Dispatcher y Colas

El uso de colas se plantea para el manejo de peticiones de tal manera que todas sean atendidas sin colapsar el sistema y que no exista pérdida de peticiones, para cada tipo de prueba.

Mensaje

{
  "id_estrategia": 3,
  "id_ejecucion": 3,
  "id_prueba": 3,
  "id_app": 1,
  "ruta_app": "http://54.211.150.233",
  "tipo_prueba": "E2E",
  "parametro": null,
  "ruta_script": "https://miso-4208-grupo3.s3.us-east-2.amazonaws.com/script/3",
  "vrt": true,
  "ruta_app_vrt": "http://3.208.88.204",
  "dispositivos": null,
  "navegadores": [
    { "tipo": "electron", "version": "8.2.0" }
  ]
}
  • TesterXP-Worker

Componente que se encarga de ejecutar la prueba que llega a la cola usando el framework de pruebas seleccionado en la configuración ingresada. worker

  • TesterXP-DB

Modelo de Datos

Modelo datos sprint 3

En este modelo podemos ver las siguientes entidades:

  • app: Modela cada una de las aplicaciones que se van probar
  • version: Versión de cada App.
  • prueba: Modela el deck o conjunto de pruebas asociado a una aplicación.
  • estrategia: Modela la estrategia de pruebas.
  • estrategia_prueba: Relaciona la estrategia con la prueba para ser ejecutada.
  • script: Scripts de la prueba a ejecutar.
  • parametro: Parámetros a ser tenidos en cuenta en cada prueba.
  • ejecucion: Ejecuciones que se realizan a partir de la estrategia y la prueba.
  • resultado: Resultados de las pruebas ejecutadas.

Diagrama de Despliegue

Despliegue