Como mencioné tiempo atrás, en octubre comencé a trabajar en un proyecto para automatizar pruebas de una aplicación RPG/AS400. He completado mi participación en el proyecto, logramos dejar una arquitectura de pruebas funcionando con un par de casos automatizados, ahora está en manos del propio equipo de desarrollo continuar agregando nuevos casos.
El siguiente gráfico resume la arquitectura implementada:
La arquitectura está armada de forma tal que un tester puede agregar fácilmente nuevos casos sin tener que meterse mucho en el código. Algo de código obviamente va a ser necesario escribir pero por la forma en que todo quedó armado (con template methods) es realmente poco lo que hay que codear.
Los casos de pruebas se generan con FitNesse y luego el gluecode/driver utiliza dos librerías de IBM: una para invocar funciones nativas en AS400 que se encargan de hacer el setup del ambiente con los datos iniciales y otra para la creación de las colas MQ y para leer/escribir en dichas colas.
Como la aplicación y los tests están codeados en distintas tecnología y almacenados en distintos repositorios, el servidor de integración continua (jenkins) quedó configurado para correr el set de tests ante cada commit y también en forma periódica 3 veces al día.
Estoy conforme con el resultado de nuestro trabajo, al mismo tiempo creo que fue un lindo desafío que me permitió aprender un poquito del mundo AS400. Ahora está en manos del codear más pruebas y sacar valor al trabajo realizado.
Te podrías realizar un tutorial básico de como hacer eso, soy programador Junior en RPG IV
Hola Junior, recién veo este mensaje, seguramente ya lo resolviste pero igual no quiero dejar tu consulta sin respuesta. Lamentablemente no puedo armar un tutorial de esto porque para hacerlo necesitaría contar un ambiente como el descrito en el artículo que en su momento fue provisto por el cliente.
Hola me gustaría saber que herramienta utilizaste para automatizar, en mi caso uso UFT pero necesitaría implementar otra herramienta y quería saber si conoces otra?
Hola Veronica, como menciono en el post la herramienta utiliza fue Fitnesse. Al margen de esto creo podrias utilizar el framework de preubas de tu lenguaje favorito, o sea: Junit (java), NUnit(net), rspec (ruby) o unititest/pytest (python). Saludos!