Casos de ÉxitoEmergentesQA

Caso de éxito: optimización de los procedimientos de control de calidad de un grupo textil líder a nivel mundial

8 Mins de lectura

Conoce cómo podemos crear tu ecosistema de herramientas QA

Este cliente para el que llevamos a cabo el proyecto es un conglomerado de empresas del sector textil dedicado al diseño, fabricación y distribución de prendas de vestir y accesorios de moda. Es conocido por su enfoque en la creación y venta de ropa y accesorios de tendencia a precios asequibles.

El grupo gestiona varias marcas diferentes, cada una con su propio estilo y público objetivo, y tiene una presencia global con tiendas en numerosos países. Su éxito se basa en la capacidad de respuesta rápida a las tendencias cambiantes y en la eficiencia en la cadena de suministro.

La empresa desarrolló un sistema altamente eficiente para llevar los productos desde la fase de diseño hasta las tiendas en poco tiempo. Esta agilidad en la cadena de suministro le permite reaccionar rápidamente a las modas emergentes y a los cambios en la demanda de los consumidores, lo que a menudo se traduce en la disponibilidad de productos de moda de última tendencia en sus tiendas.

Objetivos

El objetivo principal es optimizar el proceso de calidad en el desarrollo del proyecto mediante la introducción de nuevas herramientas y técnicas de revisión. Buscamos mejorar la eficiencia y efectividad de los procedimientos de control de calidad, incorporando innovaciones que permitan una evaluación más precisa y exhaustiva de los productos en desarrollo.

El producto que se trabaja en este proyecto es una empresa de comercio electrónico o ecommerce, que ofrece una amplia variedad de productos, como ropa, accesorios de hogar y productos de belleza.

A través de la plataforma de comercio electrónico los clientes pueden buscar, seleccionar y comprar productos de manera conveniente desde sus dispositivos electrónicos, como computadoras, teléfonos inteligentes o tabletas. Además de la venta de productos, estas empresas pueden ofrecer servicios como envío a domicilio, seguimiento de pedidos, servicio al cliente en línea, entre otros.

La implementación de estas nuevas herramientas y técnicas no solo apunta a elevar los estándares de calidad, sino también a fortalecer la capacidad del equipo para identificar y abordar proactivamente posibles deficiencias en el proceso de desarrollo.

El reto

Enfrentábamos el desafío principal de lidiar con un proyecto y sus herramientas que se consideraban obsoletas, mientras se llevaba a cabo la transición hacia un nuevo proyecto. Tanto los equipos como los directivos mostraban una falta de disposición para asignar recursos destinados a la mejora o modernización del proceso de calidad.

Superar este desafío implicaba no solo abordar las limitaciones tecnológicas heredadas, sino también cambiar la perspectiva y demostrar el valor añadido de invertir en la optimización del proceso de calidad, incluso durante una fase de transición hacia un nuevo proyecto.

La solución

En el área de tecnología surgió la necesidad de desarrollar una nueva aplicación orientada a la moda que permite a los diseñadores acceder a diferentes secciones de un producto de la compañía. Esta aplicación se comportará como una app parecida a Instagram o Facebook, donde se compartirán todos los desarrollos con distintos proveedores para la ejecución de los mismos.

La solución propuesta implicó un análisis de los requisitos en el que se encontraba el proyecto, identificando las áreas clave que requerían mejoras en el proceso de calidad e implementación de la metodología agile. Se optó por enfoques de optimización de bajo costo para cumplir con los niveles de calidad exigidos por el cliente. Esto implicó la implementación estratégica de nuevas prácticas y herramientas, buscando maximizar la eficiencia sin una inversión significativa de tiempo y esfuerzo.

La propuesta no solo abordaba las limitaciones financieras, sino que también aseguraba que las mejoras fueran prácticas y sostenibles, contribuyendo así a elevar los estándares de calidad de manera viable y eficaz.

CI/CD

Uno de los primeros pasos para agilizar la forma de trabajar y la metodología de trabajo fue la implantación del enfoque CI/CD (Integración Continua y Entrega Continua), una práctica de desarrollo de software en la que los desarrolladores integran el código nuevo que han escrito con mayor frecuencia en el ciclo de desarrollo, y lo añaden a la base de código al menos una vez al día.

