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
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.

Latinoamérica Verificación de identidad
February 16, 2024
Conoce a nuestro equipo de expertos en detección de fraudes de identidad

La seguridad digital es fundamental, Sovos se enorgullece de tener a un equipo de expertos de alto nivel en identificación de fraudes

Factura electrónica Latinoamérica
January 11, 2024
3 buenas prácticas del uso de la factura electrónica

El uso de la factura electrónica tiene múltiples beneficios para las empresas, como la agilidad en la emisión y la eliminación del papel, entre otros.

Cumplimiento fiscal Ecuador
November 22, 2023
Los desafíos del cumplimiento normativo en tecnología

Nos encontramos en un punto de inflexión en el cumplimiento normativo en tecnología, donde el derecho y la tecnología confluyen. Definitivamente, nos encontramos en el amanecer de una nueva era.

Cumplimiento fiscal Latinoamérica
November 15, 2023
Sovos es reconocido por impulsar la inclusión laboral

La Fundación Best Buddies Chile entregó un reconocimiento a Sovos por la sostenida labor que la compañía está desarrollando para fomentar la inclusión laboral como un valor fundamental.