tel./fax: +34 91 675 33 06 [email protected] - www ...€¦ · tel./fax: +34 91 675 33 06 ......

6
Avenida de Castilla,1 - Edificio Best Point - Oficina 21B 28830 San Fernando de Henares (Madrid) tel./fax: +34 91 675 33 06 [email protected] - www.autentia.com Somos su empresa de Soporte a Desarrollo Informático. Ese apoyo que siempre quiso tener... 1. Desarrollo de componentes y proyectos a medida Tecnología Desarrollo Sistemas Gran Empresa Producción autentia Certificación o Pruebas Verificación previa RFP Concurso Consultora 1 Consultora 2 Consultora 3 Equipo propio desarrollo Piloto 3a 3b 1. Definición de frameworks corporativos. 2. Transferencia de conocimiento de nuevas arquitecturas. 3. Soporte al arranque de proyectos. 4. Auditoría preventiva periódica de calidad. 5. Revisión previa a la certificación de proyectos. 6. Extensión de capacidad de equipos de calidad. 7. Identificación de problemas en producción. 3. Arranque de proyectos basados en nuevas tecnologías ¿Qué ofrece Autentia Real Business Solutions S.L? Para más información visítenos en: www.autentia.com Compartimos nuestro conociemiento en: www.adictosaltrabajo.com Gestor portales (Liferay) Gestor de contenidos (Alfresco) Aplicaciones híbridas Tareas programadas (Quartz) Gestor documental (Alfresco) Inversión de control (Spring) BPM (jBPM o Bonita) Generación de informes (JasperReport) ESB (Open ESB) Control de autenticación y acceso (Spring Security) UDDI Web Services Rest Services Social SSO SSO (Cas) Spring MVC, JSF-PrimeFaces /RichFaces, HTML5, CSS3, JavaScript-jQuery JPA-Hibernate, MyBatis Motor de búsqueda empresarial (Solr) ETL (Talend) Dirección de Proyectos Informáticos. Metodologías ágiles Patrones de diseño TDD 2. Auditoría de código y recomendaciones de mejora 4. Cursos de formación (impartidos por desarrolladores en activo)

Upload: others

Post on 18-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: tel./fax: +34 91 675 33 06 info@autentia.com - www ...€¦ · tel./fax: +34 91 675 33 06 ... Desarrollo y arquitectura Java/J2EE Asesoramiento tecnológico Web Formación / consultoría

Avenida de Castilla,1 - Edificio Best Point - Oficina 21B28830 San Fernando de Henares (Madrid)

tel./fax: +34 91 675 33 [email protected] - www.autentia.com

Somos su empresa de Soporte a Desarrollo Informático.Ese apoyo que siempre quiso tener...

1. Desarrollo de componentes y proyectos a medida

TecnologíaDesarrolloSistemas

Gran Empresa

Producción

autentia

Certificacióno Pruebas

Verificación previa

RFP Concurso

Consultora 1

Consultora 2

Consultora 3

Equipo propio desarrolloPiloto

3a

3b

1. Definición de frameworks corporativos.2. Transferencia de conocimiento de nuevas arquitecturas.3. Soporte al arranque de proyectos.4. Auditoría preventiva periódica de calidad.5. Revisión previa a la certificación de proyectos.6. Extensión de capacidad de equipos de calidad.7. Identificación de problemas en producción.

3. Arranque de proyectos basados en nuevas tecnologías

¿Qué ofrece Autentia Real Business Solutions S.L?

Para más información visítenos en: www.autentia.com

Compartimos nuestro conociemiento en: www.adictosaltrabajo.com

Gestor portales (Liferay)Gestor de contenidos (Alfresco)Aplicaciones híbridas

Tareas programadas (Quartz)Gestor documental (Alfresco)Inversión de control (Spring)

BPM (jBPM o Bonita)Generación de informes (JasperReport)ESB (Open ESB)

Control de autenticación y acceso (Spring Security)UDDIWeb ServicesRest ServicesSocial SSOSSO (Cas)

Spring MVC, JSF-PrimeFaces /RichFaces, HTML5, CSS3, JavaScript-jQuery

