tesis de maestría en informática - ces.com.uy · tesis de maestría en informática 3 centro de...
Post on 19-Sep-2018
218 Views
Preview:
TRANSCRIPT
PEDECIBA informáticaInstituto de Computación (InCo)
Facultad de IngenieríaUniversidad de la República.
Montevideo, Uruguay
Proceso de Testing Funcional IndependienteTesis de Maestría en Informática
Beatriz Pérez Lamancha
Setiembre 2006
Tesis de Maestría en Informática 2
Temario
� Centro de Ensayos de Software� Contribuciones� Proceso de Testing Funcional
• Principales características• Roles• Etapas
� Caso de Estudio� Ajustes realizados� Conclusiones� Trabajo a Futuro
Tesis de Maestría en Informática 3
Centro de Ensayos de Software
� Financiado por la Unión Europea, parte del proyecto proyecto “Desarrollo tecnológico en sectores clave de la economía uruguaya”
� Laboratorios• Testing Funcional• Ensayos de Plataformas
� Servicios• Prueba independiente de productos de software• Consultoría
� Mejora de los procesos de prueba� Colaborar en la creación y consolidación del àrea de prueba
• Capacitación� Motivación
• Definición de procesos y procedimientos
Tesis de Maestría en Informática 4
Contribuciones
� Estudio del estado del arte sobre • Pruebas de software• Proceso de pruebas de software
� ProTest• Definición proceso para pruebas funcionales
independientes• Validación y ajuste mediante caso de estudio• Usado en el Laboratorio de Testing Funcional del CES
� DeVeloPro• Herramienta para la documentación y administración de
procesos
Tesis de Maestría en Informática 5
Definiciones*
� Testing• Verificación dinámica del comportamiento de un
programa usando un conjunto finito de casos de prueba, seleccionados desde el dominio infinito de ejecución, contra el comportamiento esperado.
• La verificación dinámica implica que para realizar las pruebas siempre hay que ejecutar el programa para los datos de entrada
� Testing Funcional• Validar si el comportamiento observado del
software probado cumple o no con sus especificaciones. * SWEBOK - IEEE's Software Engineering Body of Knowledge
Tesis de Maestría en Informática 6
Proceso de Testing Funcional
� Principales características• Independiente del proceso de desarrollo• Testing funcional de productos
�Desde su comienzo�En etapas avanzadas de desarrollo�Mantenimiento
• Testing basado en los riesgos del producto• Guiado por los Ciclos de Prueba• Pruebas a partir de los Requerimientos
� Adaptado a cada proyecto de prueba
Tesis de Maestría en Informática 7
Testing basado en los riesgos del producto
� No es posible probar todo• ¿qué probar?
� Identificar junto al cliente las funcionalidades que:• presenten mayor riesgo para el negocio en caso de no funcionar
correctamente
� Identificar junto a los desarrolladores las funcionalidades que:• es mas probable que tengan defectos. • son mas complejas de desarrollar
� Priorizar las funcionalidades que serán verificadas � Identificar las funcionalidades que no serán verificadas
y el riesgo asociado
Tesis de Maestría en Informática 8
Guiado por los Ciclos de Prueba
� Cada ciclo de prueba está asociado a una versión ejecutable del producto a probar
� Cada nuevo ciclo de prueba implica una nueva versión de uno o más componentes del sistema
� En un ciclo de prueba se puede ejecutar una, alguna o todas las pruebas planificadas para el producto.
Tesis de Maestría en Informática 9
Pruebas basadas en los Requerimientos
� Decidir si la salida observada al ejecutar el programa es la salida esperada.
� Los requerimientos son analizados y catalogados en el Inventario de Pruebas
� Si no es posible realizar el diseño de las pruebas a partir de los requerimientos• se trabaja junto con desarrolladores y cliente en mejorar
los requerimientos existentes• Se explora versiones anteriores del producto
� Estudio incremental de los requerimientos en cada ciclo
Tesis de Maestría en Informática 11
Roles
� Equipo de testing: • Líder del Proyecto de Testing
�Dirige el proyecto de testing.
• Diseñador�Diseña los casos de prueba
• Tester�Ejecuta los casos de prueba y reporta los resultados
� Cliente• Quien desarrolla el producto• Quien compra el producto
� Desarrollador (Contraparte técnica)
Tesis de Maestría en Informática 12
Estudio Preliminar
� Objetivo: Definir alcance y cronograma para las pruebas
� Cliente, Líder de Proyecto� Actividades y Entregables
Tesis de Maestría en Informática 13
Estudio Preliminar
� Salidas: • Propuesta de Servicio
�Alcance de las Pruebas�Agenda�Cotización�Acuerdo de
Confidencialidad
Tesis de Maestría en Informática 17
P8 - Definición del Proceso de Incidentes� Un incidente puede ser:
• un defecto del producto• una mejora a realizar• o una observación
� El sistema de seguimiento de incidentes permite al equipo de testing:• reportar• administrar• analizar los incidentes reportados • y la tendencia de los mismos en cada ciclo de prueba
Tesis de Maestría en Informática 18
Ciclos de Prueba
� Objetivo: Generar y ejecutar las pruebas planificadas para el ciclo
Tesis de Maestría en Informática 19
Seguimiento del Ciclo
� Objetivo: Planificación, seguimiento y control del ciclo
� Cliente, Líder de Proyecto� Actividades y Entregables
Tesis de Maestría en Informática 21
Configuración del Entorno
� Objetivo: Configurar el ambiente de pruebas, separando los ambientes de desarrollo y testing
� Actividades y Entregables
� Entorno de trabajo• en el cliente• en el laboratorio del CES• en laboratorios asociados
Tesis de Maestría en Informática 22
Diseño de las Pruebas
� Objetivo: Diseñar los casos de prueba a partir de la especificación del producto
� Cliente, Desarrollador, Diseñadores� Actividades y Entregables
Tesis de Maestría en Informática 24
D1 - Diseño de los casos de prueba
� Técnicas de Caja Negra � Incluye:
• Diseñar las pruebas
• Identificar los datos de prueba• Matriz de trazabilidad
�Conocer qué casos de prueba cubren qué elementos de prueba
Tesis de Maestría en Informática 25
Ejecución de las Pruebas
� Objetivo: Contrastar el comportamiento esperado del producto con su comportamiento real
� Tester, Cliente, Desarrolladores� Actividades y Entregables
Tesis de Maestría en Informática 27
Evaluación
� Objetivo: Evaluar y archivar el proyecto de prueba
� Actividades y Entregables
Tesis de Maestría en Informática 29
Caso de Estudio
� Aplicación de Gestión• Lleva varios años en producción• Existían dos versiones de la aplicación en clientes distintos• Unificación en una sola versión
� Cliente es el gerente de desarrollo� Documentación
• Manual de usuario sin actualizar� Estudio Preliminar
• 3 reuniones con el cliente
Tesis de Maestría en Informática 30
Etapa: Planificación
� Plan de Pruebas� Alcance para los Ciclos
� Proceso de Incidentes• Bugzilla
Tesis de Maestría en Informática 32
Etapa: Ciclo de Prueba 1
� Principales desviaciones• P2 – Revisión de Requerimientos, D1-Diseño
de las pruebas y D2 – Validación de los Casos de Prueba llevaron dos semanas más
• E2 – Ejecución de las Pruebas, E3-Testing Exploratorio y E4-Reporte de Incidentes llevaron una semana más de lo planificado
Tesis de Maestría en Informática 33
Etapa: Ciclo de Prueba 2
� Atraso en la nueva versión• 2 semanas para comenzar el Diseño• 5 semanas para comenzar la Ejecución
� La nueva versión unifica dos versiones existentes de la aplicación
� S1 – Planificación del Ciclo
• Pruebas de regresión: Ejecutar 42 casos de prueba
Tesis de Maestría en Informática 35
Etapa: Evaluación
� Encuesta de satisfacción del cliente� Evaluación del Proyecto e Informe Final
Funcionalidades, Casos e Incidentes
18 8 8
34
106
5742
205
3825 16
79
Ciclo 1 Ciclo 2 Regresión Total
Cant. Funcionalidades Cant. Casos de Prueba Cant. Incidentes
Cantidad Incidentes por Tipo
107
3
20
7
12 13
20
1 0
21
1
5
0
6
32
Ciclo 1 Ciclo 2 Regresión Total
Funcional - Implementación IncorrectaInterfaz de UsuarioMensajes erróneos y Falta de Mensaje.Validación faltante o incorrecta
Tesis de Maestría en Informática 36
Etapa : Evaluación
Cantidad Incidentes por Criticidad
3 3 224
0
33
18
14
Ciclo 1 Ciclo 2 Regresión
Alta Media Baja
Ciclo 2
12%
16%
72%
Ciclo 2
12%
16%
72%
Ciclo 2 - Regresión
13%
0%
87%
Alta
Media
Baja
Tesis de Maestría en Informática 37
Conclusiones
� ProTest permitió realizar un proyecto de prueba que resultó de valor para quién contrató el servicio• Las características del proceso resultaron una
guía útil� Aspectos positivos de comunicación
• Colaboración del cliente para priorizar y validar• Plan de Pruebas• Informes de Avance• Sistema de seguimiento de incidentes web
Tesis de Maestría en Informática 38
Ajustes Realizados
� Planificación• Mejora en las mediciones para mejorar las
estimaciones�Se agregan elementos PSP�Mejoras en la forma en como se reporta el esfuerzo�Tiempo de ejecución de las pruebas para mejorar
planificación de pruebas de regresión
� Mejoras en las mediciones realizadas� Cambios en nombre de actividades y momento
en que se realizaban
Tesis de Maestría en Informática 40
Documentación y Administración de ProTest
� La documentación del Proceso debe estar:• Disponible a todos los miembros de la organización• En un formato imprimible
� Herramienta DeVeloPro• Se definieron los requerimientos que debía cumplir • Seguimiento de su desarrollo cumpliendo el rol de
cliente• Validación de los distintos prototipos• Un grupo de estudiantes de PIS desarrolló esta
herramienta � El sitio web de ProTest fue generado automáticamente
con la herramienta DeVeloPro
Tesis de Maestría en Informática 43
Conclusiones
� ProTest modela las etapas de un proyecto de pruebas• Guía útil para el equipo de prueba• Usado actualmente en el Laboratorio de Testing
Funcional del CES
• Documentado con DeVeloPro
Tesis de Maestría en Informática 44
Trabajo a Futuro
� Probarlo en un contexto donde el cliente sea quien compra el producto
� Definir un proceso común a ambos laboratorios del CES.� Contar con datos históricos resultado de las mediciones
introducidas para realizar las actividades de ProTest • A partir de estos datos se espera mejorar las estimaciones
� Extender ProTest para la automatización de pruebas funcionales
� Instrumentación del Proceso• Uso de herramientas que ayuden en todo el proceso de
pruebas
top related