a1qa ayuda a las empresas a gestionar los riesgos, mejorar la calidad del software y acelerar los lanzamientos
DESCRIPCIÓN DEL PRODUCTO
El cliente estaba desarrollando un sistema basado en web que permite a empresas B2B asegurar a empresas o personas contra riesgos o fuerza mayor. Los usuarios pueden rellenar un formulario con preguntas sobre los datos de su empresa y enviar una reclamación. Esto lo procesa un tercero o se envía a Salesforce para que lo procesen los corredores del cliente. A continuación, el sistema muestra a los usuarios finales las ofertas de seguros disponibles para su contratación.
Los propietarios del producto y el ingeniero de control de calidad eran responsables de las pruebas manuales, y un proveedor externo de control de calidad se encargaba de las pruebas automatizadas. Sin embargo, los procesos no eran lo suficientemente eficientes y seguían apareciendo defectos en el entorno de producción, lo que llevó al cliente a recurrir a a1qa.
ALCANCE DEL PROYECTO
a1qa rápidamente formó un equipo de especialistas en pruebas, que fue posteriormente ampliado a petición del cliente. En poco tiempo, los ingenieros de control de calidad se integraron en los procesos de trabajo basados en la metodología Scrum con sprints semanales e iniciaron las siguientes mejoras de proceso:
Optimización de los ciclos de lanzamiento
Los lanzamientos de nuevas funciones eran a menudo caóticos y los procesos de control de calidad no eran lo suficientemente eficaces, lo que provocaba errores. Para solucionar este problema, a1qa adoptó varias medidas:
- El equipo de control de calidad creó un panel de control para mostrar los defectos clave y críticos. Esto garantizó la transparencia del nivel de calidad actual de la aplicación y ayudó a gestionar mejor los procesos de desarrollo.
- Los ingenieros introdujeron la planificación de lanzamientos. En lugar de lanzar funciones inestables, los especialistas de a1qa ayudaron al cliente a establecer prioridades para los escenarios clave de los usuarios que se añadirían al calendario de lanzamientos. Si los desarrolladores terminaban las tareas en los últimos días del sprint, a1qa realizaba pruebas de regresión y estabilización del software. En caso de que hubiera una cantidad suficiente de tiempo, el desarrollo podría continuar. Esto permitió al cliente lanzar actualizaciones estables cada tres semanas.
- Los ingenieros de control de calidad propusieron renunciar a los lanzamientos de los viernes, ya que los usuarios podían enviar solicitudes los fines de semana. a1qa también aprovechó la diferencia horaria con el cliente y acordó con los desarrolladores el lanzamiento de nuevas funciones por la noche. Esto permitió al equipo de ingenieros detectar los defectos con antelación y al equipo de desarrolladores corregirlos rápidamente.
Mejora del proceso de gestión de defectos
Inicialmente, el proceso de gestión de defectos estaba organizado de forma ineficiente: un único ticket podía contener hasta 20 errores y los datos sobre las correcciones se actualizaban de forma irregular. a1qa propuso un enfoque que simplificó significativamente el proceso de seguimiento y resolución de defectos.
Configuración de Jira para la gestión de proyectos y el seguimiento de defectos
El equipo de a1qa propuso utilizar Jira debido a sus amplias capacidades de seguimiento de defectos, la configuración flexible de los flujos de trabajo, la disponibilidad de reportes integrados y la posibilidad de integración con otras herramientas de desarrollo. Jira se adaptó a las particularidades del proyecto y se crearon instrucciones para el equipo del cliente sobre su uso.
Mejora de la estrategia de ramificación de código
Se asignó un ingeniero DevOps para gestionar las ramas de Git y garantizar transiciones fluidas entre entornos. Esto aceleró los ciclos de lanzamiento, mejoró el seguimiento de los cambios en el código y redujo el número de conflictos durante su fusión.
Garantizar una comunicación eficaz con el cliente
Para la ejecución eficaz de las tareas, a pesar de la diferencia horaria, se organizaron reuniones diarias y revisiones de la programación de los ingenieros de control de calidad. Utilizaron superposiciones horarias para resolver rápidamente las dudas y, en caso de lanzamientos rápidos, estar preparados para probar la nueva funcionalidad inmediatamente después de su lanzamiento.
a1qa llevó a cabo pruebas de software. Durante las pruebas de seguridad, realizadas a petición del cliente, los especialistas identificaron problemas críticos que impedían el correcto funcionamiento del software y propusieron realizar pruebas funcionales.
Tras un breve período de prueba, el cliente quedó satisfecho con los resultados y solicitó la ampliación de los servicios prestados, que incluían:
Pruebas de seguridad
Para evitar vulnerabilidades en el sistema de seguridad y proteger la información confidencial de los usuarios, a1qa realizó pruebas de seguridad de acuerdo con OWASP.
Durante el trabajo, se llevó a cabo:
- Búsqueda de información confidencial en los repositorios de Git
- Análisis estático del código
- Pruebas de autenticación, autorización, validación de entradas, lógica de negocio y gestión de sesiones.
Esto permitió determinar el nivel de seguridad del software y mejorarlo sobre la base de las recomendaciones proporcionadas.
Pruebas funcionales
Para una verificación completa de la funcionalidad del software y la prevención de problemas en el entorno de producción, los ingenieros de control de calidad realizaron una serie de tareas.
Crearon documentación de prueba para garantizar la coherencia de los procesos de prueba y la cobertura de pruebas necesaria. Para determinar la preparación de una nueva compilación de software para las siguientes actividades de control de calidad, se llevó a cabo smoke testing.
Cada vez que se planeaba el lanzamiento de una nueva funcionalidad, los ingenieros realizaban pruebas de nuevas funciones basadas en la cobertura de AT. Las pruebas de regresión antes de cada lanzamiento ayudaron a garantizar que las nuevas funciones no afectaran al correcto funcionamiento de las funciones existentes. Además, el equipo de a1qa realizó la validación de defectos para confirmar que todos los errores detectados habían sido corregidos por los desarrolladores.
También, los ingenieros de a1qa escribieron casos de prueba para otro departamento del cliente, responsables de las pruebas automatizadas, que se convirtieron en la base para la creación de scripts.
El producto probado se integró con Salesforce: las solicitudes enviadas se transfirieron allí para su procesamiento, lo que incluía la creación de nuevos usuarios, cuentas y otros registros. Para garantizar la alta calidad de dicha integración y evitar la pérdida de datos, a1qa propuso probarla. El cliente quedó satisfecho con los resultados de las pruebas y solicitó la asignación de un ingeniero de calidad adicional para probar directamente el sistema Salesforce.
Pruebas de rendimiento
Dado que el producto de software no estaba diseñado para el trabajo simultáneo de un gran número de usuarios, no era necesario realizar pruebas en el servidor. Sin embargo, los ingenieros de a1qa observaron que las páginas de la aplicación se cargaban lentamente, lo que degradaba la experiencia del usuario (UX). Sugirieron realizar pruebas de rendimiento en el cliente. Esto les permitió identificar los elementos más pesados de las páginas y optimizar sus tiempos de carga.
Análisis de negocios
El equipo de a1qa se enfrentó a un reto clave: los requisitos del producto de software eran poco claros o inexistentes.
Para garantizar que los ingenieros no tuvieran que averiguar por separado lo que había que hacer para cada ticket y que los flujos de trabajo del proyecto no adolecieran de falta de coherencia, a1qa asignó a un analista de negocios, que se puso en contacto con el jefe de producto para reunir los requisitos de cada función y documentarlos.
Esto mejoró la eficacia del desarrollo y las pruebas y garantizó que estuvieran alineados con los objetivos empresariales.
SERVICIOS PRESTADOS
- Análisis de negocio
- Pruebas de seguridad
- Pruebas de rendimiento
- Pruebas funcionales
TECNOLOGÍAS Y HERRAMIENTAS
- Jira
- Confluence
- TestRail
- Postman
- DevTools
- Firebase
RESULTADOS
-
Creación de un sistema de control de calidad estable para una entrega oportuna de una funcionalidad estable, que no requiera costosas modificaciones después del lanzamiento.
-
Calidad mejorada del producto de TI gracias a la optimización del trabajo con requisitos y pruebas, lo que evita problemas críticos.
-
Experiencia de usuario mejorada gracias a la optimización de la velocidad de carga de la página.
EN CIFRAS
-
2,5años de duración del proyecto
-
10ingenieros de control de calidad durante las horas pico
-
250casos de uso desarrollados por analistas de negocio de a1qa
-
4K+defectos detectados y corregidos