Blog

ARTÍCULOS SOBRE IBM i, GESTIÓN DE CAMBIOS, MODERNIZACIÓN DE APLICACIONES Y MUCHO MÁS..

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/

 

Descubra

MDTest

GARANTICE LA CALIDAD DEL SOFTWARE CON MDTEST

Vea nuestas soluciones

Gestión de cambios

Gestione los cambios en sus aplicaciones fácilmente. Haga los pases a producción sin errores. Cumpla con ITIL.

Ver solución

Otros artículos de su interés

Diga adiós al tiempo de inactividad: Actualice su base de datos sin detener el negocio
¿Ha vuelto el efecto 2000? Ayuda para el problema de 2039
Cómo acelerar las transacciones Git en entornos IBM i
7 desafíos comunes de la transición a DevOps y cómo superarlos
Por qué la automatización y las pruebas son fundamentales para optimizar los procesos de DevOps y CI/CD
Como llevar a cabo con éxito la gestión de cambios en IBM i
Como integrar la Gestión de Cambios en VSCode
¿Una mejor manera de particionar y reorganizar archivos físicos? ¡Sí, por favor!
Entrevista a Scott Klement, el padre de la API REST
¿Cómo automatizar las pruebas de aceptación de usuario (UAT)?
Los 3 primeros pasos hacia DevOps
Cómo aumentar la calidad del software y reducir el tiempo de inactividad en IBM i
No solo modernice su código: modernice sus prácticas de contratación
Elija el proyecto de modernización correcto
Cómo funcionan juntas la gestión de cambios y las pruebas de validación
¿Está creando una hoja de ruta de modernización para su IBM i? Haga que los logros rápidos formen parte de su estrategia
Herramientas de prueba automatizadas en DevOps
Comprendiendo las necesidades de su aplicación web IBM i mediante el descubrimiento de aplicaciones
3 objetivos clave para la transformación digital
Cómo eliminar el tiempo de inactividad programado en IBM i y maximizar la disponibilidad de sus aplicaciones
Deje que sea su negocio quien modernice TI
Las mejores prácticas para informes de auditoría y cumplimiento en sistemas IBM i
Prepare su IBM i para el futuro
Entendiendo los secretos de su código IBM i
¿Cómo gestionar proyectos DevOps y CI/CD en entornos IBM i?
Herramientas y consejos para avanzar más rápido en sus proyectos de desarrollo
Cómo entender mejor sus aplicaciones IBM i
Sea un superhéroe API
¿Por qué convertir archivos físicos con DDS a DDL?
¿Dónde encontrar información de utilidad sobre las API REST en IBM i?