Estoy en el proceso de crear un Framework de Pruebas para programas creados con GeneXus , que podriams llamar GXUnit.
En el mismo se podran establecer programas de testeo de clases basicas hechas con Genexus. Esta primera version tendra algunas limitaciones como que solamente se podran hacer pruebas unitarias de procedimientos.
Despues haremos algo para probar webpanels y como tercera etapa se puede seguir probando transacciones y workpanels.
Las mas importantes podrian ser:
Separar los objetos transacciones en dos objetos diferentes, separandolas en estructuras y por otro lados paneles de entrada de datos.
Las estructuras tendrian la estructura tal como hoy la conocemos, con sus atributos y algunas reglas sencillas y las formulas
Los paneles, podrian ser los winforms, webforms, wapforms, webservices, etc, o sea las diferentes formas de interactuar con la base de datos a traves de la estructura antes mencionada.
Existiria una relacion, donde diriamos que estructura es utilizada por cada uno de los forms.
Esta solucion tendria muchas ventajas, a saber:
La estructura se haria una vez, y se puede utilizar en muchos lugares, evitandose asi el mantenimiento del mismo conocimiento en mas de un lado.
Se podria tener mas de una interfaz, para el ingreso de datos, cosa que hoy se puede hacer solamente entre win y web, pero de esta forma podria generalizarse.
Se podria preparar las aplicaciones para nuevos dispositivos que puedan surgir.
Se podrian considerar reglas globales, las asociadas a las estrucutras, mientras que las reglas asociadas a los formularios, serian locales a cada formulario.
En fin, solo para ir pensando.
Testeos Unitarios con GeneXus.
La posibilidad de definir testeos unitarios con GeneXus es posible, pero para lograrlo seria bueno contar con algunas funcionalidades basicas que hicieran esto mas facil.
Por ejemplo, seria bueno poder marcar algunos objetos como que son de testeos, o sea que no forman parte de la aplicaicon a instalar.
De esta forma, cada vez que se defina uno objeto, se podrian tambien solicitar un conjunto de procedimientos (que podrian tener una interfaz ya conocida) que va a ser utilizado para hacer la prueba unitaria del mismo.
Esto facilitaria la confeccion de testos unitarios y podriamos generar programas para que testearan cada uno de los procedimientos que posee una base de conocimiento.
Voy a ver si puedo realizar un pequeño ejemplo y subirlo a gxopen como "prueba de concepto"
Libros buenos.
En mis recientes vacaciones, tuve tiempo de leer algunos buenos libros, que son recomendables para quien este trabajando con .NET.
Performance Testing Microsoft .NET Web Applications .
Cuenta las experiencias del grupo ACE, dentro de Microsoft, haciendo el Tuning de las aplicaciones .NET dentre de Microsoft.com.
Muestra como optimizar la capa del cliente (WEB), la capa de SQLServer (datos) y tambien el aceso a los mismos.
ES bastante detallado, la utilizacion del Performance Monitor, para recolecar estadisticas y alertas sobre objetos .NET.
RECOMENDABLE.
Writing Secure Code, Second Edition
Despues de leer este libro, me cuestiono cualquier programacion que he realizado en C y los riesgos que eso acarreaba.
Muestra con ejemplo formas de vulneral codigo y lo dificil que es escribir codigo seguro.
Demuestra todo lo que nos falta por aprender para lograr escribir aplicaciones seguras.
Muy buenos conceptos de Criptografia.
MUY RECOMENDABLE (aunque un poco denso).
Microsoft .NET Remoting
Bastante pesado, pero con cosas interesantes.
Martin Fierro.
Hacia tiempo que queria leerlo.
Scientific American - Atoms of Space and Time
Es una propuesta para unificar la teoria de la relatividad y teoria cuantica, explicada de una forma facil de entender.
Me gusto encontrar articulos referentes a investigadores Uruguayos en dicho articulo.
The Music of the Primes : Searching to Solve the Greatest Mystery in Mathematics
Este aun no lo termine, pero es de los libros que cuesta dejar de leer.
Muy recomendable para quien le interese la teoria de los numeros.
No comments:
Post a Comment