martes, mayo 19, 2020

Actualizar versión de Git en Linux Mint

Estoy en un proyecto que necesito usar Git y me pidieron que usara una versión nueva pero en mi Linux Mint tenía la versión 2.7.4 como muestra la siguiente imagen:


A pesar de que podría haber trabajado con la versión actual seguí el consejo y actualice a la última versión estable de Git. Para hacer esto tuve que agregar un repositorio y actualizar la versión. Para esto tuve que ejecutar el siguiente comando:

cgomez@cgomez-urulinux ~ $ sudo add-apt-repository ppa:git-core/ppa

Luego de agregar el repositorio de git lo que hice fue actualizar git como muestra la siguiente imagen:




Después de actualizar me quedo actualizado Git



domingo, mayo 17, 2020

Hacer un procedimiento sin hacer Unit Test "Es una irresponsabilidad"

El título de este artículo lo tome de la charla que dio Gaston Milano en el GUG Montevideo, la misma se llama: "Gente, Ideas, Herramientas - Gaston Milano sobre App Coronavirus UY".

En la charla Gaston explica el proceso de desarrollo de la aplicación "Coronavirus UY", cuando se refiere al testing que se le hizo a la aplicación hace hincapié en los Unitt Test.  Sin dudas que esto es importante pero en ocasiones hay que lograr que los equipos y las organizaciones se encuentren maduros para sumar al proceso de desarrollo esta buena práctica.

Hace casi un año escribía algunos artículos sobre "Pruebas unitarias en GeneXus", no fue nada técnico pero conté un poco mi proceso para llegar a la necesidad de contar con Unit Test. Tuve un largo camino dado que primero debía lograr migrar a GeneXus 16 para lograr usar GXTest

Tuve que atravesar algunos problemas antes de poder llegar a implementar Unit Test con GeneXus pero luego de migrar la aplicación de GX9 a GX 15 y por último a GX16 pude llegar a comenzar a implementar mis primeros Unit Test.

En nuestra experiencia tuvimos algunos problemas que fuimos resolviendo pero que nos hicieron cambiar de parecer a la hora de hacer pruebas unitarias para cada procedimiento de nuestra KB. Los principales problemas que encontramos fueron los siguientes:

  • La KB creció considerablemente: por defecto se crean tres objetos (Unit Test, SDT y un Data Provider). 
  • Se necesita Licencia para usar GX-Server y para usar con integración continua
  • No es una práctica extendida dentro de los desarrolladores

En realidad el problema mas complejo de resolver es que los unit test no son una práctica extendida dentro de los desarrolladores genexus y esto hace que no se tenga apoyo para poder lograr recursos para usar GX-Test.

El problema del crecimiento de la kb se puede solucionar modificando los unit test en los casos que sea posible (En un próximo artículo voy a explicar como lo hacemos).

El licenciamiento se puede solucionar pero todavía no pude lograr que se vean los beneficios de esto para obtener los recursos necesarios (Estoy en proceso).

En resumen considero que debemos comenzar a utilizar las pruebas unitarias y extender esta práctica entre la comunidad genexus para poder enriquecer la herramienta, logrando que las organizaciones tengan esto como obligatorio.

El principal debe en la utilización de los unit test esta del lado de los desarrolladores que todavía no han integrado esto a su forma de trabajo y esto hace que en equipos grandes sea complejo implementar esta práctica.

En otro artículo voy a explicar como usamos los unit test en una KB grande que esta teniendo liberaciones de versiones a producción de forma mensual.