Automatización de pruebas de integración de aplicaciones Web con Rational Functional Tester 8.1

Ahorre tiempo y obtenga resultados más confiables

Probar aplicaciones Web manualmente es una tarea que suele presentar errores. La automatización de las pruebas libera al evaluador de introducir datos de prueba y genera resultados libres de errores. En este artículo se describe cómo usar IBM® Rational® Functional Tester Version 8.1 para automatizar pruebas de integración de aplicaciones Web.

Gustavo A. Toretti, IT Specialist, IBM

Photo of Gustavo A. TorettiGustavo es IBM Certified Solution Designer de IBM Rational Unified Process. Tiene más de 10 años de experiencia con diversas herramientas de IBM, como Rational Rose, Rational ClearCase, Rational ClearQuest, Rational Application Developer, Rational Software Architect y Rational Team Concert.



20-04-2010

Beneficios de la automatización de pruebas de integración

Durante las pruebas de integración que se hacen en el ciclo de vida de desarrollo de software, los componentes de software individuales se combinan y luego se prueban en su conjunto. En una aplicación Web Java™ Enterprise Edition (JEE), los componentes de software son, por lo general, páginas HTML o JavaServer™ Pages (JSP), bibliotecas Javascript, servlets, módulos Java, controladores de bases de datos, etc. La fase de pruebas de integración tiene lugar después de la fase de desarrollo, cuando se realizan las pruebas unitarias de los componentes de software individuales, y antes de las pruebas de aceptación del cliente.

La fase de pruebas de integración tiene por objeto garantizar que el software esté listo para la ejecución de pruebas beta con los usuarios finales. Probar aplicaciones Web manualmente es una tarea que suele presentar errores. La automatización de las pruebas elimina estos errores; además, como el proceso no requiere la introducción de datos de prueba, es más eficaz y más rápido.

Este artículo describe un sencillo procedimiento para ejecutar pruebas de integración automatizadas de aplicaciones Web usando IBM® Rational® Functional Tester Version 8.1.


Configuración de la aplicación Web que se probará

  1. Abra la perspectiva Functional Test (Prueba funcional) haciendo clic en Window (Ventana) > Open Perspective (Abrir perspectiva) > Other (Más).
  2. En la ventana Open Perspective, seleccione Functional Test y haga clic en OK.
Figura 1. Ventana Open Perspective
'Functional test (default)' selected.
  1. Luego, haga clic en el botón Configure Applications for Testing (Configurar aplicaciones para prueba)Configure Applications for Testing button.
  2. En la ventana Application Configuration Tool (Herramienta de configuración de aplicaciones) (figura 2), haga clic en Add (Agregar).
Figura 2. Ventana Application Configuration
configure application.
  1. En la ventana Add Application (Agregar aplicación) (figura 3), seleccione HTML Application (Aplicación HTML) y haga clic en Next (Siguiente).
Figura 3. Ventana Add Application
HTML Application radio button selected.
Figura 4. Ventana Add Application
'Specify the application URL' view.
  1. Seleccione el botón de radio URL y, en el campo correspondiente, escriba la URL de la aplicación Web que desea probar. Si usa Tomcat u otro servidor local para las pruebas, escriba el nombre del servidor y el número de puerto donde JSPandServletExample esté disponible. En este ejemplo, está en localhost:9080; por lo tanto, la URL sería:
    http://localhost:9080/JSPandServletExample/Form/FormIntro.html
  2. Haga clic en Finish (Finalizar).
  3. En la ventana Application Configuration Tool (Herramienta de configuración de aplicaciones) (figura 5), haga clic en Finish nuevamente.
Figura 5. Ventana Application Configuration Tool
Shows Name, Kind, URL and Browser field selections.

Creación de un script de prueba

Rational Functional Tester usa scripts para ejecutar casos de prueba. Estos scripts se crean grabando el comportamiento de los usuarios mientras usan la aplicación Web para seguir un caso de prueba específico. Una vez grabado el script, las funciones de Rational Functional Tester lo pueden reproducir tantas veces como fuera necesario sin la ayuda de un evaluador profesional.

Es posible configurar los scripts de Rational Functional Tester para que usen datos de orígenes externos, como, por ejemplo, diferentes archivos de Microsoft® Excel®. Esto resulta muy útil cuando la aplicación Web se ejecuta en diferentes entornos con diferentes bases de datos. Se puede definir un archivo de datos de prueba de Excel para cada entorno; en cada uno de ellos se ejecutará el mismo script.

Cada archivo de datos de prueba de Microsoft Excel llena un grupo de datos. Es posible asignar un grupo de datos a un script; este script usará los datos de prueba del archivo Excel del grupo de datos asignado.

