Objetivos:
Crear y acceder a una agrupación de datos desde una aplicación de prueba de ejemplo utilizando TPTP (Eclipse Test
and Performance Tools Platform.)
Tiempo necesario
1 hora
Antes de empezar esta guía de aprendizaje, debe
-
Instalar Eclipse y TPTP (Eclipse Test and Performance Tools
Platform.)
- Tener un conocimiento básico de la ejecución de pruebas de JUnit. Para obtener más información acerca de las
pruebas de JUnit, vaya a www.junit.org.
- Configurar y ejecutar el Agent Controller correspondiente a la versión de TPTP. Para obtener más información,
consulte Getting
started with the Agent Controller.
Descripción
En esta guía de aprendizaje, puede crear y probar una aplicación llamada MyShoppingCart. Mediante TPTP
(Eclipse Test and Performance Tools Platform) puede desarrollar pruebas de JUnit y crear una agrupación de datos para
proporcionar datos al entorno de prueba.
Esta guía de aprendizaje le guía a través de los procedimientos siguientes:
- Crear una aplicación de usuario de ejemplo
- Configurar una suite de pruebas de TPTP
- Crear una agrupación de datos e inicializar los datos de prueba
- Modificar los casos de prueba para hacer referencia a una agrupación de datos
En este procedimiento, se desarrolla la clase MyShoppingCart. En los procedimientos siguientes, utilizará TPTP para
desarrollar un entorno de prueba correspondiente.
- Crear un proyecto Java de Eclipse.
- En el menú Archivo elija Archivo > Nuevo > Proyecto... Aparece el diálogo Proyecto nuevo.
- En la lista Asistentes, seleccione Proyecto Java y pulse Siguiente.
Aparece la página Crear un proyecto Java.
- Teclee datapoolExample en Nombre de proyecto y pulse Finalizar. El proyecto datapoolExample
aparece en la vista Navegador.
- Crear la clase MyShoppingCart.
- En la vista Navegador, pulse con el botón derecho el proyecto datapoolExample
y elija Nuevo > Clase. Aparece el diálogo Clase Java nueva.
- Teclee MyShoppingCart en el campo Nombre.
- Quite la marca de la opción para crear el método main public static void
main(String[] args).
- Pulse Finalizar. El archivo MyShoppingCart.java aparece en el editor Java.
- Teclee lo siguiente en el código fuente de MyShoppingCart:
import java.util.*;
public class MyShoppingCart {
public Hashtable myFlowers;
public MyShoppingCart() {
myFlowers = new Hashtable();
myFlowers.put("Orchid", new Double(5.99));
myFlowers.put("Tulip", new Double(1.99));
myFlowers.put("White Poinsee", new Double(6.99));
myFlowers.put("White Rose", new Double(9.99));
myFlowers.put("Geraniums", new Double(4.99));
}
public double itemCost(String itemName, int itemQuantity)
{
Double price = (Double)myFlowers.get(itemName);
if (price != null) {
return price.doubleValue()*itemQuantity;
}
return -1;
}
}
- Guarde MyShoppingCart.java. En el menú Archivo, elija Archivo > Guardar.
En este procedimiento, puede desarrollar una suite de pruebas para la clase MyShoppingCart. Mediante TPTP
(Eclipse Test and Performance Tools Platform), puede desarrollar una prueba JUnit para el método itemCost.
- Abrir la perspectiva Prueba.
- En el menú Archivo, elija Ventana > Abrir perspectiva >
Otras.
- Seleccione Prueba y pulse Aceptar. Aparece el Navegador de pruebas.
- Crear una Prueba JUnit de TPTP.
- En el Navegador de pruebas, pulse con el botón derecho el proyecto datapoolExample y elija Nuevo > Elemento
de prueba...
- En el diálogo Elemento de pruebas, seleccione Prueba JUnit de TPTP y pulse Siguiente. Aparece el
diálogo Caso de prueba nuevo, en el que se le solicita que añada bibliotecas de JUnit. Pulse Sí para añadir las
bibliotecas de JUnit.
- En la página Código fuente de prueba JUnit nueva, teclee shoppingCartTest_src en el campo Nombre. En la sección Seleccionar cómo se edita el comportamiento de prueba, elija la opción En el editor de
pruebas (el valor predeterminado.)
- Pulse Finalizar. Aparece el editor de pruebas JUnit de TPTP mostrando la suite de
pruebas shoppingCartTest_src. La pestaña Visión general incluye una descripción de prueba, información de código fuente
y un listado de métodos de prueba. Actualmente, no hay métodos de prueba definidos. Para esta guía de aprendizaje, el
editor de pruebas JUnit de TPTP genera apéndices de método de forma que la opción Implementar comportamiento de
prueba como código de la sección Información de código fuente debe estar deseleccionada. Para obtener más
información, consulte la sección Editor de suites de pruebas JUnit.
- Añadir los métodos testItemCost y testShoppingCartConstructor.
- En la pestaña Métodos de prueba, pulse Añadir. Aparece un nombre predeterminado para la prueba.
- Añada el método testItemCost. En el campo Nombre, teclee testItemCost para el nombre de prueba nuevo. En
el campo Descripción, teclee Prueba para el método MyShoppingCart.itemCost(String, int).
- Añada el método testShoppingCartConstructor. En la pestaña Métodos de prueba, pulse Añadir. En el campo Nombre,
teclee testShoppingCartConstructor para el nombre de prueba nuevo. En el campo Descripción, teclee Prueba
para el constructor MyShoppingCart.
- Configurar el comportamiento de ejecución de prueba.
- Añada un bucle de ejecución de prueba. En la pestaña Comportamiento, pulse Añadir...
> Bucle. En el campo Nombre, teclee Loop_MyShoppingCart. En el campo Número de iteraciones, teclee
1 (el valor predeterminado.)
- Añada una invocación de testShoppingCartConstructor. Seleccione Loop_MyShoppingCart y pulse
Añadir... > invocación. Aparece el diálogo Invocación de prueba. Seleccione
testShoppingCartConstructor y pulse Aceptar.
- Añada una invocación de testItemCost. Seleccione Loop_MyShoppingCart y pulse
Añadir... > invocación. Aparece el diálogo Invocación de prueba. Seleccione testItemCost y pulse
Aceptar.
- Guarde la suite de pruebas. En el menú Archivo, elija Archivo > Guardar.
Nota: el mandato Guardar hace que el editor de pruebas JUnit de TPTP cree apéndices de método de prueba en
shoppingCartTest_src.java.
-
Especificar código para los métodos de prueba JUnit generados testShoppingCartConstructor y testItemCost.
- Abra la perspectiva Java. En el menú Archivo elija Ventana > Abrir perspectiva > Otras... > Java.
- Abrir shoppingCartTest_src.java. En el Navegador, abra la carpeta del proyecto datapoolExample y efectúe una
doble pulsación sobre shoppingCartTest_src.java. El contenido de shoppingCartTest_src.java aparece en el editor Java,
incluyendo el código para configurar y ejecutar la suite de pruebas y los métodos de apéndice para
testShoppingCartConstructor y testItemCost.
- Teclee el código siguiente para el método testShoppingCartConstructor.
public void testShoppingCartConstructor()
throws Exception
{
MyShoppingCart cart = new MyShoppingCart();
Double priceOrchid = (Double)cart.myFlowers.get("Orchid");
Double priceTulip = (Double)cart.myFlowers.get("Tulip");
assertTrue(priceOrchid.doubleValue() == 5.99);
assertTrue(priceTulip.doubleValue() == 1.99);
}
- Teclee el código siguiente para el método testItemCost.
public void testItemCost()
throws Exception
{
MyShoppingCart cart = new MyShoppingCart();
double priceForTwo = cart.itemCost("Orchid", 2);
assertTrue(priceForTwo == 11.98);
}
- Guarde shoppingCartTest_src.java. En el menú Archivo, elija Archivo > Guardar.
- Abra la perspectiva Prueba y cree un despliegue de prueba. Para obtener un ejemplo, consulte la sección
Crear un despliegue de prueba.
-
Ejecutar la prueba utilizando el despliegue personalizado.
- En el Navegador de prueba, pulse con el botón derecho la suite de pruebas shoppingCartTest_src y elija
Ejecutar como > Ejecutar.... Aparece el diálogo Ejecutar configuración.
- En el panel Configuraciones, seleccione Prueba y a continuación Nueva.
- En el panel izquierdo de Ejecutar configuración (Seleccionar prueba a ejecutar), expanda
datapoolExample y elija la suite de pruebas shoppingCartTest_src.
- En el panel de la derecha de Ejecutar configuración, seleccione la sección del despliegue creado.
- En la pestaña Anotaciones de prueba, quite la marca de la opción Utilizar valores predeterminados y
seleccione la carpeta del proyecto datapoolExample para la ubicación.
- Pulse Ejecutar para lanzar la prueba.
- Efectúe una doble pulsación sobre las anotaciones de prueba de shoppingCartTest_src que aparecen en el Navegador
de prueba. Aparecen las anotaciones de prueba de shoppingCartTest_src. Seleccione la pestaña Eventos para ver los
detalles de la prueba. Debe ver los eventos siguientes: inicio de la suite de pruebas, inicio de Loop_MyShoppingCart,
inicio de prueba, veredicto de prueba, detención de prueba, segundo inicio de prueba, segundo veredicto de prueba,
segunda detención de prueba, detención de bucle, veredicto de suite de pruebas y detención de suite de pruebas.

