Utilización de Report Portal para monitoreo de pruebas funcionales

Sovos
junio 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.
Compartir esta publicacion

Latinoamérica
November 24, 2022
Serie de expertos Parte V: Nuevas funciones para las TI tras la expansión de los mandatos globales

Parte V de V – Christiaan Van Der Valk, vicepresidente de estrategia y regulación, Sovos Clic aquí para leer la parte IV de la serie. Las leyes de facturación electrónica exigidas por los gobiernos se están abriendo paso en casi todas las regiones del mundo, trayendo consigo mandatos y expectativas más estrictas para las empresas. […]

Gerente técnico de cuentas Latinoamérica
November 23, 2022
El relevante rol del gerente técnico de cuentas (TAM)

La figura del Technical Account Manager, o gerente técnico de cuentas (TAM), de Sovos, ofrece una línea de comunicación constante y directa con los clientes y mantiene visibilidad completa de sus procesos de negocios, para ayudar en la resolución de distintas problemáticas que surjan en el desarrollo de un proyecto. El TAM actúa como punto […]

Latinoamérica
November 23, 2022
Serie de expertos Parte IV: Nuevas funciones para las TI tras la ampliación de los mandatos globales

Parte IV de V – Ryan Ostilly, vicepresidente de producto y estrategia GTM EMEA & APAC, Sovos Clic aquí para leer la parte III de la serie. Las leyes de facturación electrónica exigidas por los gobiernos se están abriendo paso en casi todas las regiones del mundo, trayendo consigo mandatos y expectativas más estrictas para […]

Latinoamérica
November 22, 2022
Serie de expertos Parte III: Nuevas funciones para las TI tras la expansión de los mandatos globales

Parte III de V – Eric Lefebvre, director de tecnología, Sovos Clic aquí para leer la parte II de la serie. Las leyes de facturación electrónica exigidas por los gobiernos se están abriendo paso en casi todas las regiones del mundo, trayendo consigo mandatos y expectativas más estrictas para las empresas. Insertos en todos los […]

Latinoamérica
November 21, 2022
Serie de expertos Parte II: Nuevas funciones para TI a raíz de la expansión de los mandatos globales

Parte II de V – Oscar Caicedo, vicepresidente de gestión de productos para VAT Americas, Sovos Clic aquí para leer la parte I de la serie. Las leyes de facturación electrónica exigidas por los gobiernos se están abriendo paso en casi todas las regiones del mundo, trayendo consigo mandatos y expectativas más estrictas para las […]