JPA-Hibernate, MyBatisMotor de búsqueda empresarial (Solr)ETL (Talend)

Dirección de Proyectos Informáticos.Metodologías ágilesPatrones de diseñoTDD

2. Auditoría de código y recomendaciones de mejora

4. Cursos de formación (impartidos por desarrolladores en activo)

Page 2: tel./fax: +34 91 675 33 06 info@autentia.com - www ...€¦ · tel./fax: +34 91 675 33 06 ... Desarrollo y arquitectura Java/J2EE Asesoramiento tecnológico Web Formación / consultoría

Home | Quienes Somos | Empleo | Foros | Tutoriales | Servicios Gratuitos | Contacte

Descargar este documento en formato PDF jwebunit.pdf

Test Automáticos Web con JWebUnit

Supongo que todos habréis sufrido la sensación de frustración que se produce cuando realizamos una entrega a nuestros usuarios de negocio y al realizar 4 "Clicks" nos encuentra un error trivial o lo que es peor, un error que se había resuelto en la entrega anterior.... y se desacredita totalmente nuestro esfuerzo. Esto normalmente se produce por poca calidad y metodología (achacable a toda la organización y no solo a los departamentos técnicos) a la hora de realizar desarrollos informáticos.

Cuando construimos aplicativos complejos, hacer un cambio de versión implica la realización de unas pruebas importantes de regresión para asegurarnos de que lo que funcionaba seguía funcionando (aparte de lo nuevo construido, claro está) y que tenemos capacidad de asegurarlo de un modo inequívoco. Además es vital que podemos realizar la prueba de un modo finito, completo y sistemático (acotado en el tiempo y sin dejarnos pruebas).

Si leéis sobre metodologías rápidas de desarrollo (tipo programación extrema) comprobareis que uno de los principios básicos consiste en definir la prueba unitaria (ver tutorial de JUnit) antes que el programa en sí; Aparte de desacoplar la lógica de negocio de la de presentación sin darnos cuenta, podemos probar en segundos que cuando transferimos versiones entre entornos:

� No nos hemos olvidado fuentes o paquetes de clases de las que dependemos. � No nos hemos olvidado de parámetros específicos del entorno � Hemos cargado la base de datos (y estamos apuntando a la adecuada) � Que cada vez más funcionalidades proporcionan las respuesta autónoma adecuada � Que el mapping entre sistemas (front-end / back-end) es estable � Y un largo etcetera.

Esto puede proporcionar un valor parcial ya que, en muchas ocasiones, lo que nos interesa probar son conjuntos de transacciones desde el punto de vista de usuario final y eso no se puede resolver con las pruebas unitarias comentadas anteriormente (nos falta el contexto Web que puede ser la propia causa de los problemas)

Necesitamos realizar pruebas simulando en comportamiento del usuario final es decir, pruebas de caja negra (no nos importan los detalles internos sino que queremos analizar únicamente los resultados del uso del sistema).

Hoy vamos a ver una opción gratuita llamada jWebUnit, que creo que os va a gustar. Se basa en JUnit o otros paquetes gratuitos y, sin apenas trabajo, podemos crear nuestros primeros test.

Descarga e Instalación

Podemos ir a la home del proyectos http://jwebunit.sourceforge.net/ y acceder al binario.

Tutorial desarrollado por:

Roberto Canales Mora 2003-2005 Creador de AdictosAlTrabajo.com y

Director General de Autentia S.L.

Recuerda que me puedes contratar para echarte una mano:

Desarrollo y arquitectura Java/J2EE Asesoramiento tecnológico Web

Formación / consultoría integrados en tu proyecto

No te cortes y contacta: 655 99 11 [email protected].

XML to PDF in Java & J2EE Output PDF, PCL5, HTML in Java J2EE Websphere, Weblogic, Tomcat, Jetty. www.scriptura-xsl.com

Master Java J2ee Oracle Prácticas laborales 100% aseguradas Nuevo temario de Struts. Trabaja ya www.grupoatrium.com

Load Testing Tools J2EE Test, No Code, Point & Click Live Graphs, SNMP, JDBC, Websites www.itko.com/lisa

Anuncios Goooooogle Anunciarse en este sitio

