Difference between revisions of "Impact on Test Cases when the GX KB changes"

From GXtest Wiki
Jump to: navigation, search
(Página nueva: Categoría: Guías de GXtest En este ejemplo se verá como se puede [[Manual de Usuario de GXtest Designer#Actualizar la KB: Impactar los cambios de la KB en los casos de prueba ...)
 
Line 1: Line 1:
 
[[Categoría: Guías de GXtest]]
 
[[Categoría: Guías de GXtest]]
  
En este ejemplo se verá como se puede [[Manual de Usuario de GXtest Designer#Actualizar la KB: Impactar los cambios de la KB en los casos de prueba | Actualizar la KB: Impactar los cambios de la KB en los casos de prueba]] con un ejemplo concreto.
+
In this tutorial you will see how to [[GXtest_Designer_User_Manual#Updating_a_KB:_Impacting_the_KB.E2.80.99s_change_on_Test_Cases | Update a KB: Impacting the KB’s changes in Test Cases]] in a concrete example.  
  
== Archivos necesarios para seguir el ejemplo ==
+
== Files necessary to follow this example ==
 +
To complete the following guide you need to download the following files:
 +
* [[Media:AjaxSampleCompleta.xpz |AjaxSampleCompleta]]: This file contains the first version of the AjaxSample KB
 +
* [[Media:AjaxSampleCompleta_modificada.xpz |AjaxSampleComplete Modified]]: this file contains a modified version (changes that could have been made by developers) of the AjaxSample KB
 +
* [[Media: Casos de prueba de Ejemplo.zip|Test Cases for the tutorial]]: this is a ZIP archive that contains the Clients Test Case and the Invoices Test Case.
  
Para realizar completamente el presente ejemplo se deben bajar los siguientes archivos:
+
Once these files are downloaded you can begin the tutorial.  
* [[Media:AjaxSampleCompleta.xpz |AjaxSampleCompleta]]: archivo con la versión inicial de la KB de AjaxSample
+
* [[Media:AjaxSampleCompleta_modificada.xpz |AjaxSampleCompleta Modificada]]: archivo con la versión modificada (algunos cambios que podrían haber intoducido los desarrolladores) de la KB de AjaxSample
+
* [[Media: Casos de prueba de Ejemplo.zip| Caso de pruebas de ejemplo]]: es un archivo comprimido zip que contiene dentro el caso de prueba Clientes y el caso de prueba Facturas
+
  
Una vez descargados dichos archivos se puede empezar a seguir el ejemplo.
+
== Impact analysis (updating a KB) step by step ==
  
== Análisis de impacto (actualización de la KB) paso a paso ==
+
=== Step 1: Loading ===
 +
First you need to create a new project that needs to be associated with the AjaxSampleComplete.xpz KB. For more help on doing this see [[Starting out with GXtest]].
  
=== Paso 1: carga inicial===
+
Then import the Clients and Invoices Test Cases. For more details see [[Exporting and Importing a Test Case]].
  
Primero se debe crear un proyecto nuevo al cual se le debe asociar la KB AjaxSampleCompleta.xpz. Por más ayuda sobre como realizar esto ver [[Empezando con GXtest]]. <br>
+
=== Step 2: Updating a KB ===
Luego importar los casos de prueba de facturas y clientes. Por más detalle ver [[Exportar e Importar un TestCase]].<br>
+
The purpose of the article is to see how changes during development impact Test Cases. In order to see these changes you must change the KB that GXtest is working with. To do this you substitute the AjaxSampleComplete_modified.xpz which is the same as the first file but with a few changes. To get GXtest to use the new KB you must perform the following steps:
 +
* delete AjaxSampleComplete.xpz
 +
* rename AjaxSampleComplete_modified.xpz  to AjaxSampleComplete.xpz
  
 +
The changes made in the AjaxSampleComplete_modified.xpz KB are the following:
 +
* A new object: ObjNew
 +
* A renamed object that is used in a test case (Home > SuperHome). Upon using it in the Test Case it will create a conflict that has to be resolved.
 +
* A renamed object that is not used in a test case (Product > SuperProduct). Since it is not used, it will not create a conflict.
 +
* A new control for an object that is not used in a test case (City, TextBoxHello)
 +
* In the Invoice object used in the Test Case the following changes have been made:
 +
** A new control: TextBox:Hellooooo
 +
** A renamed control that continues to have the same caption associated with it (btn_enter > Superbtn_enter)
 +
** A renamed control that continues to be the same type (Grid 1 > SuperGrid1)
 +
** A renamed button used in the Test Case in which the caption was changed but it continues to point to the same event (The Cancel button is deleted, and Button1 has been added that points to the Cancel event)
 +
** A control that was used but now has been deleted (InvoiceLineQty)
  
=== Paso 2: modificar la KB ===
+
=== Step 3: Refreshing ===
El objetivo de este articulo es justamente ver como impactan los cambios en el desarrollo en los casos de prueba. Para ver esto se debe cambiar la KB con la cual GXtest está trabajando. Con este fin es que suministra el archivo AjaxSampleCompleta_modificada.xpz, el cual contiene la misma KB pero con algunos cambios. Para que GXtest consulte la nueva kb se deben realizar los siguientes pasos:<br>
+
Now you are ready to perform the impact, to do so go to KB > Refresh
* borrar el archivo AjaxSampleCompleta.xpz
+
* renombrar el archivo AjaxSampleCompleta_modificada.xpz a AjaxSampleCompleta.xpz
+
  
Los cambios realizados en la KB AjaxSampleCompleta_modificada.xpz se describen a continuación:
+
==== Choosing a KB ====
* Un Objeto nuevo: ObjNuevo
+
This opens a window where you can choose the KB that is to be impacted.
* Un objeto renombrado que se usaba en un caso de prueba (Home->SuperHome). Al usarse en un caso de prueba se genera un conflicto a resolver.
+
* Un objeto renombrado que no se usaba en ningún caso de prueba (Product->SuperProduct). Al no utilizarse no se genera ningún conflicto.
+
* Un control nuevo en un objeto que no se usaba en un caso de prueba (City, TextBox:Hola)
+
* Dentro del objeto Invoice usado en un caso de prueba se realizan los siguientes cambios:
+
** Un control nuevo: TextBox:Holassss
+
** Un control en uso que se "renombro" pero que sigue con el mismo caption asociado (btn_enter->Superbtn_enter)
+
** Un control en uso que se "renombro" pero que sigue siendo del mismo tipo (Grid1->SuperGrid1)
+
** Un boton en uso que se "renombro" y se cambio el caption pero que sigue apuntando al mismo evento (Se borró el botón Cancel, se agregó el botón Button1 que apunto a el evento Cancel)   
+
** Un control en uso que simplemente se quito (InvoiceLineQty)
+
  
=== Paso 3: hacer Refresh! ===
 
Bien ahora estamos listos para realizar el impacto, para esto debemos ir a KB->Refresh
 
 
==== Selección de la KB ====
 
Esto nos abrirá la siguiente ventana para seleccionar la KB sobre la cual se realizará el impacto
 
 
[[Imagen:ImpactKB_Paso1.jpg]]
 
[[Imagen:ImpactKB_Paso1.jpg]]
  
Luego de seleccionar la KB se debe presionar el botón Next.
+
After you choose the KB press the Next button.
  
==== Lista de objetos a eliminar ====
+
==== List of objects to be deleted ====
 
[[Imagen:ImpactKB_Paso2.jpg]]
 
[[Imagen:ImpactKB_Paso2.jpg]]
  
En esta pantalla se muestra el objeto Product que se va a eliminar porque no se encuentra en la KB actual (el mismo fue renombrado por SuperProduct). Este objeto se puede eliminar sin problemas porque no está siendo utilizado en ningún caso de prueba. Si la KB sobre la cual estamos trabajando es de GeneXus X, entonces automáticamente GXtest se da cuenta cuales objetos fueron renombrados.
+
This window displays the objects that are to be deleted because the aren't found in the current KB (it was renamed to SuperProduct). These objects can be deleted without problems because they are not being used in any Test Case. If the KB you are working with is from GeneXus X, GXtest will automatically recognize that it was renamed. To continue click Next.  
Para continuar presionar Next.
+
  
==== Impacto a nivel de los objetos ====
+
==== Object Level Impact ====
 
[[Imagen:ImpactKB_Paso3.jpg]]
 
[[Imagen:ImpactKB_Paso3.jpg]]
  
En esta pantalla se muestran los conflictos a nivel macro, ya que solo se pueden ver aquellos conflictos en los objetos y no en el contenido de los mismos. Las secciones que se pueden ver son las siguientes:
+
This screen shows the macro level conflicts, however you can only see the conflicts in the objects and not in the content itself. The following sections can be seen:  
* ''Objetos con conflictos'': contiene la lista de objetos que son utilizados en algún caso de prueba pero no se encuentran en la nueva KB. En este caso se muestra el objeto Home, ya que el mismo fue renombrado y se estaba utilizando en los casos de prueba.  
+
* Conflicted Objects: this is a list of objects that are used in a test case but that cannot be found in the new KB. The Home object is shown first because it was renamed and it is being used in the Test Case.  
* ''Objetos sugeridos'': cuando se selecciona una objeto en conflicto se sugiere en caso de ser posible otros objetos para sustituir el mismo.
+
* Suggested Objects: when you select a conflicted object it will suggest a list of possible objects to be substituted.  
* ''Conflictos resueltos'': cuando se indica que un objeto en conflicto se corresponde con un nuevo objeto, el objeto en conflicto se va de la lista de Objetos con conflictos y pasa a la lista Conflictos resueltos, a su vez el objeto disponible sale de la lista de objetos disponibles.
+
* Resolved conflicts: when you match an object with a conflict with a new object the conflicted object will be removed form the list of Conflicted Objects and will move to the Resolved conflicts list as well the available object will be removed from the list of available objects.  
* ''Objetos disponibles'': muestra la lista actual de objetos disponibles (objetos nuevos que no se ha indicado que se correspondan con algún objeto en conflicto). En este caso inicialmente muestra tres objetos: ObjNuevo, SuperHome y SuperProduct
+
* Available objects: Displays a list of the available objects (new objects that have not been matched with a conflicted object). In this case three objects are displayed: ObjNuevo, SuperHome and SuperProduct
  
Lo que se debe hacer en esta pantalla es indicar que el objeto Home ahora se llama SuperHome. Para esto se debe seleccionar (con un clic) el objeto Home y luego seleccionar el objeto SuperHome y presionar el botón Resolved.
+
You must now tell GXtest that the Home object is now called SuperHome. To do so click on the Home object and then on the SuperHome object and click Resolved.  
  
 
+
To match up an object with a conflict to an available object, select the conflicted object from the list and then an available or suggested object from the list. Then click Resolved.  
Para indicar que un objeto en conflicto se corresponde con un objeto disponible, marcar el objeto en conflicto y luego marcar el objeto disponible o sugerido. Luego presionar el botón Resolved.
+
  
 
{| border="1" cellpadding="5" cellspacing="0" align="center"
 
{| border="1" cellpadding="5" cellspacing="0" align="center"
 
|-
 
|-
! style="background:#efefef;" | Es importante tener en cuenta si se está utilizando GeneXus X o superior automáticamente se detectan cuales objetos fueron renombrados y no es necesario que el usuario lo indique.
+
! style="background:#efefef;" | It’s important to keep in mind that if you are using GeneXus X or higher GXtest will automatically detect which objects have been renamed and it isn’t necessary for you to do so.  
 
|}
 
|}
  
 +
To continue click Next.
  
Luego presionar  Next.
+
==== Control Level Impact ====
 
+
==== Impacto a nivel de los Controles ====
+
 
[[Imagen:ImpactKB_Paso4.jpg]]
 
[[Imagen:ImpactKB_Paso4.jpg]]
  
En esta pantalla se van a poder recorrer los distintos objetos que han sido afectados con los cambios. Si se observa en la parte superior se puede navegar por los mismos.
+
This windows displays the objects that have been affected by the changes made. At the top of the window it is possible to navigate through the different objects using the arrow buttons.
  
Para cada objeto se tiene un esquema similar al de la pantalla anterior en donde se puede indicar que controles han sido renombrados, o sustituidos por otros.
+
Each object has a similar layout to the previous window where you can choose which controls have been renamed or substituted for others.  
  
En este caso en particular el único objeto con conflictos es el objeto Invoice. En el mismo podemos ver que tenemos los siguientes controles en conflicto:
+
In the case in particular the only conflicted object is the Invoice object. In the same object you can see that there are the following conflicted controls:  
* InvoiceLineQty
+
* InvoiceLineQty  
* btn_cancel
+
* btn_cancel  
* Grid1
+
* Grid1  
* btn_enter
+
* btn_enter  
  
Al hacer clic arriba de btn_cancel, Grid1 y btn_enter se sugiere adecuadamente cuales son los controles por los cuales se debería sustituir. Esas sugerencias son en base a heurísticas.
+
Upon clicking on btn_cancel, Grid1 and btn_enter a suggestion is made for an appropriate substitution. Click Resolve for each of the suggestions and then click Next.  
Presionar Resolve para cada una de las sugerencias y luego presionar Next.
+
  
==== Reporte ====
+
==== Report ====
 
[[Imagen:ImpactKB_Paso5.jpg]]
 
[[Imagen:ImpactKB_Paso5.jpg]]
  
Por último se muestra un reporte donde se visualiza el resultado de la actualización realiada
+
Lastly the report screen displays the results of the changes made.

Revision as of 14:34, 27 November 2009

Categoría: Guías de GXtest

In this tutorial you will see how to Update a KB: Impacting the KB’s changes in Test Cases in a concrete example.

Contents

Files necessary to follow this example

To complete the following guide you need to download the following files:

Once these files are downloaded you can begin the tutorial.

Impact analysis (updating a KB) step by step

Step 1: Loading

First you need to create a new project that needs to be associated with the AjaxSampleComplete.xpz KB. For more help on doing this see Starting out with GXtest.

Then import the Clients and Invoices Test Cases. For more details see Exporting and Importing a Test Case.

Step 2: Updating a KB

The purpose of the article is to see how changes during development impact Test Cases. In order to see these changes you must change the KB that GXtest is working with. To do this you substitute the AjaxSampleComplete_modified.xpz which is the same as the first file but with a few changes. To get GXtest to use the new KB you must perform the following steps:

  • delete AjaxSampleComplete.xpz
  • rename AjaxSampleComplete_modified.xpz to AjaxSampleComplete.xpz

The changes made in the AjaxSampleComplete_modified.xpz KB are the following:

  • A new object: ObjNew
  • A renamed object that is used in a test case (Home > SuperHome). Upon using it in the Test Case it will create a conflict that has to be resolved.
  • A renamed object that is not used in a test case (Product > SuperProduct). Since it is not used, it will not create a conflict.
  • A new control for an object that is not used in a test case (City, TextBoxHello)
  • In the Invoice object used in the Test Case the following changes have been made:
    • A new control: TextBox:Hellooooo
    • A renamed control that continues to have the same caption associated with it (btn_enter > Superbtn_enter)
    • A renamed control that continues to be the same type (Grid 1 > SuperGrid1)
    • A renamed button used in the Test Case in which the caption was changed but it continues to point to the same event (The Cancel button is deleted, and Button1 has been added that points to the Cancel event)
    • A control that was used but now has been deleted (InvoiceLineQty)

Step 3: Refreshing

Now you are ready to perform the impact, to do so go to KB > Refresh

Choosing a KB

This opens a window where you can choose the KB that is to be impacted.

Imagen:ImpactKB_Paso1.jpg

After you choose the KB press the Next button.

List of objects to be deleted

Imagen:ImpactKB_Paso2.jpg

This window displays the objects that are to be deleted because the aren't found in the current KB (it was renamed to SuperProduct). These objects can be deleted without problems because they are not being used in any Test Case. If the KB you are working with is from GeneXus X, GXtest will automatically recognize that it was renamed. To continue click Next.

Object Level Impact

Imagen:ImpactKB_Paso3.jpg

This screen shows the macro level conflicts, however you can only see the conflicts in the objects and not in the content itself. The following sections can be seen:

  • Conflicted Objects: this is a list of objects that are used in a test case but that cannot be found in the new KB. The Home object is shown first because it was renamed and it is being used in the Test Case.
  • Suggested Objects: when you select a conflicted object it will suggest a list of possible objects to be substituted.
  • Resolved conflicts: when you match an object with a conflict with a new object the conflicted object will be removed form the list of Conflicted Objects and will move to the Resolved conflicts list as well the available object will be removed from the list of available objects.
  • Available objects: Displays a list of the available objects (new objects that have not been matched with a conflicted object). In this case three objects are displayed: ObjNuevo, SuperHome and SuperProduct

You must now tell GXtest that the Home object is now called SuperHome. To do so click on the Home object and then on the SuperHome object and click Resolved.

To match up an object with a conflict to an available object, select the conflicted object from the list and then an available or suggested object from the list. Then click Resolved.

It’s important to keep in mind that if you are using GeneXus X or higher GXtest will automatically detect which objects have been renamed and it isn’t necessary for you to do so.

To continue click Next.

Control Level Impact

Imagen:ImpactKB_Paso4.jpg

This windows displays the objects that have been affected by the changes made. At the top of the window it is possible to navigate through the different objects using the arrow buttons.

Each object has a similar layout to the previous window where you can choose which controls have been renamed or substituted for others.

In the case in particular the only conflicted object is the Invoice object. In the same object you can see that there are the following conflicted controls:

  • InvoiceLineQty
  • btn_cancel
  • Grid1
  • btn_enter

Upon clicking on btn_cancel, Grid1 and btn_enter a suggestion is made for an appropriate substitution. Click Resolve for each of the suggestions and then click Next.

Report

Imagen:ImpactKB_Paso5.jpg

Lastly the report screen displays the results of the changes made.