Post on 07-Jul-2018
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
1/45
PEDECIBA informática Instituto de Computación (InCo)
Facultad de Ingeniería Universidad de la República.
Montevideo, Uruguay
Proceso de Testing FuncionalIndependienteTesis de Maestría en Informática
Beatriz Pérez Lamancha
Setiembre 2006
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
2/45
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
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
3/45
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
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
4/45
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 funcionalesindependientes
• 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 deprocesos
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
5/45
Tesis de Maestría en Informática 5
Definiciones* Testing
• Verificación dinámica del comportamiento de unprograma 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 laspruebas siempre hay que ejecutar el programa para losdatos 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
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
6/45
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 desarrolloMantenimiento
• 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
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
7/45
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 funcionarcorrectamente
Identificar junto a los desarrolladores lasfuncionalidades 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
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
8/45
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 elproducto.
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
9/45
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 apartir de los requerimientos
• se trabaja junto con desarrolladores y cliente en mejorarlos requerimientos existentes
• Se explora versiones anteriores del producto
Estudio incremental de los requerimientos en cadaciclo
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
10/45
Tesis de Maestría en Informática 10
Etapas del Proceso de Testing
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
11/45
Tesis de Maestría en Informática 11
Roles Equipo de testing:
• Líder del Proyecto de TestingDirige 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)
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
12/45
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
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
13/45
Tesis de Maestría en Informática 13
Estudio Preliminar
Salidas:• Propuesta de Servicio
Alcance de las Pruebas
Agenda
Cotización
Acuerdo deConfidencialidad
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
14/45
Tesis de Maestría en Informática 14
Planificación
Objetivo: Planificar el proyecto de prueba
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
15/45
Tesis de Maestría en Informática 15
Planificación
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
16/45
Tesis de Maestría en Informática 16
Planificación
Actividades y Entregables
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
17/45
Tesis de Maestría en Informática 17
P8 - Definición del Proceso deIncidentes Un incidente puede ser:
• un defecto del producto• una mejora a realizar
• o una observación
El sistema de seguimiento de incidentespermite al equipo de testing:• reportar
• administrar• analizar los incidentes reportados
• y la tendencia de los mismos en cada ciclo de prueba
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
18/45
Tesis de Maestría en Informática 18
Ciclos de Prueba
Objetivo: Generar y ejecutar las pruebas
planificadas para el ciclo
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
19/45
Tesis de Maestría en Informática 19
Seguimiento del Ciclo
Objetivo: Planificación, seguimiento ycontrol del ciclo
Cliente, Líder de Proyecto
Actividades y Entregables
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
20/45
Tesis de Maestría en Informática 20
Seguimiento del Ciclo
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
21/45
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
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
22/45
Tesis de Maestría en Informática 22
Diseño de las Pruebas
Objetivo: Diseñar los casos de prueba a partirde la especificación del producto
Cliente, Desarrollador, Diseñadores
Actividades y Entregables
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
23/45
Tesis de Maestría en Informática 23
Diseño de las Pruebas
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
24/45
Tesis de Maestría en Informática 24
D1 - Diseño de los casos deprueba
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é elementosde prueba
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
25/45
Tesis de Maestría en Informática 25
Ejecución de las Pruebas
Objetivo: Contrastar el comportamiento esperadodel producto con su comportamiento real
Tester, Cliente, Desarrolladores Actividades y Entregables
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
26/45
Tesis de Maestría en Informática 26
Ejecución de las Pruebas
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
27/45
Tesis de Maestría en Informática 27
Evaluación Objetivo: Evaluar y archivar el proyecto de
prueba Actividades y Entregables
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
28/45
Tesis de Maestría en Informática 28
Evaluación
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
29/45
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
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
30/45
Tesis de Maestría en Informática 30
Etapa: Planificación Plan de Pruebas
Alcance para los Ciclos
Proceso de Incidentes
• Bugzilla
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
31/45
Tesis de Maestría en Informática 31
Etapa: Ciclo de Prueba 1 S1 – Planificación del
Ciclo
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
32/45
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 losCasos de Prueba llevaron dos semanas más
• E2 – Ejecución de las Pruebas, E3-TestingExploratorio y E4-Reporte de Incidentes
llevaron una semana más de lo planificado
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
33/45
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
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
34/45
Tesis de Maestría en Informática 34
Etapa: Ciclo de Prueba 2
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
35/45
Tesis de Maestría en Informática 35
Etapa: Evaluación Encuesta de satisfacción del cliente
Evaluación del Proyecto e Informe FinalFuncionalidades , Casos e Incidentes
188 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 Incorrecta
Interfaz de UsuarioMensajes erróneos y Falta de Mensaje.Validación faltante o incorrecta
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
36/45
Tesis de Maestría en Informática 36
Etapa : EvaluaciónCantidad 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 - Regr es ión
13%
0%
87%
Alta
Media
Baja
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
37/45
Tesis de Maestría en Informática 37
Conclusiones ProTest permitió realizar un proyecto de prueba
que resultó de valor para quién contrató elservicio
• Las características del proceso resultaron unaguí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
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
38/45
Tesis de Maestría en Informática 38
Ajustes Realizados Planificación
• Mejora en las mediciones para mejorar lasestimaciones
Se agregan elementos PSP
Mejoras en la forma en como se reporta el esfuerzoTiempo 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
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
39/45
Tesis de Maestría en Informática 39
Mediciones usadas
D t ió Ad i i t ió d
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
40/45
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 decliente
• Validación de los distintos prototipos
• Un grupo de estudiantes de PIS desarrolló estaherramienta
El sitio web de ProTest fue generado automáticamentecon la herramienta DeVeloPro
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
41/45
Tesis de Maestría en Informática 41
DeVeloPro
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
42/45
Tesis de Maestría en Informática 42
Documentación de ProTest
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
43/45
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
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
44/45
Tesis de Maestría en Informática 44
Trabajo a Futuro
Probarlo en un contexto donde el cliente sea quiencompra el producto
Definir un proceso común a ambos laboratorios del CES.
Contar con datos históricos resultado de las medicionesintroducidas para realizar las actividades de ProTest
• A partir de estos datos se espera mejorar las estimaciones
Extender ProTest para la automatización de pruebasfuncionales
Instrumentación del Proceso• Uso de herramientas que ayuden en todo el proceso de
pruebas
8/18/2019 Presentacion Proceso de Testing Funcional Independiente
45/45
PEDECIBA informática Instituto de Computación (InCo)
Facultad de Ingeniería
Universidad de la República.Montevideo, Uruguay
Gracias por su atención
¿Preguntas?