Página 1 de 5Tutoriales en AdictosAlTrabajo: Java, J2EE, Visual C++, Linux, UML, OOP y mucho más

03/01/2006http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=jwebunit

Page 3: tel./fax: +34 91 675 33 06 info@autentia.com - www ...€¦ · tel./fax: +34 91 675 33 06 ... Desarrollo y arquitectura Java/J2EE Asesoramiento tecnológico Web Formación / consultoría

Ocupa algo más de 2MBytes. Yo me he bajado la versión 1.2

La instalación es tan sencilla como descomprimirlo en un directorio.

Creación de un ejemplo

Es importante tener en cuenta las dependencias que tiene este proyecto a otros, fundamentalmente a la hora de compilar y ejecutar nuestros casos de prueba.

Nosotros vamos a usar NetBeans 3.6 para compilar y ejecutar nuestros ejemplos. Creamos un nuevo proyectos

No se os olvide montar (con el botón derecho sobre el proyecto creado) los ficheros jar necesarios. Los del producto:

Página 2 de 5Tutoriales en AdictosAlTrabajo: Java, J2EE, Visual C++, Linux, UML, OOP y mucho más

03/01/2006http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=jwebunit

Page 4: tel./fax: +34 91 675 33 06 info@autentia.com - www ...€¦ · tel./fax: +34 91 675 33 06 ... Desarrollo y arquitectura Java/J2EE Asesoramiento tecnológico Web Formación / consultoría

Y los de los paquetes dependientes (colgando de lib)

Ahora creamos nuestro caso de prueba base (por el mecanismo de herencia)

Y ejecutamos (también vale con Ctrl + Alt + L).

Podéis ver que se nos aparece una ventana con el resultado de la prueba.... Ha ido bien

import net.sourceforge.jwebunit.*; public class testbasico extends WebTestCase { public testbasico(String name) { super(name); } public void setUp() { getTestContext().setBaseUrl("http://www.adictosaltrabajo.com"); } public void testHomeAdictos() { beginAt("/"); this.assertTextPresent("El arquitecto J2EE"); this.dumpResponse(System.out); } }

Página 3 de 5Tutoriales en AdictosAlTrabajo: Java, J2EE, Visual C++, Linux, UML, OOP y mucho más

03/01/2006http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=jwebunit

Page 5: tel./fax: +34 91 675 33 06 info@autentia.com - www ...€¦ · tel./fax: +34 91 675 33 06 ... Desarrollo y arquitectura Java/J2EE Asesoramiento tecnológico Web Formación / consultoría

Fuera del entorno, solo tenéis que tener precaución con el classpath de los jar.

Uso de autentificación básica

Podemos, de un modo trivial, también probar páginas protegidas por autentificación básica.

Este es un ejemplo del ultimo script que he creado para mandaros las notificaciones de nuevos tutoriales..... (el sistema se justifica por la existencia de filtros anti-span que cada día me hacen más difícil mandar correos ...... (por eso, si no os llegan algunas veces, que sepáis que no es culpa mía)).

Conclusiones

Tenemos que ser consciente de que el esfuerzo (y por lo tanto coste) mayor de un sistema está en su mantenimiento. Las pruebas de regresión implican un coste impresionante (en tiempo y recursos) que está perdido si no tenemos capacidad de reutilizarlo. Si no las realizamos, el coste a la larga es mayor (retrasos, perdida de imagen, repetición de entregas, cambios de planificación, periodos de crisis, etc.. ).

Existen muchas opciones para realizar estas pruebas de un modo automatizado. Hay multitud de productos comerciales de distinto espectro (como eTest de Empirix que os mostramos en un tutorial) y han prosperado también muchas librerías que, de un modo relativamente sencillo, podemos utilizar para realizar estos procesos.

La gracia del tema está en:

� Tener buen criterio para saber cuando usar unas técnicas u otras (que no es cosa fácil). � Introducir las técnicas y herramientas de un modo no agresivo en la dinámica diaria de trabajo. � No olvidar la disciplina y calidad en los momentos de crisis (ser maduros a la hora de desarrollar software).

