Soluciones de automatización y testing unitario en mainframe


El sector financiero se encuentra en un momento muy estimulante, dónde las innovaciones que han aparecido en los últimos años en los contextos digitales (escalado con cloud, automatización del testing, DevOps, desarrollos ágiles etc.) están llegando finalmente a los entornos legacy, muchos de ellos con arquitecturas con décadas de antigüedad.

En el contexto actual de transformación digital es habitual contar con soluciones que automatizan las pruebas (unitarias, de integración etc.) hasta conseguir lo que se denominan “coberturas” de código próximas al 100%.

De esta forma los cambios introducidos por los desarrolladores diariamente, Sprint tras Sprint, pueden probarse continuamente, no sólo al final de cada jornada, y verificar si un entregable está listo para ser introducido en los pipelines de promoción entre entornos o a producción. Todo esto se orquesta a través de software de seguimiento de procesos como JIRA.

Esta orquestación del testing, que es habitual en entornos digitales (arquitecturas de front-endmiddleware), y que supone una clara mejora en automatización y eficiencia, ha llegado hasta el momento con dificultad a los entornos mainframe, al tratarse de plataformas más antiguas, dónde no se han implementado soluciones de automatización de test unitario, o bien algunas soluciones existentes elevan de forma drástica el coste por consumo de CPU (MIPS, Million Instructions per Second).

GFT está trabajando con distintas soluciones de automatización y testing unitario en mainframe, que van a permitir que los desarrollos en este entorno puedan seguir el pipeline de DevOps como actualmente ya se hace en los componentes front-endmiddleware.

Nos estamos encontrando tres escenarios de trabajo básicos:

  1. DevOps en mainframe: Solución de pruebas en mainframe integrado con los SDKs y flujo DevOps con Jenkins.

Utilizando herramientas como Topaz for Total Test de nuestro socio tecnológico Compuware, es posible correr pruebas unitarias directamente en entornos  mainframe y con la solución Runtime Visualizer se proporciona una visibilidad gráfica sin precedentes de las interacciones a menudo complejas entre programas. Esta visibilidad hace que sea fácil para los desarrolladores entender, actualizar y solucionar problemas rápidamente incluso con el código de mainframe más antiguo y complejo.

  • DevOps en entorno distribuido: Solución que descarga las pruebas automáticas fuera del mainframe.

Son soluciones como ChangeMan ZMF de nuestro socio tecnológico Microfocus, que permiten desplegar un entorno de test unitario fuera del entorno de host, evitando el coste por consumo excesivo de MIPS en mainframe. Estas soluciones realizan el desarrollo, pruebas y control de versiones completamente fuera del entorno mainframe con la contrapartida de exigir un mayor esfuerzo de consistencia e integración. 

  • Modelo mixto: También se están planteando algunos modelos mixtos dónde la automatización de pruebas funcionales y de rendimiento en mainframe está integrado con flujo DevOps mientras que los Módulos (Aplicaciones) se externalizan a entorno distribuido.

En conclusión, los modelos de automatización en el desarrollo y operación de software de las prácticas DevOps han llegado finalmente a los entornos mainframe gracias a la innovación tecnológica y al desarrollo de nuevas soluciones como las comentadas. De tal forma que el entorno mainframe deja de estar aislado de los ciclos de desarrollo ágil de las capas de arquitectura de frontmiddle, integrándose de forma natural en los pipelines de despliegue, y permitiendo la cobertura completa de código a nivel de testing.