Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current Restore this Version View Page History

Version 1 Current »

Pruebas de performance

Para la implementación de pruebas de performance, se utiliza la herramienta Grafana k6, el proceso de instalación, ejecución y estructura del proyecto se describen a continuación.

Instalando el entorno para k6

Ejecutando el proyecto

  • Descargar de GitHub el proyecto spin-api-performance-test.

  • Para instalar las dependencias, ejecutar en la raíz del proyecto:
    npm install

  • Para ejecutar con k6 cada uno de los tests, utilizar el siguiente comando:
    k6 run .\\TEST_PATH\\accountDetailsSuccessGrpcTask

  • Para generar un archivo csv con los resultados de la ejecución, utilizar el siguiente comando:
    k6 run .\\TEST_PATH\\accountSyncSuccessRestTask --out csv=test_results.csv

Estructura del código fuente

La carpeta padre MirrorStrategy incluye a los 3 aggregations en los que se ejecutan las pruebas:

  • Account Aggregation

  • Card Aggregation

  • Customer Aggregation

Cada uno, con su respectiva lista de servicios REST / gRPC y un test integrado con todos los escenarios.

Para los servicios gRPC se tiene una carpeta proto que incluye los archivos protobuffer requeridos.

Imagen con el árbol de directorios

Imagen con el árbol de directorios y archivos

El archivo config

El archivo config.js centraliza la configuración para la ejecución de pruebas, permitiendo cambiar urls, puertos, contexto, nombres de servicios, api key y parámetros de prueba, sin tener que hacerlo en cada test.

REST test

En la siguiente imagen se muestra un escenario para la obtención de Account Details del servicio Account Aggregation.

Detalle

  1. Se importa la librería k6/http para realizar las peticiones vía REST (POST, PUT, PATCH...).

  2. Posteriormente se importa la configuración requerida por el aggregation y se arma la url a consultar.

  3. Se definen los parámetros de ejecución del test y se invoca al servicio con el request correspondiente, finalmente se valida la respuesta.

gRPC test

En la siguiente imagen se muestra un escenario para la obtención de Balance Details del servicio Account Aggregation.

Detalle

  1. Se importa la librería k6/net/grpc para realizar las peticiones vía gRPC.

  2. Posteriormente se importa la configuración requerida por el aggregation y se arma la url a consultar.

  3. Se carga el archivo proto requerido para la prueba.

  4. Se definen los parámetros de ejecución del test y se invoca al servicio con el request correspondiente, finalmente se valida la respuesta.

Se deberá establecer en true la propiedad plaintext en la conexión cuando se requiera utilizar TLS

Integration test

En la siguiente imagen se muestran los test del servicio Account Aggregation integrados.

Detalle

  1. Se importan los test a ser considerados en la ejecución.

  2. Se definen los parámetros de ejecución del test integrado y se invoca cada escenario.

Las modificaciones realizadas en cualquier escenario, se reflejarán en el test integrado que lo contenga, permitiendo la reutilización del código.

Ejemplo de ejecución

test en ambiente local

test integrado en ambiente local