Si no tenéis metodología de trabajo, tal vez me podáis contratar para que os ayude (en Madrid) a crearla o consolidarla de un modo gradual (como ya he echo para importantes empresas a través de cursos de formación).

Sobre el Autor ..

import net.sourceforge.jwebunit.*; public class testbasico extends WebTestCase { public testbasico(String name) { super(name); } public void setUp() { getTestContext().setBaseUrl("http://www.adictosaltrabajo.com"); } public void testEnviarNotificaciones() { getTestContext().setAuthorization("adictos","zonaprivada123"); beginAt("/mensajes"); this.clickLinkWithText("Enviar novedades a usuario"); this.dumpResponse(System.out); } }

Página 4 de 5Tutoriales en AdictosAlTrabajo: Java, J2EE, Visual C++, Linux, UML, OOP y mucho más

03/01/2006http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=jwebunit

Page 6: tel./fax: +34 91 675 33 06 info@autentia.com - www ...€¦ · tel./fax: +34 91 675 33 06 ... Desarrollo y arquitectura Java/J2EE Asesoramiento tecnológico Web Formación / consultoría

Patrocinados por enredados.com .... Hosting en Castellano con soporte Java/J2EE

Si desea contratar formación, consultoria o desarrollo de piezas a medida puede contactar con

Autentia S.L. Somos expertos en: J2EE, C++, OOP, UML, Vignette, Creatividad ..

y muchas otras cosas

Otros Tutoriales Recomendados (También ver todos)

Nuevo servicio de notificaciones

Si deseas que te enviemos un correo electrónico cuando introduzcamos nuevos tutoriales, inserta tu dirección de correo en el siguiente formulario.

Subscribirse a Novedades

e-mail

Nombre Corto Descripción

Uso de JNDI, includes y cookies en Servlets

En este tutorial veremos como usar variables de entorno desde JNDI, incluir un servlet en otro (include) y como usar cookies en Servlets

Soporte de Asserts en Java 1.4.x Os mostramos como utilizar los asserts en Java (disponibles a partir de la versión 1.4)

Test con JUnit Cuando se hacen desarrollo profesionales, no basta con hacer los programas, hay que asegurarse de que van a funcionar. Una de las técnicas más seguras es crear aplicaciones que incluyan el código para autoprobarse. Os mostramos como usar JUnit

Novedades en Java 1.5 Ya está disponible la versión Beta del J2SDK 1.5. Os mostramos algunas de las nuevas características introducidas en el lenguaje Java: Clases genéricas, enumeraciones, bucles simplificados, etc.

Generación automática de código JDBC

En este tutorial os enseñamos como, sin conocimiento de JDBC, crear vuestro programas en Java, gracias a JDBCTest.

Detección de errores Java con FindBugs

Os mostramos como instalar y utilizar FindBugs, una excelente herramienta para analizar, de un modo estático, posibles problemas en vuestro código Java

Rendimiento de aplicaciones Web En este tutorial veremos una introducción al funcionamiento de la Suite e-Test de Empirix.

Patrones de diseño J2EE Os mostramos una interpretación particular de los patrones de diseño J2EE

Añadir Scripting a programas Java Os mostramos como añadir a vuestras aplicaciones soporte de Scripting, gracias a BeansShell. Esto nos permite ejecutar Java generado dinámicamente.

Escritura log con Fichero UDP y JMS Os mostramos ejemplos para cuantificar el coste de escritura de Logs por pantalla, fichero, UDP y JMS (describiendo como configurar el entorno)

Nota: Los tutoriales mostrados en este Web tienen como objetivo la difusión del conocimiento. Los contenidos y comentarios de los tutoriales son responsabilidad de sus respectivos autores. En algún caso se puede hacer referencia a marcas o nombres cuya propiedad y derechos es de sus respectivos dueños. Si algún afectado desea que incorporemos alguna reseña específica, no tiene más que solicitarlo. Si alguien encuentra algún problema con la información publicada en este Web, rogamos que informe al administrador [email protected] para su resolución.

www.AdictosAlTrabajo.com Opimizado 800X600

Página 5 de 5Tutoriales en AdictosAlTrabajo: Java, J2EE, Visual C++, Linux, UML, OOP y mucho más

03/01/2006http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=jwebunit