Los siguientes pasos muestran cómo crear un script que esté preparado para usar datos de prueba de diferentes archivos de Excel.

Registro de un script

Es necesario que existan scripts y grupos de datos dentro de un proyecto.

  1. Cree un proyecto haciendo clic en File (Archivo) > New (Nuevo) > Functional Test Project (Proyecto de prueba funcional) (ver figura 6).
  2. Escriba un nombre y una ubicación (lugar donde se guardarán los archivos) para su proyecto y haga clic en Finish.
Figura 6. Ventana Create a Functional Test Project
Project name shows Project1
  1. Luego, haga clic en el botón rojo Record a Functional Test Script (Grabar un script de prueba funcional)Record a Functional Test Script buttonpara comenzar a grabar un script.
  2. En la pantalla Record a Functional Test Script (Grabar un script de prueba funcional) (figura 7), escriba el nombre del script y haga clic en Next.
Figura 7. Ventana Record a Functional Test Script
Script1 typed into the 'Script name' field
  1. En la ventana Select Script Assets (Seleccionar activos de script), haga clic en Finish (ver figura 8).
Figura 8. Propiedades del script
Select Script Assets window

La ventana de Rational Functional Tester se transformará en una vista minimizada y se podrá ver la ventana Recording (Grabación) que aparece en la figura 9.

Figura 9. Íconos de la ventana Recording
Recording window buttons
  1. Haga clic en el botón Start Application (Iniciar aplicación)Start Application button.
  2. En la ventana Start an Application (Iniciar aplicación) (figura 10), seleccione la aplicación JSPandServletExample y haga clic en OK.

Se abrirá el explorador —en este caso, Microsoft® Internet Explorer®, el seleccionado en la ventana Application Configuration Tool window (figura 5)— y se cargará la aplicación Web JSPandServletExample.

Figura 10. Ventana Start an Application
'Select an Application Name' from drop-down menu

Ejecución de la aplicación de muestra

Nota:
Las siguientes acciones simulan el comportamiento de un usuario cuando ejecuta un caso de prueba.

  1. En la ventana que dice "Form Sample" ("Muestra de formulario") (figura 11), haga clic en el vínculo Run this sample (Ejecutar esta muestra).
Figura 11. Ventana de la aplicación Web
Sample application start window
  1. En la página Simple Form Example (Ejemplo de formulario simple)(figura 12), escriba los valores iniciales en los campos de entrada (todavía no haga clic en el vínculo Submit (Enviar)).
Figura 12. Ventana de formulario de la aplicación Web
Simple Form Example page
  1. A continuación, en la ventana Recording, haga clic en el botón Insert Data-Driven Commands (Insertar comandos controlados por datos)Insert Data-Driven Commands button.
  2. En la ventana Insert Data-Driven Actions (Insertar acciones controladas por datos) (figura 13), haga clic en el botón de la manoHand button.que está a la izquierda de "Press and drag hand to select test objects" ("Presione y arrastre la mano para seleccionar objetos de prueba").
  3. Mueva el cursor hasta el campo de entrada del nombre (firstname) y suelte el botón del mouse.
Figura 13. Ventana Insert Data-Driven Actions
Choose test objects and actions

El campo de entrada del nombre aparecerá en la ventana Insert Data-Driven Actions con el valor inicial John.

Figura 14. Formulario de la aplicación Web rellenado
Simple Form Example window, updated
  1. Repita este procedimiento con todos los campos de entrada restantes de la página Simple Form Example.
Figura 15. Agregación de comandos controlados por datos
Shows setText command for firstname test object.

De esta forma, todos aparecerán en la ventana Insert Data-Driven Actions, como se puede ver en la figura 16.

Figura 16. Comandos controlados por datos agregados
Data-driven commands list.
  1. A continuación, haga clic en el botón OK.
  2. En la página Simple Form Example, haga clic en el vínculo Submit.

En la página Result Form (Formulario resultante)(figura 17), aparecerán los resultados esperados de este caso de prueba.

Figura 17. Página Result Form de la aplicación Web de muestra
All values filled in

Agregación de un punto de verificación

Luego, agregue un punto de verificación a esta página haciendo clic en el botón Insert Verification Point or Action Command (Comando Insertar punto de verificación o acción)Insert Verification Point or Action Command buttonde la ventana Recording(figura 9).

  1. En la ventana Verification Point and Action Wizard (Asistente para puntos de verificación y acciones) (figura 18), haga clic en el botón Object Finder (Buscador de objetos), el que contiene una mano con un dedo extendido.Object Finder button.
Figura 18. Ventana Verification Point and Action Wizard
'Select an Object' view
  1. Mueva el cursor hasta la página Result Form (figura 19) y suelte el botón del mouse.
Figura 19. Página Result Form de la aplicación Web actualizada
Sample application Result Form page

