Diseño de la Herramienta TesterXP - proyectosuniandes/Proyecto-MISO4208 GitHub Wiki
Modelo de Componentes
El proceso inicia al momento de realizar la creación de una solicitud de pruebas de acuerdo a una estrategia de pruebas, esta solicitud es validada y procesada y luego se envía a la cola donde el worker obtendrá el siguiente mensaje de la cola. Este último, tomará la información de la solicitud y ejecutará el script de prueba.
Descripción de Componentes
TesterXP-Front React
Se manejara una interfaz web, la cual permitirá configurar y ejecutar las pruebas de acuerdo al nivel y tipo de prueba que se requiera.
TesterXP-API
Componente que verificar que la configuración construida sea válida y construye el script de ejecución de pruebas para la herramienta especificada en la configuración.
TesterXP-Reporter
Este componente permitirá al usuario visualizar las pruebas en tiempo de ejecución, al igual que información histórica de las pruebas.
Dispatcher
Permitirá recibir las peticiones y distribuirla a la cola correspondiente de acuerdo a la configuración de la prueba
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.
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.
TesterXP-DB
Se almacenará toda la información correspondiente a las pruebas, de tal manera que pueda ser consultada para ser visualizada por el componente Reporter.
Almacenamiento de Archivos
Se almacenarán los scripts de pruebas así como resultados para el componente Reporter.
Modelo de Datos
En este modelo podemos ver las siguientes entidades:
- APP: Modela cada una de las aplicaciones que se van probar
- TIPO_APP: Si son web o Móvil.
- VERSION: Versión de cada App.
- HISTORICO_PRUEBA: Representa los resultados de la ejecución de un set de pruebas.
- PRUEBA: Modela el deck o conjunto de pruebas asociado a una aplicación.
- TIPO_PRUEBA: Tipo de Prueba.
- SCRIPT: Script de la prueba a ejecutar.
- RESULTADO: Resultados de la prueba ejecutadas.
Diagrama de Despliegue
La solución a desarrollar para la solicitud y ejecución de pruebas, será una aplicación web, la cual hará uso de una BD alojada en AWS en donde persistirá la información de los requerimientos. De igual manera, se tendrá un bucket de almacenamiento para los scripts de pruebas a ejecutar; este último, debe tener conexión con el web server en donde se encuentra alojado el sitio.
El web server tendrá una conexión a un dispatcher que distribuye las peticiones a la colas en AWS en donde se enviará el mensaje de la solicitud. Este mensaje podrá ser accedido por el worker que tiene la responsabilidad de atender las solicitudes de acuerdo al tipo de prueba. Atendido el mensaje, el worker realizará la preparación del ambiente para la posterior ejecución del script de prueba.