Ir al contenido principal

Rocha: Date Constants KB test

english version see below

Como mucho de uds saben, en ARTech tenemos un "test framework" con herramientas y metodología para desarrollar y ejecutar test automáticos.

Está basado en Virtual Server, Selenium y un conjunto de herramientas (una aplicación) desarrollada internamente. Hubo una charla en el evento pasado que hablaba del tema, la pueden ver aquí.

Las pruebas depende de la feature/s a ser probada/s, puede ser una KB a ser generada, un procedure a ser ejecutado, etc. MSBuild Task, otra feature incluída en la Rocha, puede mejorar sustancialmente este proceso.

Además tenemos la infraestructura, que no solo incluye el "test framework", sino también el hardware y software de base como DBMSs, OSs, etc. Por eso me pregunté ¿podemos compartir esta infraestructura con usuarios involucrados en el testing? ¿qué podrán aportar los usuarios en este sentido? ¿qué precisan para hace uso de la misma? ¿qué precisamos para hacer hagan uso de la misma?.  Esto puede ser hecho si hay gente interesada en este tipo de trabajo (testing) pero ¿qué problemas aparecerán?



Hay muchas, talvez demasiadas, preguntas.

Por lo tanto decidí empezar con algo simple y proveer una pequeña KB para ser enriquecida con conocimiento, ideas y comentarios de otros usuarios; y luego integrar esa versión mejorada en nuestro "test framework". Esto significa, ejecutar los test automáticos y analizar los resultados.

En este caso particular empecé a desarrollar una KB bastante sencilla, en realidad la primer versión es solo una TRN para probar Date Constants, feature incluída en la versión Rocha

Para ser honesto, esta es una de las features más "aburridas" implementadas en la Rocha, sin embargo es necesaria. Es también muy simple, lo cual es una buena idea para involucrar a la gente.

¿Cómo puede participar?

1. Bajar la KB de gxopen y mejorar el código agregando casos o su propio código para la feature desde otro punto de vista.
2. Desarrollando algo de la "To Do List" incluida en la documentación de la KB.
3. Compartiendo sus comentarios en este blog o mandandome un mail a guscarr@artech.com.uy con ideas, partes de código, etc acerca de este feature y como probarla.

¿Funcionará esto? no lo se, espero que si. De cualquier modo prefiero probarlo (comprobarlo) en lugar de mantener la KB en "secreto".

Si funciona, el próximo paso podría ser publicar más KBs para obtener más resultados colaborativos.

Disfrutenla! (o ignorenla).

English version

