Evolución de estrategia de pruebas y juegos de datos entre entornos

Asistencia en validaciones automáticas y gestión de datos.

Evolución de estrategia de pruebas y juegos de datos

En esta ocasión se solicitó una asistencia que debía abordar diferentes aspectos del ciclo de desarrollo del cliente.

La necesidad se produce por cambio muy importante de librería de desarrollo de la parte frontal (web) que suponía una refactorización del código completa. Este tipo de cambios tienen un gran impacto y requieren de pruebas automatizadas que certifiquen que los flujos funcionales, las integraciones entre componentes y las comunicaciones con el backend no se han visto afectadas.

Por otro lado se aborda un problema relacionado con la gestión de entornos de prueba y la copia de datos desde entorno productivos para utilizarlos como datos de prueba. Por temas de confidencialidad y protección de datos esos datos debían anonimizarse antes de ser utilizados y lograr asi un conjunto de datos fiable y fresco en los entornos a voluntad.

Problema

Se realiza un assessment del estado actual de su ciclo de desarrollo, de su stack tecnológico y su infraestructura y se identifican varios puntos problemáticos.

Los especialmente sensibles se centraban en la poca cantidad de pruebas automáticas, especialmente a nivel unitario, E2E y de aceptación.

Asimismo existían problemas con los juegos de datos entre entornos para realizar validaciones necesarias ya que no estaban alineados y no podían utilizarse datos de entornos productivos por ser confidenciales.

Esta situación hace que el uso de los entornos quede muy devaluado y con el paso del tiempo pasen a considerarse poco fiables.

Para la ejecución de las pruebas E2E y aceptación, además, era muy recomendable el disponer de juegos de datos fiables para las aserciones.

Solución

En lo respectivo a la estrategia de pruebas se definió un plan de acompañamiento para abordar las pruebas unitarias para sus proyectos web con React. Se incluyeron las dependencias necesarias en el proyecto y se implementaron una serie de pruebas de componentes que elevaron la cobertura más de un 50%.

Con respecto a las pruebas End To End se adaptó el arquetipo de Cypress del que dispone qualtio para que fuera utilizado por el equipo de desarrollo incluyendo una batería de pruebas sobre su frontal de backoffice y ya estando preparado para ser ejecutado en su sistema de CI basado en Gitlab CI.

Se implementó también un proyecto de pruebas de aceptación cuyo objetivo era validar ciertos datos almacenados en bases de datos y comprobar que el resultado de los cálculos asociados a esos datos eran semejantes entre entornos asegurando así que no existían fallos en componentes core al desplegar nuevas versiones.

En cuanto al problema de la confidencialidad al migrar dato se implementó una solución que permitía enmascarar los datos sensibles de los juegos de datos de los entornos productivos y test para que no fueran accesibles por los desarrolladores y testers que no tuvieran permisos para ello.

¿TIENES ALGÚN GAP EN TU CICLO DE DESARROLLO QUE NO SABES COMO SOLUCIONAR?​

Nosotros te ayudamos.