Pruebas automatizadas de aplicaciones Web con Arquillian y Graphene
-
Upload
software-guru -
Category
Technology
-
view
707 -
download
4
description
Transcript of Pruebas automatizadas de aplicaciones Web con Arquillian y Graphene
Pruebas automatizadas de aplicaciones Web con Arquillian y Graphene
Johannes Schmidt
Objetivos de la sesión• Teoría– Ciclo de desarrollo– Tipos de pruebas– Que es Arquillian?• Tipos de pruebas en Arquillian
• Práctica– Proyecto para probar– Arquillian básico– Arquillian Extensiones– Pruebas de estréss
Teoría: ciclo de desarrollo
3
Teoría: tipos de pruebas
• pruebas unitarias• prueba de integrgación• pruebas funcionales• pruebas de acceptación
4
Teoría: cascadas de pruebas
5
Definición de requerimientos
Diseño grueso
Diseño fino
Implementación
Prueba de acceptación
Prueba del sistema
Prueba de integración
Prueba unitaria
Marco de la sesión
• enfoque en JEE, JBoss, JSF, Eclipse, Maven
• mejoras practicas con Arquillian, Selenium y Graphene
• No se muestra pruebas en un servidor de Continuous Integration
6
Arquillian
• Ejecuta pruebas en el contenedor EE definido (JBoss, Glassfish...)
• Organiza el despliegue al servidor con las dependencias de prueba -> ShrinkWrap
• Integra frameworks como JUnit/TestNG• Captura resultados y regresa al
controlador de pruebas de Arquillian
7
Práctica: el proyecto
• Clases de las tres capas clasicas (presentación, negocio, integración)– Así probamos: EJBs, JPA, Managed Beans
• Vista (Primefaces)– Listados (DataTable), SelectMenus...– Ajax y Javascripts– Navegación
• no contiene servicios web
8
Práctica: Arquillian
• Pruebas unitarias
9
Práctica: Arquillian
• Pruebas con Injecciones
10
Práctica: Arquillian
• Pruebas de negocio
11
Práctica: Arquillian
• Pruebas de persistencia
12
Práctica: Selenium
• Pruebas funcionales• Selenium y Maven• Selenium AddOn de Firefox• Grabar y ejecutar interacciones del
usuario
13
Práctica: Arquenium
• Como Arquillian usa Selenium• Extension con Drone
14
Práctica: Arquenium
• Como Arquillian usa Selenium• Extension con Drone
15
Práctica: Graphene
• DOM-Id• Javascript• Ajax• Interceptor
16
Práctica: Estréss
• Definir pruebas multiples• Empaquetar y deplegar archivos• correr proceso en un servidor de
pruebas
17