La siguiente vista del asistente es Select an Action (Seleccionar acción), como se puede ver en la figura 20.

  1. Seleccione Get a Specific Property Value (Obtener valor de propiedad específico) y haga clic en Next.
Figura 20. Ventana Select an Action
Shows selections described
  1. Seleccione una propiedad que confirme el resultado del caso de prueba (ver figura 21). En este caso, la páginatitle (título)confirma el éxito de la ejecución de este caso de prueba.
Figura 21. Ventana Insert getProperty Command
Property Name column shows .title highlighted
  1. Haga clic en Next.

La vista Variable Name (Nombre de variable) (figura 22) le solicitará "Name the variable that holds the property value" ("Nombrar la variable que contenga el valor de la propiedad"). El nombre de la variable del punto de verificación de este ejemplo es ResultForm_Title.

Figura 22. Vista Variable Name
Name the variable that holds the property value
  1. Haga clic en Finish.
  2. Una vez agregado el punto de verificación, es posible finalizar el script haciendo clic en el botón Stop Recording (Detener grabación)Stop Recording button.

Script1.java se generará automáticamente. El listado 1 muestra el código de origen de ese script.

Listado 1. Código del script Script1.java
import resources.Script1Helper;
import com.rational.test.ft.*; import com.rational.test.ft.object.interfaces.*;
import com.rational.test.ft.object.interfaces.SAP.*; import
com.rational.test.ft.object.interfaces.WPF.*; import
com.rational.test.ft.object.interfaces.dojo.*; import
com.rational.test.ft.object.interfaces.siebel.*; import
com.rational.test.ft.object.interfaces.flex.*; import
com.rational.test.ft.object.interfaces.generichtmlsubdomain.*; import
com.rational.test.ft.script.*; import com.rational.test.ft.value.*; import
com.rational.test.ft.vp.*; import
com.ibm.rational.test.ft.object.interfaces.sapwebportal.*; public class Script1
extends Script1Helper { public void testMain(Object[] args) {
startApp("http://localhost:9080/JSPandServletExample/Form/FormIntro.html");
link_runThisSample().click(); text_firstname().click(atPoint(119,13));
browser_htmlBrowser(document_simpleFormExample(),DEFAULT_FLAGS).inputChars("John");
text_lastname().click(atPoint(112,11));
browser_htmlBrowser(document_simpleFormExample(),DEFAULT_FLAGS).inputChars("Doe");
text_street().click(atPoint(108,9));
browser_htmlBrowser(document_simpleFormExample(),DEFAULT_FLAGS).inputChars("Tranq.");
text_city().click(atPoint(107,12));
browser_htmlBrowser(document_simpleFormExample(),DEFAULT_FLAGS).inputChars("Campnas");
text_state().click(atPoint(106,14));
browser_htmlBrowser(document_simpleFormExample(),DEFAULT_FLAGS).inputChars("SaoPaul");
text_zip().click(atPoint(102,11));
browser_htmlBrowser(document_simpleFormExample(),DEFAULT_FLAGS).inputChars("1308478");
text_phone().click(atPoint(105,8));
browser_htmlBrowser(document_simpleFormExample(),DEFAULT_FLAGS).inputChars("1234567");
text_email().click(atPoint(101,12));
browser_htmlBrowser(document_simpleFormExample(),DEFAULT_FLAGS).inputChars("d@t.com");
text_firstname().setText(dpString("firstname"));
text_lastname().setText(dpString("lastname"));
text_street().setText(dpString("street")); text_city().setText(dpString("city"));
text_state().setText(dpString("state")); text_zip().setText(dpString("zip"));
text_phone().setText(dpString("phone")); text_email().setText(dpString("email"));
link_submit().click(); String ResultForm_Title =
String)document_resultForm().getProperty(".title"); form_myForm().click(); }
}

Reproducción del script

  1. Seleccione Script1 en el panel izquierdo de la perspectiva Functional Test (Prueba funcional) y haga clic en el botón Run Functional Test ScriptRun Functional Test Script button.

Se abrirá una ventana de Microsoft® Internet Explorer®. Se cargará la aplicación Web JSPandServletExample y se seguirán de forma automática los mismos pasos grabados en Script1. Por último, como se puede ver en la figura 23, una ventana de registro mostrará los resultados.

Figura 23. Ventana de registro
Script log window.

Creación de un grupo de datos

Primero debe crear un grupo de datos y luego importarlo para su uso con el script.

  1. Abra un archivo de Microsoft Excel y escriba los siguientes datos en los campos pertinentes:
    • firstname (nombre): Fred
    • lastname (apellido): Flintstone
    • street (calle): Last Rock
    • city (ciudad): Pedrock
    • state/province (estado/provincia): Big River
    • zip (código postal): 11111-2222
    • phone (teléfono): 111-222-3333
    • email (correo electrónico): fred@testing.com
