Como realizar pruebas unitarias automatizadas para IBM i

Como realizar pruebas unitarias automatizadas para IBM i

Bartech lanza una herramienta de pruebas unitarias para IBM i

Midrange Dynamics acaba de lanzar una nueva herramienta de pruebas unitarias diseñada para facilitar a los desarrolladores de IBM i la comprobación de su código. El software, MDTest, funciona con RDi y VS Code y se integra con el software de gestión de cambios  para IBM i MDChange.

Midrange Dynamics creó MDTest  para facilitar a los desarrolladores la realización de pruebas unitarias del código ILE. El software automatiza el proceso de ejecución de secuencias de mandatos de prueba, el registro de los resultados y la determinación de si el software puede pasar a la siguiente fase de los procesos DevOps.

El producto incluye muchas pruebas de calidad de software preconstruidas que los usuarios pueden aplicar como parte de sus rutinas de pruebas. Los scripts pueden ejecutarse automáticamente desde MDChange, en el marco de un proceso de integración y despliegue continuos (CI/CD).

Un componente clave de MDTest es la noción de "prueba de calidad", explica Michael Morgan, director general de Midrange Dynamics, el proveedor que desarrolla el software que Bartech distribuye en España y Latinoamérica.

Según Morgan, los informes que los desarrolladores crean para su software son incoherentes y de baja calidad con demasiada frecuencia. "Suelen ser ilegibles o incomprensibles para quien debe revisarlos", declaró Morgan a IT Jungle en la reciente conferencia POWERUp celebrada en Forth Worth (Texas). "No proporciona suficientes datos sobre con qué se ha comparado y por qué, por eso nosotros proporcionamos todos esos parámetros".

MDTest proporciona capacidades de pruebas unitarias para IBM i

La prueba de calidad en MDTest proporciona una estructura repetitiva y reutilizable para garantizar que los resultados de las pruebas unitarias se ajustan a los parámetros establecidos por el desarrollador o la empresa.

"Lo que garantiza es que el usuario, el gestor de pruebas y los propios desarrolladores revisen los resultados de las pruebas", explica Morgan. "Ven dónde fallaron las pruebas a un nivel muy granular, así como a un alto nivel, y deciden, basándose en eso, si se permite o no que ese código pase a producción o se requiere que vuelva al desarrollador para nuevas modificaciones".

Las pruebas de calidad son una parte importante de la funcionalidad de MDTest, explica Morgan. Cierra el bucle entre las pruebas reales y las normas de calidad establecidas por el equipo de desarrollo o la empresa.

MDTest también recoge datos de rendimiento, como cuántos milisegundos se tarda en completar los distintos procedimientos, que también influyen en la funcionalidad de la aplicación. Además, se integra con la funcionalidad Code Coverage de IBM en IBM i, con lo que ofrece a los usuarios una visión de cómo se utiliza cada línea de código en todo el programa.

"Para el desarrollador, configura automáticamente toda la cobertura del código y proporciona todos los informes al respecto, lo que no sólo le ayuda a obtener más datos de prueba, sino también a saber si mis pruebas son buenas para empezar. Porque si tus casos de prueba no están alcanzando un porcentaje suficientemente alto de tu código, entonces probablemente necesites hacer más pruebas al respecto".

Midrange Dynamics reúne todas esas mediciones para permitir a los clientes determinar si un determinado fragmento de código pasa el examen o no.

"Proporcionamos un motor de reglas realmente genial que pueden personalizar. Lo llamamos plantilla de pruebas automatizadas, y parte de la plantilla es la capacidad de especificar lo que califica como una prueba fallida y lo que no, basado en métricas de rendimiento, en la salida generada por el programa de aplicación, y en muchos otros criterios, incluyendo sus propios criterios personalizados."

Las pruebas unitarias automatizadas son habituales en el mundo informático en general, pero no están tan extendidas en el mundo de IBM i, pero eso está cambiando.

Los directivos de hoy "ya trabajaban en Linux o Windows y esperan que haya pruebas automatizadas, porque eso forma parte del entorno DevOps. Luego vienen aquí y se preguntan: ¿dónde está? Así que intentamos responder a sus expectativas", afirma Morgan.

A medida que las empresas con IBM i adoptan prácticas de desarrollo DevOps más modernas, las pruebas unitarias vienen con ellas. 

Las pruebas unitarias se están volviendo cada vez más populares a medida que más personas adoptan DevOps, lo que significa que estoy cambiando mis pruebas antes en mi proceso para minimizar  el tiempo que se necesita para llegar al mercado con los nuevos cambios. "Es todo ese concepto de asegurarse de que esos cambios son aptos para el propósito, que van a hacer lo que se supone que deben hacer, antes de que lo entregue a otro equipo", comenta Morgan.

El desarrollador es la persona más indicada para determinar si un determinado fragmento de código cumple las expectativas o está lleno de fallos o agujeros. MDTest les da la capacidad de tomar esa decisión con bastante rapidez y facilidad, lo que (con un poco de suerte) generará más pruebas unitarias por parte del desarrollador y un código de mayor calidad.

"Este es el mundo de IBM i, donde sólo las empresas realmente grandes tienen un equipo de control de calidad", continuó. "Los desarrolladores se han acostumbrado a tirarlo por la borda. De acuerdo, he hecho un cambio en el código y lo voy a enviar al departamento de control de calidad". Bueno, eso consume mucho tiempo, y por eso se necesitan estas herramientas. Para eso está diseñado, para avisar al desarrollador de que "esto no va a funcionar cuando llegue al control de calidad, así que será mejor que lo arregles ahora'".

Traducción y adaptación del artículo publicado en ITJungle el 19 de junio de 2024, escrito por Alex Woodie.  https://www.itjungle.com/2024/06/19/mdna-launches-unit-testing-tool-for-ibm-i/