Se celebran 2 Seminarios Especificos sobre Pruebas dentro de las
jornadas SOLO PRUEBAS 2006
DIAS 19 Y 20 : DISEÑO Y PLANIFICACIÓN DE PRUEBAS. (16 horas)
DIA 21 : GENERACIÓN DE PRUEBAS DEL SISTEMA A PARTIR DE CASOS DE USO. (8
horas)
Las jornadas SOLO PRUEBAS 2006 están centradas en la presentación de
experiencias sobre validación y verificación del software en las
organizaciones españolas, donde el modelo de “test factory” jugará un
papel especial.
El evento es el punto de encuentro de los profesionales que han llevado
a cabo implantaciones de metodologías de validación y verificación
exitosas, apoyándose en modelos reconocidos.
A continuacion se describe el programa de cada seminario.
Un saludo,
Toñi Ramirez.
Caelum.
DIAS 19 Y 20 : DISEÑO Y PLANIFICACIÓN DE PRUEBAS. (16 horas)
Descripción General:
Una de las mayores preocupaciones de las organizaciones que desarrollan
software, es el nivel de calidad de los productos desarrollados. Los
procesos de Ingeniería del Software usados para este efecto, se
entremezclan con procesos de ingeniería de requisitos, análisis
funcional, gestión de las peticiones, gestión de la configuración del
software, análisis, diseño y ejecución de pruebas, etc…, de forma que
cada una de las actividades que se realizan tengan un nivel de calidad
mínimo y tangible.
Contenidos del seminario:
1. Introducción: Marco actual de las pruebas de software.
2. El proceso de pruebas de software y la metodología de desarrollo.
• El desarrollo de proyectos y el ciclo de desarrollo de pruebas.
• Captación de Requisitos: El inicio del proceso de pruebas y la
relación con el cliente.
• Análisis funcional: Qué y cómo validar el sistema de forma global.
• Diseño técnico: Estrategias de integración de los módulos de software.
• Construcción: ¿Por qué no empezar diseñando las pruebas unitarias?
3. Roles en el proceso de las pruebas de software.
• El equipo de pruebas: Aspectos organizativos.
• Consultor de pruebas: Todo empieza por una buena estrategia.
• Ingeniero de pruebas: Progresos directos y seguros.
4. Pruebas Unitarias
• Qué son
• Cómo diseñarlas
• Cómo ejecutarlas
• Cómo verificarlas
• Software y plataformas
5. Pruebas de integración
• Qué son
• Cómo diseñarlas
• Cómo ejecutarlas
• Cómo verificarlas
• Software y plataformas
6. Pruebas de sistemas
• Qué son
• Cómo diseñarlas
• Cómo ejecutarlas
• Cómo verificarlas
• Software y plataformas
7. Pruebas de aceptación
• Qué son
• Cómo diseñarlas
• Cómo ejecutarlas
• Cómo verificarlas
• Software y plataformas
8. Casos Reales.
• Pruebas de aceptación.
• Pruebas de estabilidad.
9. Productos y Herramientas de pruebas de Software.
• Productos comerciales.
• Productos de código abierto.
DIA 21 : GENERACIÓN DE PRUEBAS DEL SISTEMA A PARTIR DE CASOS DE USO. (8
horas)
Descripción:
Actualmente, los casos de uso tienen una gran aceptación en el
desarrollo de sistemas software. Su sencillez, adaptabilidad y facilidad
de compresión han contribuido a esta aceptación. Los casos de uso, según
su definición formal, expresan las acciones que actores externos
realizan con el sistema para conseguir sus objetivos. En otras palabras,
un caso de uso describe qué operaciones debe implementar el sistema y
cómo se deben realizar dichas operaciones desde el punto de vista de sus
futuros usuarios.
Para el éxito de un sistema software es imprescindible garantizar que
los casos de uso estén correctamente implementados. Por este motivo, es
muy habitual en la industria del software desarrollar pruebas del
sistema a partir de los casos de uso. Estas pruebas verifican que se ha
implementado todo el caso de uso correctamente.
En el seminario se mostrará cómo deben definirse los casos de uso para
generar pruebas de manera automática, qué otros tipos de requisitos son
necesarios, cómo están definidas las pruebas obtenidas, los trabajos más
relevantes en este campo, algunos casos prácticos sobre aplicaciones de
escritorio y aplicaciones web y qué herramientas, sobre todo de software
libre, se pueden utilizar para generar e implementar estas pruebas.
Indice:
1) Una introducción a los casos de uso y las pruebas del sistema.
2) Estado del arte en la generación de pruebas.
3) Un proceso para generar pruebas a partir de los requisitos.
3.1) Un modelo de requisitos.
3.2) Cómo obtener pruebas de los requisitos.
4) Herramientas (*)
4.1) Herramientas para pruebas de aplicaciones de escritorio.
4.2) Herramientas para pruebas de aplicaciones web.
5) Dos casos prácticos.
5.1) Caso práctico aplicación de escritorio.
5.2) Caso práctico aplicación web.
6) Conclusiones y futuros trabajos.
(*)- Todas las herramientas mencionadas en este punto son libres y de
descarga gratuita.
Contenidos del seminario:
En el punto 1 definiremos las fases de un proceso de prueba y veremos en
detalle la fase de pruebas del sistema, indicando cuáles son sus
objetivos y técnicas. También explicaremos los conceptos clave de los
casos de uso, cómo definirlos utilizando plantillas y lenguaje natural,
qué otros tipos de requisitos podemos definir y cómo nos ayudarán en la
generación de pruebas.
En el punto 2 resumiremos brevemente los trabajos más relevantes sobre
cómo generar pruebas a partir de los casos de uso, exponemos las ideas
más importantes y comentaremos cuáles aspectos de la generación de
pruebas están solucionados y cuáles no.
A continuación, en el punto 3 expondremos las ideas principales de
nuestra propuesta para obtener pruebas ejecutables a partir de los casos
de uso. Para ello, explicaremos en primer lugar qué tipos de requisitos
serán necesarios y cómo definirlos. Después, describiremos de manera
práctica cómo utilizarlos para generar pruebas.
En el punto 4 mostraremos algunas herramientas (tales como Abbot,
Marathon, JWebUnit o Canoo WebTest) para implementar y ejecutar de
manera automática las pruebas generadas. Estas herramientas están
basadas en la plataforma Java y permiten implementar pruebas para
aplicaciones de escritorio y para aplicaciones web en general (en
cualquier lenguaje). Como se ha anotado en la sección anterior, todas
las herramientas son libres y accesibles a través de Internet.
En el punto 5 describiremos dos casos prácticos, uno sobre una
aplicación Java de escritorio y otro sobre una aplicación Java web.
Estos casos incluyen la aplicación del proceso descrito en el punto 3 y
la implementación de algunas de las pruebas obtenidas con las
herramientas vistas en el punto 4.