Continua detección de posibles fallos

Por otra parte, para garantizar el estado y estatus del software, optamos por garantizar que todos los servicios orientados a nivel backend y frontend contarán con una continua detección de posibles fallos. Las herramientas utilizadas a nivel de calidad usadas son:

  • Karate, orientada a servicios Backend.
  • Cypress, orientada a servicios Frontend.
  • Jira, herramienta que permite mostrar un reporte y estatus de las distintas versiones del software.
  • GitHub, donde se lanzan todos los pipelines que se sincronizan de forma automática con todas las Historias de Usuarios, generando así un aprobado o rechazo de la funcionalidad.
  • SonarQube, que permite hacer una inspección estática del código y, además, comprobar el coverage de los tests unitarios y test de mutación.
  • PowerBI, que muestra en el estado actual del artefacto y métricas del mismo, para ver si cumplimos con todos los hitos planteados en el Sprint marcado.

Ventajas obtenidas gracias a las herramientas utilizadas

El incremento en los estándares de calidad se refleja en múltiples aspectos del proyecto, gracias a la implementación y uso efectivo de herramientas mencionadas, como describimos a continuación:

  • Código más limpio y mantenible: SonarQube es una herramienta que permite analizar el código fuente en busca de posibles problemas de calidad, como duplicación de código, código muerto o vulnerabilidades de seguridad. Al utilizar SonarQube, se pueden identificar y corregir estos problemas, lo que conduce a un código más limpio, fácil de entender y mantener en el tiempo.
  • Pruebas automatizadas robustas: Karate y Cypress son herramientas de automatización de pruebas que permiten realizar pruebas funcionales y de integración de manera eficiente y confiable. Al integrar pruebas automatizadas en el proceso de desarrollo, se asegura que las nuevas funcionalidades no introduzcan errores en el sistema existente, lo que contribuye a la estabilidad y confiabilidad del producto final.
  • Mejora en la experiencia del usuario: Cypress, al permitir la realización de pruebas de extremo a extremo, ayuda a identificar y corregir problemas de usabilidad y rendimiento. Esto se traduce en una experiencia de usuario mejorada, ya que se reducen los tiempos de carga, se asegura la funcionalidad correcta de las características clave y se minimizan los errores que pueden afectar la experiencia del usuario.
  • Toma de decisiones informada: Power BI es una herramienta de visualización de datos que permite analizar y presentar información de manera clara y concisa. Al utilizar Power BI para analizar datos de pruebas y métricas de calidad, se pueden identificar tendencias, patrones y áreas de mejora en el proceso de desarrollo. Esto facilita la toma de decisiones informada, permitiendo a los equipos identificar áreas de riesgo y tomar medidas proactivas para abordar problemas de calidad.

Fases del proyecto

A continuación, mencionaremos las fases por las que pasamos para lograr el éxito en el cliente, y dar valor al incremento de los estándares de calidad:

1. Entendimiento de la necesidad del cliente y definición de estrategia

  • Comprender la necesidad del cliente.
  • Ofrecer la mejor estrategia basada en la experiencia.
  • Utilizar las herramientas tecnológicas que creímos convenientes para mejorar la calidad del código.

2. Definición y automatización de pruebas de regresión

  • Definir y automatizar una suite de pruebas de regresión.
  • Utilizar herramientas como XRay y Jira para la gestión de pruebas.
  • Identificar funciones y características críticas del sistema.
  • Desarrollar casos de prueba automatizados y/o manuales.
  • Considerar la matriz de criticidad para priorizar pruebas.

3. Implementación de automatización con Karate y Cypress

  • Implementar automatización de la suite de pruebas de regresión.
  • Utilizar el framework Karate a nivel de microservicios.
  • Utilizar Cypress a nivel de Frontend.
  • Mejorar la eficiencia y consistencia en la ejecución de pruebas.
  • Detectar tempranamente posibles problemas.
  • Contribuir a mejorar la calidad del software y reducir costos.
  • Todo este proceso se realiza a través de buenas prácticas de integración y entrega continua.

