7

tenemos muchos programas de RPG aquí, y hacemos muchas pruebas automatizadas, pero aún no somos muy buenos en la combinación de esos dos. ¿Hay buenas maneras de hacer pruebas automatizadas en programas RPG, o en cualquier otro programa ILE para ese caso?Pruebas automáticas en RPG (u otros lenguajes ILE)

Conozco un proyecto llamado RPGUnit, pero tiene su última actualización en 2007. Sin embargo, parece que todavía se usa, ya que RPG Next Gen está trabajando para incluirlo.

¿Qué experiencia tienes con eso? ¿Hay algo más que me falta, como una gran herramienta de software que Google no encuentra?

Me interesan las pruebas unitarias y las pruebas de integración de proyectos completos. Cualquier cosa que se integre con herramientas como jenkins es bienvenida. Si se trata de IBM Rational Developer o System i Navigator, también está bien.

Estamos en una fase inicial de creación de nuevos planes de prueba para nuestro proceso de desarrollo de RPG, y no lo queremos, para ir en la dirección equivocada desde el principio.

+2

Probablemente la gran pregunta es ... ¿tiene la _architecture_ para probar la unidad? El lenguaje parece alentar activamente la escritura de programas de una manera que hace difícil una buena encapsulación (es decir, programas que contienen todo, desde el acceso a la base de datos hasta el resultado de la pantalla, en un archivo). –

+0

@ X-Zero si elige hacerlo, puede tener el seper – WarrenT

+0

@ x-zero ILE Moduled puede encapsular, incluso en un idioma diferente, todo dentro de un programa – WarrenT

Respuesta

4

Probablemente ya sepa cuán amplio puede ser un 'examen' de sujeto. IBM tiene un producto llamado Rational Function Tester (no lo he usado) http://www-01.ibm.com/software/awdtools/tester/functional/ Yo mismo uso RPGUnit. No, no se ha actualizado recientemente, pero todavía tiene todas las piezas necesarias para probar los subprocesos de la misma forma en que se probarían los métodos de Java.

Francamente, esa es la parte fácil. La parte difícil es crear una base de datos de prueba y mantenerla lo suficientemente actualizada como para ser representativa de la base de datos de producción. Rodin tiene algunas herramientas de base de datos, pero no tengo el presupuesto para ellas, así que muevo las mías más o menos a mano. Utilizo muchas declaraciones SQL en un programa CL para extraer datos de producción para poder mantener la integridad referencial. Luego uso un poco más de SQL para agregar mis casos de prueba excepcionales, aquellas relaciones que no están presentes en los datos de producción pero que necesitan ser probadas. Luego hago una copia completa de la base de datos de prueba como punto de referencia. Luego ejecuto mis casos de prueba, que actualizarán la base de datos de prueba. He escrito una utilidad CMPPFM de cosecha propia que me permitirá comparar la base de datos de referencia con la base de datos de prueba ahora modificada. Esto mostrará los cambios, pero aún necesita una gran cantidad de trabajo manual para revisar las comparaciones y garantizar que las filas adecuadas obtengan las actualizaciones adecuadas. No he hecho un esfuerzo adicional para automatizar eso todavía. Una gran advertencia es que hay algunas columnas que no te importan, como una marca de tiempo de cambio.

+0

Gracias por la información hasta ahora. Entonces RPGUnit es útil, esa es la parte buena de escuchar. Desde su lista de características, el Functional Tester no parece tener ninguna funcionalidad RPG o ILE, solo tiene las "otras partes" para organizar las pruebas (no creo que vayamos a comprar algo para esa parte). – kratenko

+0

ya que esta es una buena respuesta y no se ve Voy a obtener algo más de esto, también podría aceptarlo ... – kratenko

4

Fuimos con RPGUNIT, y encontraron que era una buena base para trabajar, pero terminaron ampliándolo mucho para vincularse con nuestro sistema de gestión de cambios y la forma en que trabajamos. He escrito sobre las cosas que hemos intentado aquí: http://www.littlebluemonkey.com/blog/my-rpg-unit-test-journey

+0

Gracias por permitirnos participar en su viaje. Parece que tuviste éxito en hacerlo! Será útil una vez que decidamos dedicar tiempo a hacer pruebas RPG reales. – kratenko

Cuestiones relacionadas