As many of you know, at ARTech we have a test framework with tools and methodology to develop and run automated tests.
It’s based on Virtual Server, Selenium and an in-house set of tools and applications. More info at: http://www.genexus.com/portal/hgxpp001.aspx?2,27,487,O,S,0,,1048 
Tests depend on the feature/s to be tested, such as a KB to be generated, a procedure to be run, etc. MSBuild Task was included in the Rocha version (http://www.gxopen.com/commwiki/servlet/hwikibypageid?3908), and this can greatly improve the process.

In addition, we have the necessary infrastructure, which includes not only the test framework but also the hardware and basic software like DBMSs, OSs, etc. So we asked, can we share this infrastructure with users involved in testing? What would those users bring to the table? What do we need? What do they need? It could be done if people are interested in this kind of work, but what kind of problems would arise?

There are many, perhaps too many, questions.

So I decided to start simple, and provide a small KB to be enriched with knowledge, ideas, and comments from other users and integrate it into our test framework. This means running automated tests on this KB and analyzing the results.

In this particular case I started to develop a quite simple KB; in fact, the first version is just a TRN to test the Date Constants feature included in the Rocha version (www.genexus.com/rocha). More details about the feature here: http://www.gxopen.com/commwiki/servlet/hwikibypageid?4372

To be honest, this is one of the most boring features implemented in Rocha; however, it's a necessary one. It’s also very simple, which is good for my idea of getting people involved.

What can you do to participate?
1. Download the KB and improve the code by adding cases or your own code to test the features from another point of view
2. Develop something from the To Do list included in the KB documentation
3. Share your comments by posting in my blog or sending me an email (guscarr@artech.com.uy) with ideas, pieces of code, etc., about this feature and how to test it.

Will it work? I don’t know; I hope it does. Anyway, I'd rather give it a try instead of keeping this KB a secret.

If it works, the next step could be to publish more KBs to obtain more collaborative results.

Enjoy! (or ignore).

Comentarios

  1. Alguno me comentó que tuvo problemas para bajar el material de la charla, esta URL debería ser directa a dicho download:
    http://www2.gxtechnical.com/portal/hgxpp001.aspx?15,8,77,O,S,0,,2211;18;0;;20/09/06;20/10/06;M;6

    ResponderBorrar
  2. The following test cases were added:

    1. Using a BC case
    Procedure.UsingBC was developed to test this case. Since it's based on a BC It applies Transaction.BasicTest rules.

    Status: developed but not integrated with test framework yet

    2. Using a procedure that operates with Date Constants
    Procedure.FilteringWithDateConstants was developed to test this case. The Transaction.BasicTest rules where copied to insert and filter the records.

    Status: developed but not integrated with test framework yet

    It's the version 1.1 at gxopen (http://www.gxopen.com/gxopen/servlet/hversion?606,2)

    ResponderBorrar
  3. html myspace codes hide music...

    html myspace codes hide music...

    ResponderBorrar

Publicar un comentario

Entradas más populares de este blog

Abrir links con aplicaciones nativas y no el browser (deeplinking)

El problema que tengo con algunas aplicaciones Android/iOS es que cuando recibo un link por algún medio (mail, tweet, etc) al abrirlo me lo abre con el browser, en lugar de abrirlo con una aplicación nativa asociada a ese “contenido”. Por ejemplo, si recibo un link a un tweet espero que lo abra con alguna aplicación de twitter que tenga instalada y no con el browser. De modo análogo si recibo un mail con una nota de prensa de un medio X y tengo la aplicación de ese medio X instalada, espero que el link lo abra con la aplicación nativa y no con el browser. Lo mismo quisiera con mi aplicación de "banking" o cualquiera que tenga instalada y sepa manejar ese "contenido" (link). Los motivos son bastante obvios pero los resumo en: la experiencia de usuario es mucho mejor en la aplicación nativa que en el navegador. Parte importante del tema es que el mismo link sea válido tanto para ver el contenido en el browser como para verlo en la aplicación, porque como prove

¡A la salud de mi KB!

Es bueno, especialmente en "bases de conocimiento" (KB) que han pasado por varias versiones de Genexus, chequear su "estado de salud". En este sentido KBDoctor  es una herramienta que ayuda mucho, principalmente desde el punto de vista del "modelo" Genexus (atributos, calls, definiciones de variables, etc) representado en una KB. También es útil revisar la salud de los archivos que lo soportan. Hasta la 9.0 eran archivos C-tree (los famosos .DAT) que tenían indices (los famosos .IDX) y teníamos en "rebuild -y" que mejoraba esos archivos y sobre todo reconstruía los indices. A partir de la X las KBs se almacenan en MS SQL Server por lo cual la administración de la misma pasó de ser un "file server" a un "database server". En este sentido algo que me ha dado muy buenos resultados es el "CheckKnowledgeBase".

Rocha:Constantes tipo fecha

En la Rocha se soportan constantes del tipo fecha o fecha-hora con formato ANSI/ISO (AAAA-MM-DD HH:MM:SS).  Tecnicamente (Sintáxis): <date>::=    [0-9]{1,4}"/"[0-9]{1,2}"/"[0-9]{1,2} | [0-9]{1,4}"."[0-9]{1,2}"."[0-9]{1,2} | [0-9]{1,4}"-"[0-9]{1,2}"-"[0-9]{1,2} <hms>::=    [0-9]{1,2}[ap] | [0-9]{1,2}":"[0-9]{1,2}[ap]? | [0-9]{1,2}":"[0-9]{1,2}":"[0-9]{1,2}[ap]? <constant> ::=   "#"<date>"#" | "#"<date> <hms>"#" | "#"<hms>"#" Funcionalmente Se pueden utilizar esas constantes en las reglas, eventos, propiedades, etc (todo lugar donde se utilice el parser): Algunos ejemplos básicos: &FechaInicial=#2007-01-01# &FechaHoraInicial=#07-1-1 11:15a# &HoraInicial=#11a# Me parece bueno no tener que escribir funciones (CTOD, TTOC) sobre constantes tipo char para lograr una fecha y mucho mejor aun en