28
Automatización y Gestión de las Pruebas Funcionales usando Herramientas Open Source Ignacio Esmite, Mauricio Farías , Nicolás Farías, Beatriz Pérez Centro de Ensayos de Software

Automatización y Gestión de las Pruebas Funcionales usando Herramientas Open Source Ignacio Esmite, Mauricio Farías, Nicolás Farías, Beatriz Pérez Centro

Embed Size (px)

Citation preview

Page 1: Automatización y Gestión de las Pruebas Funcionales usando Herramientas Open Source Ignacio Esmite, Mauricio Farías, Nicolás Farías, Beatriz Pérez Centro

Automatización y Gestión de las Pruebas Funcionales

usando Herramientas Open Source

Ignacio Esmite, Mauricio Farías, Nicolás Farías, Beatriz Pérez

Centro de Ensayos de Software

Page 2: Automatización y Gestión de las Pruebas Funcionales usando Herramientas Open Source Ignacio Esmite, Mauricio Farías, Nicolás Farías, Beatriz Pérez Centro

XIII Congreso Argentino de Ciencias de la Computación – CACIC 2007

Agenda

Contexto Herramientas Demostración Selenium Core Metodología propuesta Experiencia Futuro

Page 3: Automatización y Gestión de las Pruebas Funcionales usando Herramientas Open Source Ignacio Esmite, Mauricio Farías, Nicolás Farías, Beatriz Pérez Centro

XIII Congreso Argentino de Ciencias de la Computación – CACIC 2007

Centro de Ensayos de Software

Consorcio entre:• Cámara Uruguaya de Tecnologías de la Información

(CUTI)• Universidad de la República de Uruguay

Servicios• Prueba independiente

Testing funcionalEnsayos de plataforma

• Capacitación en testing• Consultoría en testing

Page 4: Automatización y Gestión de las Pruebas Funcionales usando Herramientas Open Source Ignacio Esmite, Mauricio Farías, Nicolás Farías, Beatriz Pérez Centro

XIII Congreso Argentino de Ciencias de la Computación – CACIC 2007

Contexto

Empresas• Productos de software en

continuo mantenimiento y mejora

• Exigencias de calidad crecientes

Necesidades• Reducir costos y tiempos en

las pruebas de regresión• Conjunto de pruebas de

humo automatizadas• Probar sobre diferentes

plataformas

Page 5: Automatización y Gestión de las Pruebas Funcionales usando Herramientas Open Source Ignacio Esmite, Mauricio Farías, Nicolás Farías, Beatriz Pérez Centro

XIII Congreso Argentino de Ciencias de la Computación – CACIC 2007

Contexto

Interés• Automatizar las pruebas

funcionales

Herramientas de automatización Open Source• Sin costo de licencia• Posibilidad de extensión

Page 6: Automatización y Gestión de las Pruebas Funcionales usando Herramientas Open Source Ignacio Esmite, Mauricio Farías, Nicolás Farías, Beatriz Pérez Centro

XIII Congreso Argentino de Ciencias de la Computación – CACIC 2007

Terminología

Script de prueba• Programa que automatiza

la ejecución de una prueba

Suite de prueba• Conjunto de scripts de

prueba

Page 7: Automatización y Gestión de las Pruebas Funcionales usando Herramientas Open Source Ignacio Esmite, Mauricio Farías, Nicolás Farías, Beatriz Pérez Centro

XIII Congreso Argentino de Ciencias de la Computación – CACIC 2007

Selenium Herramienta para la

automatización de pruebas funcionales para aplicaciones web

Permite• Crear pruebas de regresión• Probar la aplicación con diferentes

navegadores y sobre diferentes plataformas

Proyecto open source. Comunidad OpenQA

Page 8: Automatización y Gestión de las Pruebas Funcionales usando Herramientas Open Source Ignacio Esmite, Mauricio Farías, Nicolás Farías, Beatriz Pérez Centro

XIII Congreso Argentino de Ciencias de la Computación – CACIC 2007

Selenium Compuesta por

• Selenium CoreEjecución de pruebas

automatizadas

• Selenium IDECreación y mantenimiento de

pruebas automatizadas

• Selenium Remote ControlCreación de pruebas escritas en

lenguajes de programación como Java o C#

