paint-brush
Cómo hacer que el control de calidad sea transparente: Allure TestOps para asistencia de calidadpor@adtechholding
1,119 lecturas
1,119 lecturas

Cómo hacer que el control de calidad sea transparente: Allure TestOps para asistencia de calidad

por AdTech Holding8m2023/02/20
Read on Terminal Reader

Demasiado Largo; Para Leer

El líder de control de calidad en PropellerAds, parte de AdTech Holding, comparte las mejores prácticas para trabajar con la herramienta Allure TestOps. Mikhail Sidelnikov: 'La prueba es la base de la calidad. Pero no le gusta la soledad: ¡la prueba no es introvertida!
featured image - Cómo hacer que el control de calidad sea transparente: Allure TestOps para asistencia de calidad
AdTech Holding HackerNoon profile picture


Ya hemos presentado nuestras prácticas de control de calidad y cuánto nos preocupamos por la transparencia de todos los procesos. Pero, ¿cómo garantizar esta transparencia en todos los niveles de desarrollo?

Hoy, tenemos nuevas ideas de Mijaíl Sidelnikov , el control de calidad líder en PropellerAds, parte de AdTech Holding. Mikhail compartió las mejores prácticas para trabajar con la herramienta Allure TestOps.


¿Por qué lo eligió el equipo, qué herramientas usó antes y cuándo Allure TestOps se convirtió en la mejor solución para flujos de trabajo de asistencia de calidad?

¿Por qué es tan importante la transparencia?

Como empresa basada en tecnologías de primer nivel, PropellerAds utiliza un enfoque de CI/CD. Implica liberaciones constantes varias veces al día, por lo que el proceso no debe ser interrumpido por malentendidos o errores.


¿Como funciona?

  • Un desarrollador crea una solicitud de extracción
  • El equipo de control de calidad inmediatamente comienza a probar
  • Los resultados de la prueba aparecen instantáneamente en Github, Slack y Allure TestOps.


Es un proceso continuo: todo está automatizado y casi no hay trabajo manual. El resultado de este proceso debe ser un producto de alta calidad, y es por eso que cada paso debe ser transparente.


Pero, ¿cómo asegurarlo?


Mijaíl:

— 'La prueba es la base de la calidad. Pero no le gusta la soledad: ¡la prueba no es introvertida! Necesita una familia y amigos de su tipo para aportar valor real. Y, como todos en la vida real, una prueba y su familia necesitan un alojamiento confortable con una infraestructura conveniente y un espacio para mejorar.


Entonces, ¿cómo resolvió el equipo de control de calidad de PropellerAds la 'pregunta de la vivienda' para sus pruebas?

Primeras Prácticas de QA en PropellerADs

Al principio, PropellerAds ni siquiera tenía un departamento de control de calidad completo: se organizó solo en 2015. Llevó tiempo automatizar los flujos de trabajo y crear un equipo eficiente e inspirado.


A medida que crecía el equipo, ¡más crecían también sus demandas! La cantidad de pruebas y microservicios aumentaba rápidamente, y era esencial mantenerlos todos organizados. De lo contrario, sería imposible trabajar con ellos, integrarse con varios CI/CD y, después de todo, mantener la transparencia.


Implementando TestRail

Los fundadores del equipo de control de calidad de PropellerAds tenían una larga experiencia trabajando con TestRail. Entonces, se convirtió en la solución más obvia. Además, parecía satisfacer todas las necesidades del equipo de la siguiente manera:


  • Características requeridas: mantenimiento de casos, historicidad, lanzamiento de prueba
  • Integración bastante aceptable con Jira
  • Experiencia del equipo de integración de TestRail con CI/CD
  • Experiencia general del equipo de trabajo con TestRail


Entonces, la decisión fue tomada.

Problemas con TestRail

Todo salió bastante bien al principio. Aún así, después de un tiempo, el equipo sintió que TestRail no es la mejor herramienta que satisface todas sus necesidades. ¿Cual fue el problema? El punto principal fue que el equipo seguía creciendo y todos los procesos se volvieron mucho más exigentes.


En otras palabras, todo estaba escalando rápidamente:


  • El equipo;
  • El número de casos manuales.
  • El número de ejecuciones de prueba manuales
  • El número de lanzamientos


Mijaíl:

—Se volvió extremadamente difícil e inconveniente crear primero casos en TestRail y luego hacerlo en el código. Queríamos ver toda la imagen transparente en nuestro Sistema de Gestión de Pruebas.


