Utilización de Report Portal para monitoreo de pruebas funcionales

Sovos
June 2, 2022

Conversemos de DevSecOps

En esta nueva sección de nuestro blog compartiremos la visión y experiencia de nuestro equipo de expertos en el ámbito del desarrollo de software y las tecnologías de información en general, quienes tocarán distintos temas relacionados con las tecnologías y metodologías utilizadas por Sovos para crear e implementar un mejor software, y entregarán tips y datos orientados a aportar valor a quienes deben trabajar en este ámbito, fundamental para las compañías que crean y utilizan soluciones para impulsar el negocio de sus clientes.


 

Pamela Ruiz, Senior QA Engineer

Utilización de Report Portal para monitoreo de pruebas funcionales

En la actualidad, cada vez poseemos más automatización en el área de pruebas funcionales, esto es, tests de API y End to End. Esto acelera el proceso de testing en regresiones y tiempo de user acceptance testing, entre otros, permitiéndonos avanzar en la implementación de CI/CD (continuous integration/continuous delivery).

Mientras mayor sea la automatización, menor será el tiempo de todo el proceso, por lo que se podrán entregar al cliente cambios de forma más rápida y segura.

La automatización genera algunos nuevos desafíos que necesitan un control; por ejemplo, pueden generarse falsos positivos, tests que fallan por inestabilidad, tests de mala calidad, etc. Por esta razón, es sumamente importante mantener un control sobre ellos.

La necesidad de mantener monitoreados los resultados de pruebas funcionales movió al equipo a realizar una investigación de herramientas disponibles.

Se encontró la herramienta de Report Portal y se llevó a cabo una prueba de concepto.
Lo primero que notamos fue su facilidad de instalación, al necesitar correr un único comando para instalar a través de Docker compose.

docker-compose -p reportportal up -d --force-recreate

Una vez ejecutado el comando, se chequean las imágenes de docker con el comando.

docker ps
01-docker-ps

En la imagen se observa la salida del comando docker ps.

 

Al levantar la aplicación de Report Portal por primera vez, y acceder a ella, nos encontramos con una pantalla de login:

02-report-portal

 

Y para acceder, utilizamos las credenciales temporales provistas por Report Portal.
Una vez ingresados al sistema podemos crear dashboards, diferentes proyectos, analizar las ejecuciones, etc.

Los dashboards son completamente configurables. En la siguiente imagen podemos ver un ejemplo:

03-dashboard-configurable

 

En este caso contamos con las estadísticas de todas las ejecuciones, dividiendo los tests en distintas posibles categorías.

Una de las propiedades más interesantes de esta herramienta es la posibilidad de ir aprendiendo en base a los análisis que realizamos (cuáles son fallos de productos, tests skippeados, fallos de ambiente, etc). Este aprendizaje está basado en inteligencia artificial.

Algunos de los problemas con los que nos enfrentamos al utilizar esta herramienta fueron los tipos de reportes soportados.

Report Portal soporta diferentes tipos de reportes, pero el de mejor visibilidad de datos fue JUnit. En nuestros tests automatizados generamos otros tipos de reportes, por lo que se realizaron scripts para adaptarlos al formato de JUnit aceptado por Report Portal:

 

04-report-portal-junit

Hay diferentes opciones de importación de datos hacia Report Portal, incluyendo la instalación de agentes, el envío de datos en tiempo real (durante la ejecución de tests), y otros.

Para evitar un aumento de tiempos en la ejecución de tests y la instalación de agentes, optamos por realizar la carga importando los reportes a través de la API de Report Portal. Desarrollamos un script para este propósito.

Lo primero es importar el archivo del reporte, ya adaptado a Junit, y comprimido en un archivo .zip:

05-junit-zip

Luego necesitábamos agregar información de la ejecución -como el número de build- y linkear al job de Jenkins ejecutado:

06-build-jenkins

Obtenemos el ID del archivo importado y agregamos la información que necesitamos incluir en los atributos y descripción del launch.

Cada nuevo reporte genera en Report Portal algo llamado launch, que es similar a una nueva ejecución. Para que la herramienta tome el historial de ejecuciones de cada test, el launch debe tener un mismo nombre. Si este se modifica, se crean nuevas versiones cada vez.

Por ejemplo, inicialmente importábamos los reportes con el número de build en su nombre,

07-build-nombre

lo que generaba el siguiente gráfico de trend:

08-grafica-trend

 

Luego extrajimos el número de build del nombre y pudimos obtener un gráfico con el historial.

09-build-grafico-histtorial

 

También nos permite ver el historial de cada test case.

010-historial-test-case

 

En conclusión, hasta ahora la herramienta de Report Portal nos sirve para mantener un constante monitoreo sobre todo tipo de pruebas funcionales, incluyendo algunos unit tests.

Pudimos enseñarle a la herramienta a reconocer ciertos tipos de resultados para clasificar futuras ejecuciones, y podemos fácilmente observar los resultados desde los gráficos dispuestos en los dashboards.

En la forma en la que lo trabajamos nos resultó útil poder utilizar diferentes tipos de reportes, adaptarlos a la herramienta mediante un script e importarlos en Report Portal con la información necesaria, tanto de los tests, como el link hacia la herramienta de ejecución, que en este caso es Jenkins.

Suscríbase para más información

Manténgase actualizado con las últimas noticias relacionadas a los impuestos y el cumplimiento de la normativa tributaria que pueden impactar los procesos y las operaciones de su empresa.

Autor

Sovos

Sovos se creó para resolver las complejidades de la transformación digital de los impuestos, con ofertas completas y conectadas para la determinación de impuestos, los controles continuos de las transacciones, los informes fiscales y mucho más. Entre los clientes de Sovos se encuentran la mitad de las empresas de la lista Fortune 500, así como empresas de todos los tamaños que operan en más de 70 países. Los productos SaaS de la empresa y la plataforma Sovos S1, de su propiedad, se integran con una amplia variedad de aplicaciones empresariales y procesos de cumplimiento de la normativa gubernamental. Sovos tiene empleados en toda América y Europa, y es propiedad de Hg y TA Associates.
Comparta este post

Latinoamérica Verificación de identidad
July 1, 2024
La huella dactilar y la fuerza de nuestra base de datos

Descubre la importancia de contar con bases de datos sólidas y seguras para asegurar la eficiencia de los procesos de verificación de identidad.

Chile Verificación de identidad
June 27, 2024
Chile introduce la identidad digital en su nueva cédula

La identidad digital se hace protagonista en Chile con la presentación de un nuevo formato de cédula de identidad a finales de 2024.

Latinoamérica Verificación de identidad
May 23, 2024
La biometría digital crece con protagonismo del reconocimiento facial para la detección de fraude

La biometría digital, especialmente la tecnología de reconocimiento facial, está emergiendo como una solución clave en la lucha contra el fraude y la suplantación de identidad.

Colombia Factura electrónica
May 9, 2024
Colombia fiscaliza cumplimiento de la Resolución 1092

Colombia ha establecido la emisión obligatoria de factura electrónica de venta para aquellos casos en los que el monto de la transacción supere las 5 unidades de valor tributario (UVT)

Latinoamérica Verificación de identidad
March 1, 2024
Sovos presentará nuevo modelo para detección de fraudes en documentos de identidad en conferencia internacional en Londres

Nuestra participación en el Computing Conference 2024 en Londres, de los eventos más importantes en la industria tecnológica a nivel global.