Estas fases muestran una progresión desde la comprensión de las necesidades del cliente y la definición de estrategias, pasando por la implementación de pruebas de regresión hasta la automatización de estas pruebas utilizando herramientas específicas como Karate y Cypress.

Clave del éxito

  • Una de las claves más importantes en el proyecto ha sido poder entender la necesidad del cliente y, en base a nuestra experiencia como consultores, ofrecerle la mejor estrategia usando las últimas herramientas tecnológicas del mercado como la implementación de SonarQube, una herramienta integral de gestión de calidad del código estático. Esta elección estratégica permitiría una evaluación automatizada y continua de la calidad del código fuente, identificando vulnerabilidades, bugs y áreas de mejora. La integración de SonarQube ofrecería una visión detallada del estado del código, facilitando una optimización proactiva y asegurando que los estándares de calidad se mantuvieran incluso en un entorno de transición hacia un nuevo proyecto. Esta solución no solo abordaría las limitaciones asociadas a las herramientas obsoletas, sino que también establecería una base sólida para la mejora continua y la modernización del proceso de calidad.
  • Otra clave fundamental fue la definición y automatización de una suite de pruebas de regresión. Para ello nos basamos en XRay, un plugin que se integra con Jira y permite indexar las pruebas en tiempo real, para que se puedan ejecutar con un control total de todo el proceso. De este modo, obtendrá una cobertura total, detectará los problemas con rapidez y seguirá publicando software de calidad con confianza. Esta estrategia implicaba identificar las funciones y características críticas del sistema y desarrollar casos de prueba automatizados y/o manuales específicos para garantizar su funcionalidad continua. Al incorporar la automatización, se lograría una ejecución eficiente y repetible de pruebas, permitiendo una validación constante sin aumentar significativamente los recursos. La consideración de la matriz de criticidad aseguraba que los aspectos más importantes del proyecto fueran sometidos a pruebas rigurosas, contribuyendo así a mantener y mejorar la calidad del software en un entorno donde los recursos para la mejora eran limitados.
  • Después del anterior objetivo cumplido, se planteó implementar la automatización de la suite de pruebas de regresión mediante el uso del framework Karate a nivel de micro-servicios y a nivel de Front se propuso realizarlo mediante de Cypress. Este enfoque busca mejorar la eficiencia y la consistencia en la ejecución de pruebas End to End al aprovechar las capacidades de automatización de Karate/Cypress, un marco diseñado específicamente para pruebas de API y Servicios Web. La automatización de la suite de pruebas de regresión con Karate y Cypress no solo reducirá el esfuerzo manual asociado con la verificación de funcionalidades existentes, sino que también proporcionará una base sólida para la detección temprana de posibles problemas, contribuyendo así a la mejora continua de la calidad del software y la reducción de costos asociados a la detección tardía de incidencias.

Resultados

En conclusión, el proyecto se encuentra en una fase de transición, en la que se está implementando una metodología ágil. Esta metodología implica trabajar en iteraciones cortas, conocidas como sprints, con el objetivo de brindar valor al cliente de manera rápida y constante.

El uso de herramientas como SonarQube, Karate, Cypress y Power BI en este proyecto ha generado un impacto significativo en los estándares de calidad. Esto se refleja en diversos aspectos, tales como un código más limpio y fácil de mantener, la implementación de pruebas automatizadas sólidas, una experiencia de usuario mejorada y una toma de decisiones informada respaldada por datos concretos.

En hiberus contamos con un equipo de expertos en QA services certificados en ISTQB que pueden ayudarte a configurar tu ecosistema de herramientas QA. ¿Quieres asegurar la calidad de tus proyectos, procesos y productos? ¡Contacta con nosotros!

¿Quieres más información sobre nuestros servicios de QA?

Contacta con nuestro equipo de expertos en QA y Testing

    2 posts

    Sobre el autor
    Senior QA Automation Engineer & Manual QA Analytics
    Artículos
    Artículos relacionados

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    ¡No te pierdas nada!

    Te mantenemos al dia de tendencias y novedades sobre el futuro del trabajo, formas de hacer crecer tu negocio, liderazgo digital y muchas cosas más..

    Newsletter