Durante décadas, IBM i se ha ganado su reputación como una plataforma sólida como una roca. Sin embargo, en el dinámico entorno de desarrollo actual, centrado en el cliente, la estabilidad ya no es suficiente. Las aplicaciones también deben ser rápidamente adaptables, seguras y resilientes, sin comprometer la calidad. Esta exigencia genera nuevas presiones para los equipos de desarrollo, en particular para aquellos que aún dependen de prácticas heredadas.
Un área donde esta tensión se siente con mayor intensidad es en las pruebas. Desde que tengo memoria, he observado que muchos clientes subestiman o relegan las pruebas rigurosas a las etapas finales de la entrega. Sin embargo, los tiempos están cambiando y las pruebas están empezando a ocupar un lugar central para muchos de nuestros clientes. A medida que los equipos de IBM i se modernizan, las pruebas ya no son un lujo, sino un componente crítico para la salud del software y la velocidad de entrega.
La creciente adopción, aunque más lenta de lo esperado, de prácticas Agile, DevOps y CI/CD, incluso en entornos tradicionales de IBM i, está elevando gradualmente la importancia de las pruebas. Estas metodologías modernas buscan acelerar la entrega, pero también requieren mayor consistencia y estándares más altos de calidad del código.
Lamentablemente, muchas empresas que utilizan IBM i siguen dependiendo de pruebas manuales, procesos de control de calidad basados en anécdotas o incluso la verificación por parte del usuario final. Estos enfoques son lentos, propensos a errores e incapaces de adaptarse a los cambios continuos. ¿El resultado? Lanzamientos con errores, regresiones inesperadas y retrasos en la entrega de valor.
En el desarrollo de software moderno, las pruebas unitarias son un requisito básico. Sin embargo, en IBM i —especialmente en entornos RPG y CL— las pruebas unitarias aún son una práctica incipiente. Las razones son comprensibles: históricamente, la plataforma carecía de marcos de prueba, y muchos programas RPG están estrechamente acoplados y son difíciles de aislar para su prueba.
Pero eso está cambiando. Ahora existen herramientas de prueba ligeras para RPG. Y lo que es más importante, se está produciendo un cambio de mentalidad: los desarrolladores de IBM i están empezando a adoptar la idea de que el código comprobable es mejor código: más fácil de mantener, más fácil de refactorizar y más seguro de implementar.
Si es difícil de probar, probablemente sea difícil de mantener.
Las pruebas unitarias brindan seguridad durante la refactorización, ayudan a prevenir regresiones y facilitan la incorporación de nuevos desarrolladores. A medida que las organizaciones modernizan sus aplicaciones IBM i, las pruebas unitarias ofrecen una forma práctica de mejorar gradualmente la confianza en el código heredado sin necesidad de reescribirlo por completo.
El movimiento generalizado en la industria de "desplazar a la izquierda" —que consiste en incorporar las pruebas (y la seguridad) en una etapa más temprana del ciclo de desarrollo— se considera una buena práctica. Sin embargo, no está exento de inconvenientes. He observado, casi sin excepción, que la responsabilidad del control de calidad recae cada vez más en los desarrolladores, de quienes ahora se espera que escriban, ejecuten y mantengan las pruebas, además de entregar nuevas funcionalidades.
La dirección suele pasar por alto esta realidad. Sin inversión en automatización, este cambio simplemente aumenta la carga de trabajo de los desarrolladores y genera cuellos de botella. Las herramientas de pruebas automatizadas, los entornos de prueba y los flujos de trabajo son esenciales para escalar los esfuerzos de calidad sin ralentizar la entrega.
El mensaje es claro: si estás cambiando a la izquierda, debes automatizar.
La automatización de pruebas no significa intentar automatizar todas las pruebas posibles. En cambio, significa automatizar de forma consistente donde el valor es mayor:
Las plataformas DevOps modernas y las herramientas de scripting (como Jenkins, GitHub Actions o soluciones DevOps dedicadas para IBM i, como Rocket DevOps) pueden activar estas pruebas como parte de su canal de entrega. Al combinarse con el control de versiones y la automatización de compilaciones, la automatización de pruebas constituye la base de un proceso de entrega resiliente.
La adopción de pruebas en IBM i no es solo un desafío técnico; a menudo es también un desafío cultural. Muchos equipos siguen trabajando de forma aislada, donde el control de calidad está separado del desarrollo y las pruebas son reactivas en lugar de proactivas.
Para superar esto:
Para los equipos de IBM i que recién comienzan, probar la transformación puede parecer abrumador. Pero no tiene por qué ser todo o nada. Aquí les presentamos un camino realista a seguir:
Las pruebas modernas no buscan la perfección, sino crear ciclos de retroalimentación que ayuden a los equipos a detectar problemas a tiempo, reducir el trabajo manual e implementar con confianza. Para los equipos de IBM i que modernizan sus prácticas de desarrollo, las pruebas sólidas son el primer paso hacia la resiliencia y la agilidad.
Cómo afrontar la paradoja de la modernización
Rocket® DevOps 11.1: Marcando la pauta para 2026
Las complejidades ocultas del lanzamiento de nuevas versiones en IBM® i