En este procedimiento se crea una agrupación de datos simple para almacenar datos de prueba. Con el editor de
agrupaciones de datos, se definen elementos estructurales de una agrupación de datos, incluyendo variables (columnas),
registros (filas) y clases de equivalencia (grupos de registros relacionados.)
- Crear un archivo CSV (delimitado por comas) que incluya los datos de la prueba. Normalmente, puede exportar datos
de una aplicación de hoja de cálculo o de una base de datos a formato CSV. Sin embargo, en esta guía de aprendizaje, se
teclean los datos en un editor de texto.
- Teclee lo siguiente en un editor de texto.
,ModelNumber::String,Description::String,Price::Double
flowers,F0001,Orchid,5.99
flowers,F0002,Tulip,1.99
flowers,F0003,White Poinsee,6.99
flowers,F0004,White Rose,9.99
flowers,F0005,Geraniums,4.99
- Guarde el archivo como flowerData.csv en una ubicación externa temporal.
- En Eclipse, abra la perspectiva Prueba.
- En el menú Archivo, elija Ventana > Abrir perspectiva >
Otras.
- Seleccione Prueba y pulse Aceptar. Aparece el Navegador de pruebas.
- En el Navegador de pruebas, pulse un proyecto con el botón derecho y seleccione
Nuevo > Elemento de prueba... Aparece el diálogo
Elemento de prueba nuevo.
- En el recuadro de lista Asistentes, expanda la carpeta Activos de prueba y seleccione Agrupación de datos.
- Pulse Siguiente Aparece el diálogo Agrupación de datos nueva.
- Elija la carpeta del proyecto de agrupación de datos y el nombre de la agrupación de
datos. En la lista de proyectos existentes, seleccione el proyecto datapoolExample. En el campo
Nombre, teclee shoppingCartDatapool. Pulse Siguiente para continuar y
vuelva a pulsar Siguiente para abrir la página de importación de CSV (delimitado por comas.)
- Importe el archivo CSV flowerData.csv.
- En el campo Archivo CSV, pulse Examinar y
navegue hasta flowerData.csv.
- Seleccione la opción La primera fila contiene los nombres de las variables y los tipos
sugeridos. La primera fila de flowerData.csv contiene cabeceras de columna y tipos.
- Seleccione la opción La primera columna contiene los nombres de las clases de
equivalencia. Las clases de equivalencia agrupan datos relacionados. La primera columna flowerData.csv especifica una sola clase de
equivalencia llamada flowers.
- Pulse Finalizar. Si especificó dimensiones
iniciales de la agrupación de datos que pueden causar un conflicto con las dimensiones de archivo CSV, aparece un
diálogo. Pulse Sí para utilizar las dimensiones del archivo CSV. Pulse No para utilizar las dimensiones
iniciales especificadas (y probablemente truncar los datos del archivo CSV.) Aparece el editor de
agrupaciones de datos mostrando los datos contenidos en la clase de equivalencia de flowers.
Para obtener información detallada acerca dé cómo crear una agrupación de datos, consulte la sección
Crear una agrupación de datos.
En este procedimiento, utilice la API de agrupación de datos para sustituir valores de prueba codificados sin posibilidad de modificación
referencias a columnas de agrupación de datos.
Añadir bibliotecas necesarias para la API de agrupación de datos
La API de agrupación de datos necesita varias
bibliotecas de TPTP y EMF (Eclipse Modeling Framework.) En este procedimiento, se añaden las bibliotecas a la vía de
acceso de construcción Java.
- Abra la perspectiva Java. En el menú Archivo elija Ventana > Abrir perspectiva > Java.
- Abra las propiedades del proyecto datapoolExample. En la ventana Navegador o Explorador de paquetes, pulse con el
botón derecho la carpeta datapoolExample y elija Propiedades. Aparece el diálogo Propiedades de datapoolExample.
- Añadir tptp-models.jar a la vía de acceso de construcción Java.
-
En el panel izquierdo, seleccione Vía de acceso de construcción Java.
- En el panel de la derecha, seleccione la pestaña Bibliotecas y pulse Añadir variable..., aparece el
diálogo Entrada de vía de acceso de clases de variables nueva.
- Seleccione la variable ECLIPSE_HOME y pulse Extender... Aparece el diálogo Extensión de variable. Abra la
carpeta plugins > org.eclipse.tptp.platform.models_Versión y seleccione
tptp-models.jar, donde Versión es el número de versión de TPTP.
- Pulse Aceptar para añadir la biblioteca.
- Añadir org.eclipse.emf.common_Versión.jar a la vía de acceso de construcción de Java, donde Versión
es la versión de EMF.
-
En el diálogo Entrada de vía de acceso de clases de variables nueva, seleccione la variable ECLIPSE_HOME y pulse
Extender...
- Abra la carpeta plugins y seleccione org.eclipse.emf.common_Versión.jar, donde
Versión es la versión de EMF.
- Pulse Aceptar para añadir la biblioteca.
- Añadir org.eclipse.emf.ecore_Versión.jar a la vía de acceso de construcción de Java, donde
Versión es la versión de EMF.
- En el diálogo Entrada de vía de acceso de clases de variables nueva, seleccione la variable ECLIPSE_HOME y pulse
Extender...
- Abra la carpeta plugins y seleccione org.eclipse.emf.ecore_Versión.jar, donde Versión
es la versión de EMF.
- Pulse Aceptar para añadir la biblioteca.
- Añadir org.eclipse.core.runtime_Versión.jar a la vía de acceso de construcción Java, donde
Versión es la versión de la plataforma Eclipse.
- En el diálogo Entrada de vía de acceso de clases de variables nueva, seleccione la variable ECLIPSE_HOME y pulse
Extender...
- Abra la carpeta plugins y seleccione org.eclipse.core.runtime_Versión.jar, donde
Versión es la versión de la plataforma Eclipse.
- Pulse Aceptar para añadir la biblioteca.
- Pulse Aceptar para cerrar el diálogo Propiedades.
Utilizar la API de agrupación de datos
En este procedimiento se modifica la clase shoppingCartTest_src y el método
testShoppingCartConstructor para utilizar
shoppingCartDatapool.
- Si es necesario, abra la perspectiva Java. En el menú Archivo elija Ventana > Abrir perspectiva > Java.
- Abrir shoppingCartTest_src.java. En el Navegador, abra la carpeta del proyecto datapoolExample y efectúe una
doble pulsación sobre shoppingCartTest_src.java. El contenido de shoppingCartTest_src.java aparece en el editor Java.
- Añadir las sentencias de importación siguientes a la clase shoppingCartTest_src.
import org.eclipse.hyades.models.common.datapool.impl.*;
import org.eclipse.hyades.execution.runtime.datapool.*;
- Declarar una instancia de la clase IDatapoolIterator. Esta instancia de clase se inicializará en el código de
configuración utilizado en los métodos de prueba.
public class shoppingCartTest_src extends HyadesTestCase {
IDatapoolIterator dpIterator;
//...
- Modificar el método setUp para inicializar la agrupación de datos. En un entorno de prueba JUnit TPTP, el método
setUp proporciona un arreglo común. Puede utilizar setUp para inicializar variables de prueba comunes. Nota:
especifique la vía de acceso de espacio de trabajo totalmente calificada en el lugar de <workspace>, en el
constructor java.io.File.
protected void setUp() throws Exception {
// Inicializar la fábrica de agrupación de datos
IDatapoolFactory dpFactory = new Common_DatapoolFactoryImpl();
// Cargar la agrupación de datos shoppingCartDatapool
IDatapool datapool = dpFactory.load(
new java.io.File("<workspace>\\datapoolExample\\shoppingCartDatapool.datapool"),
false);
// Crear un iterador para atravesar la agrupación de datos
dpIterator = dpFactory.open(datapool,"org.eclipse.hyades.datapool.iterator.DatapoolIteratorSequentialPrivate");
// Inicializar la agrupación de datos para atravesar la primar clase de equivalencia.
dpIterator.dpInitialize(datapool,0);
}
Notas:
- El segundo parámetro del método de carga de IDatapoolFactory indica si se comparte la instancia de la agrupación
de datos. Si el valor es true, se comprueba la existencia de una copia de la agrupación de datos en la memoria caché de
la agrupación de datos. Si el valor es false, la agrupación de datos es una instancia privada. La modificación de una
instancia de agrupación de datos compartida solo puede afectar a otros usuarios y solo es recomendable para entornos
confinados.
- Si desea editar programáticamente una importación de agrupación de datos org.eclipse.hyades.edit.datapool.
- El segundo parámetro del método abierto IDatapoolFactory representa el tipo de iterador. Para las agrupaciones de
datos compartidas, utilice DatapoolIteratorSequentialPrivate.
- Modificar el método testShoppingCartConstructor para utilizar shoppingCartDatapool.
public void testShoppingCartConstructor()
throws Exception
{
MyShoppingCart cart = new MyShoppingCart();
// Atravesar la agrupación de datos...
// Probar si el constructor inicializa adecuadamente cada registro de flor
while(!dpIterator.dpDone())
{
String Description = dpIterator.dpCurrent().getCell("Description").getStringValue();
double datapoolPrice = dpIterator.dpCurrent().getCell("Price").getDoubleValue();
// Probar si la flor se contabiliza en la aplicación
Double applicationPrice;
assertNotNull(applicationPrice = (Double)cart.myFlowers.get(Description));
// Probar que el precio de la aplicación iguala el precio de la agrupación de datos
assertTrue(applicationPrice.doubleValue() == datapoolPrice);
dpIterator.dpNext();
}
}
- Guardar shoppingCartTest_src.java. En el menú Archivo, elija Archivo > Guardar.
- Añadir la agrupación de datos a testArtifact.
- Abra la perspectiva Prueba. En el Navegador de prueba, efectúe una doble pulsación sobre testDeployment para abrirlo en el editor.
- En la pestaña Pares, seleccione testAsset y pulse Abrir...
- En la pestaña Activos de prueba, pulse Añadir.... Seleccione las agrupaciones de datos y pulse
Aceptar. Guarde el activo.
- Ejecutar la prueba utilizando el despliegue personalizado.
- Abra la perspectiva Prueba. En el Navegador de prueba, pulse con el botón derecho la suite de pruebas shoppingCartTest_src y elija
Ejecutar como > Ejecutar.... Aparece el diálogo Ejecutar configuración.
- En el panel izquierdo de Ejecutar configuración, elija la suite de pruebas shoppingCartTest_src.
- En el panel derecho de Ejecutar configuración, seleccione el despliegue creado en la sección Antes de empezar.
- En la pestaña Anotaciones de prueba, quite la marca de la opción Utilizar valores predeterminados y
seleccione la carpeta del proyecto datapoolExample para la ubicación.
- Pulse Ejecutar para lanzar la prueba.
- Efectúe una doble pulsación sobre las anotaciones de prueba de shoppingCartTest_src nuevas que aparecen en el
Navegador de prueba. Aparecen las anotaciones de prueba de shoppingCartTest_src. Seleccione la pestaña Eventos para ver
los detalles de los resultados de la prueba.