Finalmente, el equipo comenzó a anhelar algún flujo de trabajo alternativo y herramientas. La lista de problemas se hizo cada vez más grande, y los puntos más dolorosos incluyeron los siguientes:


  • Los nuevos proyectos estaban mal integrados
  • No había soporte para los nuevos casos o pasos: si arreglabas algo en el código, necesitabas hacer lo mismo manualmente en TestRail
  • La transparencia y relevancia se tornó tendiendo a cero


En general, existía la amenaza de que la calidad del producto comenzaría a sufrir.

Nuevas Demandas

Finalmente, se hizo bastante obvio que el equipo necesitaba una nueva solución. Pero antes había que dejar las cosas claras: ¿qué le falta y qué necesita el equipo en este momento? Después de una discusión, el equipo de control de calidad elaboró una lista sencilla de requisitos.


Aquí lo tienes:

  • Descarga automática de los resultados de las pruebas. El equipo quería ver las pruebas en el TMS inmediatamente después de su lanzamiento, sin usar API
  • Integración con Jira. Se trataba nuevamente de transparencia: tener un estado de prueba directamente en el administrador de tareas es la mejor manera de hacer que los flujos de trabajo sean lo más transparentes posible.
  • Integración simple con códigos de prueba: cualquier alternancia debería aparecer en el TMS sin necesidad de cambiar nada manualmente
  • Lanzamientos de prueba en CI/CD. Sería útil hacerlo mucho más rápido y, en un escenario perfecto, lanzarlos directamente desde el TMS. TestRail tiene la función de personalización de la interfaz de usuario, pero esta solución requería soporte constante.


Cómo Allure TestOps cambió el proceso

Las demandas se hicieron más que evidentes, pero no ayudaron a encontrar la solución adecuada. Y aquí, el equipo de control de calidad de PropellerAds tuvo la suerte de conocer a un desarrollador de renombre: Artem Eroshenko, quien de repente dio un consejo simple y directo:


¿Por qué usar TestRail si hay Allure TestOps?


El primer pensamiento fue: ¿y qué es Allure TestOps?

Allure TestOps es una plataforma de prueba que le permite almacenar y administrar casos de prueba. Se basa en Allure Reports, muy familiar para la mayoría de los miembros del equipo.



Mijaíl:
— Así que pensamos: es una herramienta fresca y moderna — ¿por qué no probarla?

Y, un spoiler: funcionó a la perfección. El proceso comenzó a cambiar de la mejor manera posible y en el menor tiempo posible.

Entonces, ¿cuáles fueron las características más útiles de Allure TestOps que impulsaron tanto el flujo de trabajo?

Resultados de la prueba

Si alguna vez probó TestRail, sabe que descargar los resultados de las pruebas es complicado allí: involucra mucho alboroto con la API.


Allure TestOPS resuelve el mismo problema de una forma muy elegante y sencilla.

Si los resultados de su prueba implican generar un Informe Allure, ya tiene sus pruebas en TestOps. El equipo ha estado usando Allure durante bastante tiempo, lo que significó que la plataforma TestOps mantuvo sus pruebas.

Una breve guía: para agregar cualquier integración, solo necesita ingresar a la configuración de TestOps, seleccionar cualquier producto que desee y luego, ¡configúrelo en varios clics! Rápido e indoloro, como aquí:



Mijaíl:

—Sin rocas escondidas: tres campos y listo con su integración. Funciona igual con las otras herramientas: ajustes mínimos. ¡Y nuestro amado Modo Oscuro también está aquí!


Si necesitas integrar Teamcity u otras herramientas de este tipo, puedes hacerlo con complementos especiales. Se necesitan dos clics del mouse para configurar la descarga de resultados a TestOps. Lo que es aún más útil, sucede en el tiempo de ejecución. Así es como se ve: elegante y simple de nuevo:


Una vez que esté listo con la configuración, puede iniciar trabajos en su CI/CD. Y el proceso se vuelve varias veces más transparente inmediatamente después. Allure TestOps le permite verificar la cobertura de prueba existente, comprender con qué frecuencia lanza pruebas particulares, darse cuenta de qué proyectos son estables y cuáles no, e incluso ver ciertas pruebas.


