Difference between revisions of "Generación Automática de Casos de Prueba"
(draft 0.1) |
|||
Line 1: | Line 1: | ||
[[category:Testing]] | [[category:Testing]] | ||
+ | = Introducción = | ||
+ | GXtest pattern pretende lograr una generación base, que pueda testear varias transacciones simples sin tener que tocar nada y para aquellos casos donde se requiera sirva como base para no tener que empezar de 0 una prueba.<br> | ||
+ | |||
+ | = Generación de casos de prueba = | ||
+ | |||
+ | == Generación a partir de una transacción == | ||
+ | |||
+ | Dada una transacción se aplica el pattern GXtest y genera un ciclo de CRUD básico teniendo en cuenta transacciones planas y de 2 niveles con o sin pattern WW aplicado.<br> | ||
+ | |||
+ | Verificar las propiedades del pattern ya que se puede generar el datapool correspondiente asociado a la prueba. | ||
+ | |||
+ | Propiedades a definir a nivel de instancia | ||
+ | |||
+ | * DataPool | ||
+ | ** Filename: Archivo con extensión dpd donde se genera el\los datapools asociados a la transacción. | ||
+ | ** DataPool name: Nombre del Datapool al importarse en GXtest Designer. | ||
+ | ** Generate DataPool: habilita\deshabilita la generación del DataPool. | ||
+ | ** Generate SETID Column: agrega la columna SETID para relacionar DataPools. | ||
+ | * TestCase | ||
+ | ** Startup Test Case: permite generar una referencia a un TestCase ya existente. El caso de uso es el uso de un login antes de comentar la prueba. | ||
+ | |||
+ | == Funcionamiento == | ||
+ | |||
+ | Una vez configurada la instancia del pattern y aplicar el pattern se genera un archivo XML (mismo nombre que la transacción) en el directorio de generación del modelo que define el TestCase principal asociado con la transacción y si se tienen varios niveles secundarios algunos testCase subordinados para trabajar con las grillas. | ||
+ | Ademas si se configura que genere los DataPools existirá un archivo con extensión dpd con la definición. | ||
+ | |||
+ | Desde GXtest Designer asegurarse de tener el proyecto actualizado con respecto a la KB GX (y versión 1.1.3.1858 o superior) e importar utilizando ''Test Cases'' \ ''Import Test Cases''. | ||
+ | |||
+ | Opciones de Importación | ||
+ | * TestCases | ||
+ | ** Overwrite Test Cases if exists: Soobrescribe en caso que ya existan los nombres de los Test Cases a importar. | ||
+ | ** All Test Cases definitions (Recursive): En caso de referenciarse TestCases desde el TestCase principal se importan en cascada. | ||
+ | * DataPools | ||
+ | ** Overwrite DataPools if exists: Soobrescribe en caso que ya existan los DataPools referenciados en el archivo dpd. | ||
+ | ** Data Pool data: no tenido en cuenta desde el GXtest pattern. | ||
+ | |||
+ | Al presionar Import se presenta un diálogo con el resultado de la importación. | ||
+ | |||
+ | El pattern implementa los diferentes comando disponibles en GXtest en formato XML | ||
+ | [http://gxtest.abstracta.com.uy/wiki/index.php?title=Test_Cases_-_XML] | ||
+ | generando un TestCase por cada transacción. | ||
+ | |||
+ | == Consideraciones == | ||
+ | * Si se mantiene un WebForm lo mas estándar posible debería de funcionar sin problemas, en caso contrario se informa en el output posibles problemas encontrados entre la definición de la estructura de la transacción y el WebForm. | ||
+ | * Cuando se tiene aplicado WW Pattern, se necesita que tenga "Description Attribute" definido. | ||
+ | * Se hace Skip de atributos autonumber. | ||
+ | * Eventos, parseo básico en busca de: | ||
+ | Control.Visible = 0|false | ||
+ | Control.Enabled = 0|false | ||
+ | * Reglas, parseo básico en busca de: | ||
+ | NoAccept(...); | ||
+ | Serial(...); | ||
+ | * En los Datapools que se corresponden con grillas se agrega la columna RowNumber y en el cabezal se agrega RowCount para poder generar un loop indicando la cantidad de líneas a ejecutar un TestCase. | ||
+ | |||
+ | == Restrictiones == | ||
+ | * Claves Foraneas, atributos inferidos y formulas no se chequean | ||
+ | * Automatic Translation | ||
+ | * Regals condicionales | ||
+ | * AddLines, FreeStyle Grid | ||
+ | * TRN de 3 niveles (relacionado con la generación de FreeStyle Grid) | ||
+ | * transacciones relacionadas con otras transacciones (ciudad, pais) |
Revision as of 02:50, 25 November 2010
Contents |
Introducción
GXtest pattern pretende lograr una generación base, que pueda testear varias transacciones simples sin tener que tocar nada y para aquellos casos donde se requiera sirva como base para no tener que empezar de 0 una prueba.
Generación de casos de prueba
Generación a partir de una transacción
Dada una transacción se aplica el pattern GXtest y genera un ciclo de CRUD básico teniendo en cuenta transacciones planas y de 2 niveles con o sin pattern WW aplicado.
Verificar las propiedades del pattern ya que se puede generar el datapool correspondiente asociado a la prueba.
Propiedades a definir a nivel de instancia
- DataPool
- Filename: Archivo con extensión dpd donde se genera el\los datapools asociados a la transacción.
- DataPool name: Nombre del Datapool al importarse en GXtest Designer.
- Generate DataPool: habilita\deshabilita la generación del DataPool.
- Generate SETID Column: agrega la columna SETID para relacionar DataPools.
- TestCase
- Startup Test Case: permite generar una referencia a un TestCase ya existente. El caso de uso es el uso de un login antes de comentar la prueba.
Funcionamiento
Una vez configurada la instancia del pattern y aplicar el pattern se genera un archivo XML (mismo nombre que la transacción) en el directorio de generación del modelo que define el TestCase principal asociado con la transacción y si se tienen varios niveles secundarios algunos testCase subordinados para trabajar con las grillas. Ademas si se configura que genere los DataPools existirá un archivo con extensión dpd con la definición.
Desde GXtest Designer asegurarse de tener el proyecto actualizado con respecto a la KB GX (y versión 1.1.3.1858 o superior) e importar utilizando Test Cases \ Import Test Cases.
Opciones de Importación
- TestCases
- Overwrite Test Cases if exists: Soobrescribe en caso que ya existan los nombres de los Test Cases a importar.
- All Test Cases definitions (Recursive): En caso de referenciarse TestCases desde el TestCase principal se importan en cascada.
- DataPools
- Overwrite DataPools if exists: Soobrescribe en caso que ya existan los DataPools referenciados en el archivo dpd.
- Data Pool data: no tenido en cuenta desde el GXtest pattern.
Al presionar Import se presenta un diálogo con el resultado de la importación.
El pattern implementa los diferentes comando disponibles en GXtest en formato XML [1] generando un TestCase por cada transacción.
Consideraciones
- Si se mantiene un WebForm lo mas estándar posible debería de funcionar sin problemas, en caso contrario se informa en el output posibles problemas encontrados entre la definición de la estructura de la transacción y el WebForm.
- Cuando se tiene aplicado WW Pattern, se necesita que tenga "Description Attribute" definido.
- Se hace Skip de atributos autonumber.
- Eventos, parseo básico en busca de:
Control.Visible = 0|false Control.Enabled = 0|false
- Reglas, parseo básico en busca de:
NoAccept(...); Serial(...);
- En los Datapools que se corresponden con grillas se agrega la columna RowNumber y en el cabezal se agrega RowCount para poder generar un loop indicando la cantidad de líneas a ejecutar un TestCase.
Restrictiones
- Claves Foraneas, atributos inferidos y formulas no se chequean
- Automatic Translation
- Regals condicionales
- AddLines, FreeStyle Grid
- TRN de 3 niveles (relacionado con la generación de FreeStyle Grid)
- transacciones relacionadas con otras transacciones (ciudad, pais)