Page 9: Automatización y Gestión de las Pruebas Funcionales usando Herramientas Open Source Ignacio Esmite, Mauricio Farías, Nicolás Farías, Beatriz Pérez Centro

XIII Congreso Argentino de Ciencias de la Computación – CACIC 2007

Otras herramientas Entorno de desarrollo Eclipse

• Manejar cómodamente suites, scripts, documentación técnica y de gestión

• Editor de HTML y XML• Cliente CVS sencillo

Mozilla Firefox – Extensiones• Firebug• XPath Checker• XPather

Page 10: Automatización y Gestión de las Pruebas Funcionales usando Herramientas Open Source Ignacio Esmite, Mauricio Farías, Nicolás Farías, Beatriz Pérez Centro

XIII Congreso Argentino de Ciencias de la Computación – CACIC 2007

Demo Selenium Core

DMS 1.0 – Document Management System Ejecución de la suite

• Login Administrator• Create User• Logout• Login User• Logout• Login Administrator• Delete User• Logout

Page 11: Automatización y Gestión de las Pruebas Funcionales usando Herramientas Open Source Ignacio Esmite, Mauricio Farías, Nicolás Farías, Beatriz Pérez Centro

XIII Congreso Argentino de Ciencias de la Computación – CACIC 2007

¡ Magia !

Page 12: Automatización y Gestión de las Pruebas Funcionales usando Herramientas Open Source Ignacio Esmite, Mauricio Farías, Nicolás Farías, Beatriz Pérez Centro

XIII Congreso Argentino de Ciencias de la Computación – CACIC 2007

¿ Magia ?

Page 13: Automatización y Gestión de las Pruebas Funcionales usando Herramientas Open Source Ignacio Esmite, Mauricio Farías, Nicolás Farías, Beatriz Pérez Centro

XIII Congreso Argentino de Ciencias de la Computación – CACIC 2007

ProTest – Proceso pruebas funcionales

PlanificaciónPlanificaciónDiseño de las PruebasDiseño de las Pruebas

Configuración Configuración Evaluación y Cierre

Evaluación y Cierre

Plan de Pruebas

Actividades

Casos de Prueba

Artefactos

Inventario de Prueba

Informe Final de Pruebas

EjecuciónEjecución

Reporte de Prueba

Ciclo de Prueba

Seguimiento y Control Seguimiento y Control

Page 14: Automatización y Gestión de las Pruebas Funcionales usando Herramientas Open Source Ignacio Esmite, Mauricio Farías, Nicolás Farías, Beatriz Pérez Centro

XIII Congreso Argentino de Ciencias de la Computación – CACIC 2007

Metodología propuesta

Necesidad de extender el proceso

Nuevas actividades de automatización• Surgen del trabajo

realizado• Se fueron ajustando con

la experiencia

Page 15: Automatización y Gestión de las Pruebas Funcionales usando Herramientas Open Source Ignacio Esmite, Mauricio Farías, Nicolás Farías, Beatriz Pérez Centro

XIII Congreso Argentino de Ciencias de la Computación – CACIC 2007

Definición

Refinamiento

Configuración

[ Necesita configuración ]

Generación

[ No necesita configuración ]

Ejecución

Validación

Investigación

Organización

Page 16: Automatización y Gestión de las Pruebas Funcionales usando Herramientas Open Source Ignacio Esmite, Mauricio Farías, Nicolás Farías, Beatriz Pérez Centro

XIII Congreso Argentino de Ciencias de la Computación – CACIC 2007

Experiencia

Varios proyectos• Se aplica la metodología

Objetivo de proyecto particular• Automatizar pruebas funcionales• Para ejercitar caminos y ciclos

funcionales típicos• Para probar cada build creado• Para probar liberaciones con

Diferentes plataformas de desarrolloDiferentes DBMS Diferentes navegadores

Page 17: Automatización y Gestión de las Pruebas Funcionales usando Herramientas Open Source Ignacio Esmite, Mauricio Farías, Nicolás Farías, Beatriz Pérez Centro

XIII Congreso Argentino de Ciencias de la Computación – CACIC 2007

Datos del proyecto

Recursos humanos• Líder del proyecto• 3 automatizadores

Etapas• Primera etapa

2 meses

• Segunda etapa3 meses

Page 18: Automatización y Gestión de las Pruebas Funcionales usando Herramientas Open Source Ignacio Esmite, Mauricio Farías, Nicolás Farías, Beatriz Pérez Centro