Figura 24. Extracto de archivo de Microsoft Excel
Excel file spreadsheet

Nota:
la primera fila del archivo se usa para especificar los nombres de variables obtenidos en la ventana Added Data-Driven Commands (figura 16).

  1. Guarde este archivo como pedrock.csv.
  2. A continuación, seleccione File (Archivo) > New (Nuevo) > Test Datapool (Probar grupo de datos) para llegar a la pantalla que aparece en la figura 25
Figura 25. Ventana Create a Test Datapool
Data pool name: TestDatapool1
  1. Haga clic en Next (Siguiente).
  2. En la vista Import Datapool (Importar grupo de datos) (figura 26), use el botón Browse (Explorar) para buscar e insertar el archivo pedrock.csv en el campo Import From (Importar formulario).
  3. Haga clic en la casilla de verificación First Record is Variable Information (Primer registro es información de variable) y luego haga clic en Finish.
Figura 26. Ventana Import Datapool
The Import Data pool window

Asociación del grupo de datos con el script

Ahora que el grupo de datos está establecido, asócielo con el script que lo usará.

  1. En la ventana Functional Test(figura 27), haga clic en la pestaña Function (Función), luego haga clic con el botón derecho en TestDatapool1 y, en el menú desplegable, haga clic en Associate with Script (Asociar con script).
Figura 27. Pestaña Function de la ventana Functional Test
Shows selections described
  1. En Project1, seleccione Script1 (figura 28) y haga clic en Finish.
Figura 28. Vista Associate the data pool with scripts
Script1 selected under Project1

Aparecerá un aviso que le indica que Script1-Private Test Datapool ya está asociado con un grupo de datos y le pregunta si desea cambiar el grupo de datos asociado con cada script.

  1. Haga clic en Yes (Sí) (figura 29).
Figura 29. Cuadro de diálogo de asociación de script y grupo de datos
Message with a question mark icon

Ahora, cuando reproduzca Script1, se usarán los datos de prueba del archivo pedrock.csv.

La figura 30 muestra la página Simple Form Example (Ejemplo de formulario simple), que se rellenará de manera automática con los datos de prueba obtenidos del archivo pedrock.csv.

Figura 30. Página Simple Form Example de la aplicación Web
Sample application form filled with test data from pedrock.csv file.

La figura 31 muestra el formulario resultante después de procesar los datos de pedrock.csv. La aplicación Web de muestra funcionó bien con diferentes datos. Cuanto más diferente sean los datos de prueba, más confiables serán las pruebas.

Figura 31. Vista Result Form de la aplicación Web
Result form with data processed from pedrock.csv file.

Conclusión

Rational Functional Tester 8.1 proporciona una sencilla manera de crear y ejecutar pruebas de integración automatizadas. Está basado en la plataforma Eclipse, un sólido IDE que se puede integrar con recursos de desarrollo de equipos tales como servidores CVS. Rational Functional Tester también ofrece la posibilidad de cambiar o personalizar los scripts de prueba generados usando las herramientas Java basadas en Eclipse para editar el código de origen Java del script.


Descargar

DescripciónNombretamaño
JSP and Servlet ExampleJSPandServletExample.zip729KB

Recursos

Aprender

Obtener los productos y tecnologías

Comentar

Comentarios

developerWorks: Ingrese

Los campos obligatorios están marcados con un asterisco (*).


¿Necesita un IBM ID?
¿Olvidó su IBM ID?


¿Olvidó su Password?
Cambie su Password

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


La primera vez que inicie sesión en developerWorks, se creará un perfil para usted. La información en su propio perfil (nombre, país/región y nombre de la empresa) se muestra al público y acompañará a cualquier contenido que publique, a menos que opte por la opción de ocultar el nombre de su empresa. Puede actualizar su cuenta de IBM en cualquier momento.

Toda la información enviada es segura.

Elija su nombre para mostrar



La primera vez que inicia sesión en developerWorks se crea un perfil para usted, teniendo que elegir un nombre para mostrar en el mismo. Este nombre acompañará el contenido que usted publique en developerWorks.

Por favor elija un nombre de 3 - 31 caracteres. Su nombre de usuario debe ser único en la comunidad developerWorks y debe ser distinto a su dirección de email por motivos de privacidad.

Los campos obligatorios están marcados con un asterisco (*).

(Por favor elija un nombre de 3 - 31 caracteres.)

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


Toda la información enviada es segura.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=Rational
ArticleID=484989
ArticleTitle=Automatización de pruebas de integración de aplicaciones Web con Rational Functional Tester 8.1
publish-date=04202010