El flujo de prueba general en Allure TestOps se ve así:

  • Establece la configuración de compilación de TeamCity una vez: indique el ID del proyecto Allure y una ruta a los resultados de Allure en la función de compilación
  • Lanzas la configuración de compilación de Team City
  • ¡Esperas tus resultados en Allure y listo!

Entonces, una vez que haya terminado con todas las configuraciones, solo debe realizar dos pasos simples: sin JS, servidores web y API. Todo se configura a través de la interfaz de usuario de las herramientas que utiliza.

Calidad y Estado

Resultó que Allure TestOps tiene un complemento de Jira que le permite ver todas las pruebas para una tarea en particular. El complemento incluye paginación, filtros de búsqueda y los últimos resultados de estas pruebas.

La configuración también es rápida y sencilla, al igual que la interfaz:



Mijaíl:

Todos los resultados se actualizan automáticamente y puede ver todos los casos que se crearon para esta tarea en particular. Era exactamente lo que necesitábamos para entender qué y cómo verificamos. Mejoramos significativamente nuestra antigua transparencia y aseguramos una mejor comprensión de la calidad de las funciones que lanzamos.

Código de autotest

El equipo de control de calidad de PropellerAds tiene un montón de autotests: gracias a ellos, puede garantizar la máxima calidad del producto. Allure TestOps simplifica enormemente este punto esencial. Le permite crear las anotaciones necesarias y cada anotación establece una etiqueta para una prueba. Al final, la etiqueta aparecerá en TestOps.


Hay una gran lista de anotaciones ya existentes, y no solo dentro de Java. Aquí hay un ejemplo:



Si no tiene anotaciones listas, puede agregar fácilmente una propia: @LabelAnnotation(nombre = “cualquier nombre”). Casi todos los datos de TestOps funcionan a través de las etiquetas, y estas etiquetas se pueden personalizar. Gracias a él, puede ver varios mapas de árboles y capas en la lista de todas las pruebas existentes, filtrar y agrupar sus casos.

Otras características

Por lo tanto, todos los problemas se resolvieron gracias a TestOps. Además de estos problemas resueltos, también obtuvimos acceso a más funciones nuevas. Aquí están:

  • Allure le permite verificar el historial de lanzamiento de prueba. Mikhail dice que fue una característica excelente: puede verificar rápidamente cuándo y dónde se inició la prueba y cuándo comenzó a fallar.
  • Planes de prueba. Ahora el equipo no solo podía crear, sino también lanzar estos planes de prueba directamente desde TestOps.
  • Tableros convenientes con datos estadísticos. Puede crearlos usted mismo o usar los paneles listos.
  • Varios escenarios para proyectos. Incluyen la eliminación de resultados de pruebas anteriores que ya no necesita, la configuración de diferentes campos de prueba para casos manuales y automatizados, y el lanzamiento de pruebas directamente desde Allure TestOps con varias opciones.
  • Y muchos muchos otros.


Mijaíl:

— Es solo una pequeña parte de todo lo que obtiene con Allure TestOps. ¿Quieres algo nuevo o has encontrado un error? Cree un ticket de error o pregunte a los desarrolladores directamente en el canal de Telegram. ¡Es realmente conveniente! O el servicio de asistencia técnica: estos tipos intentan responder lo antes posible. Buen servicio.

Para resumir: Allure TestOps vs. TestRail

Entonces, ¿se resolvió el 'problema de la vivienda' para nuestras pruebas? Sí definitivamente. En constante desarrollo, intuitivo, con acceso instantáneo a todas las herramientas necesarias: Allure TestOps fue la solución más adecuada.


¿Pero es TestRail tan malo, después de todo?


Mijaíl:

TestRail es una buena herramienta, pero se adapta mejor a las diferentes necesidades que tenemos.

¿Cuándo es mejor usar TestRail y cuándo Allure TestOps es su salvador?


TestRail

Allure TestOps

No dependes mucho del proceso de lanzamiento.

Tienes muchos lanzamientos y tu trabajo se basa en CI/CD

La integración con las otras herramientas no es tu prioridad

Se esfuerza por lograr la transparencia de las pruebas en todas sus herramientas

Tienes muchos casos manuales

Trabajas principalmente con pruebas automatizadas


En general, Allure TestOps ha demostrado ser mucho más eficiente para garantizar la transparencia del control de calidad, en cada paso y nivel. Y eso es lo que necesitamos en PropellerAds.



La imagen principal de este artículo fue generada porAI Image Generator de HackerNoon a través del mensaje "un ingeniero mirando un motor".