XIII Congreso Argentino de Ciencias de la Computación – CACIC 2007

Page 19: Automatización y Gestión de las Pruebas Funcionales usando Herramientas Open Source Ignacio Esmite, Mauricio Farías, Nicolás Farías, Beatriz Pérez Centro

XIII Congreso Argentino de Ciencias de la Computación – CACIC 2007

Resumen de la experiencia

Factibilidad de proyectos de automatización de pruebas funcionales utilizando herramientas open source

Selenium• simple• potente• flexible• lenguaje

fácil de usar fácil de aprender

• no brinda un entorno para gestionar las pruebas

Page 20: Automatización y Gestión de las Pruebas Funcionales usando Herramientas Open Source Ignacio Esmite, Mauricio Farías, Nicolás Farías, Beatriz Pérez Centro

XIII Congreso Argentino de Ciencias de la Computación – CACIC 2007

Futuro

Page 21: Automatización y Gestión de las Pruebas Funcionales usando Herramientas Open Source Ignacio Esmite, Mauricio Farías, Nicolás Farías, Beatriz Pérez Centro

XIII Congreso Argentino de Ciencias de la Computación – CACIC 2007

FitNesse

Herramienta para la mejora de• Comunicación• Colaboración

Documentar• el sistema debe hacer• compararlo con lo que el sistema

hace Pueden participar

• Usuarios, programadores y testers• desde el inicio del desarrollo del

sistema Implementación como wiki

Page 22: Automatización y Gestión de las Pruebas Funcionales usando Herramientas Open Source Ignacio Esmite, Mauricio Farías, Nicolás Farías, Beatriz Pérez Centro

XIII Congreso Argentino de Ciencias de la Computación – CACIC 2007

FitNesse

Page 23: Automatización y Gestión de las Pruebas Funcionales usando Herramientas Open Source Ignacio Esmite, Mauricio Farías, Nicolás Farías, Beatriz Pérez Centro

XIII Congreso Argentino de Ciencias de la Computación – CACIC 2007

FitNesse

Page 24: Automatización y Gestión de las Pruebas Funcionales usando Herramientas Open Source Ignacio Esmite, Mauricio Farías, Nicolás Farías, Beatriz Pérez Centro

XIII Congreso Argentino de Ciencias de la Computación – CACIC 2007

FitNesse

Page 25: Automatización y Gestión de las Pruebas Funcionales usando Herramientas Open Source Ignacio Esmite, Mauricio Farías, Nicolás Farías, Beatriz Pérez Centro

XIII Congreso Argentino de Ciencias de la Computación – CACIC 2007

Futuro Selenium Remote Control

• Implementar suites y scripts más complejos

• Conocer más a fondofortalezasdebilidades

FitNesse• Ayudar a la gestión de scripts• Mejorar la comunicación y

colaboración en el equipo de proyectoProyecto de automatizaciónProyecto de desarrollo de la aplicación

Page 26: Automatización y Gestión de las Pruebas Funcionales usando Herramientas Open Source Ignacio Esmite, Mauricio Farías, Nicolás Farías, Beatriz Pérez Centro

XIII Congreso Argentino de Ciencias de la Computación – CACIC 2007

Futuro

FitNesse como interfaz de Selenium Remote Control• Crear un lenguaje sencillo para

escribir pruebas automatizadas• Comandos de Selenium como

base • Agregar comandos que

permitanvarias acciones a la veznuevas funcionalidades

Page 27: Automatización y Gestión de las Pruebas Funcionales usando Herramientas Open Source Ignacio Esmite, Mauricio Farías, Nicolás Farías, Beatriz Pérez Centro

XIII Congreso Argentino de Ciencias de la Computación – CACIC 2007

Futuro

Metodología de trabajo• Diseñador escribe pruebas

en lenguaje simple y abstracto usando estrategias de diseño

• Automatizador implementa el lenguaje encapsulando problemas técnicos

Page 28: Automatización y Gestión de las Pruebas Funcionales usando Herramientas Open Source Ignacio Esmite, Mauricio Farías, Nicolás Farías, Beatriz Pérez Centro

Gracias,¿Preguntas?

Mauricio Farí[email protected]

Centro de Ensayos de Softwarewww.ces.com.uy [email protected]