Gestión de las Pruebas Funcionales Beatriz Pérez Centro de Ensayos de Software
Centro de Ensayos de Software Consorcio creado en Junio de 2004 entre Cámara Uruguaya de Tecnologías de la Información (CUTI) Universidad de la República de Uruguay (UdelaR) Servicios Prueba independiente Consultoría Capacitación Laboratorios Testing Funcional Ensayos de Plataformas
Actividades ProTest Proceso pruebas Ciclo de Prueba funcionales Planificación Diseño de las Pruebas Configuración Ejecución Evaluación y Cierre Seguimiento y Control Artefactos Plan de Pruebas Inventario de Prueba Casos de Prueba Reporte de Prueba Informe Final de Pruebas
Actividades ProTest Proceso pruebas Ciclo de Prueba funcionales Planificación Diseño de las Pruebas Configuración Ejecución Evaluación y Cierre Seguimiento y Control Artefactos Plan de Pruebas Inventario de Prueba Casos de Prueba Reporte de Prueba Informe Final de Pruebas
Estrategia para la Gestión de las Pruebas Funcionales Principales características Análisis de riesgo del producto Guiada por los Ciclos de Prueba Combina Casos de prueba con diseño previo Testing exploratorio Negociación entre probadores, desarrolladores y cliente
Estrategia para la Gestión de las Pruebas Funcionales Planificación en dos niveles Planificación global del proyecto de prueba En función de la planificación de desarrollo Definición de los ciclos de prueba Funcionalidades macro para cada ciclo Planificación de cada ciclo de prueba Se revisa la planificación al comenzar cada ciclo Se refinan las funcionalidades a probar
Riesgos del Producto No es posible probar todo Se estudia en detalle el producto y se identifican los riesgos asociados a cada parte del mismo Identificar las funcionalidades que: presenten mayor riesgo para el negocio en caso de no funcionar correctamente es más probable que tengan defectos. Priorizar las funcionalidades que serán verificadas Identificar las funcionalidades que no serán verificadas y el riesgo asociado Encontrar los defectos importantes primero
Ciclo de Prueba Las actividades de la prueba se realizan para una determinada versión del producto, sobre la cual se ejecutan las pruebas y se reportan los incidentes encontrados Para cada versión del producto se realizan alguna o todas las tareas asociadas a las pruebas, a esto se le llama un ciclo de prueba
Ciclos y versiones Ciclo 1 Ciclo 2. tiempo Versión 1 Versión 1.1 Versión 1.2 Versión 1.3 Incidente 1 Incidentes 2,3 y 4 Regresión para incidentes 1, 2 y 4 Incidente 2 La versión 1.1 soluciona el incidente 1 La versión 1.2 soluciona los incidentes 2 y 4 La versión 1.3 soluciona los incidentes 2 y 3
Alcance para las pruebas Para definir el alcance, se divide el sistema en módulos, componentes o subsistemas No todos los componentes serán probados con el mismo detalle y pueden existir componentes que queden fuera del alcance de las pruebas Cada componente agrupa varias funcionalidades, se dividen las funcionalidades hasta un nivel en el que sea posible definir el alcance Se utiliza el análisis de riesgo del producto Se obtiene el Inventario de Pruebas.
Inventario de Pruebas El inventario permite Definir prioridades Se asigna prioridad (ALTA, MEDIA, BAJA) Establecer un orden de trabajo Decidir que casos entrarían en una regresión y cuales no con mayor facilidad Recortar alcance en forma rápida y ordenada Se estima el tiempo en probar cada funcionalidad Proyectos anteriores Experiencia del equipo de prueba
Entradas Definición del Alcance Inventario de pruebas priorizado Estimación de esfuerzo de cada funcionalidad Plan de desarrollo del producto Plazos previstos para el proyecto Negociación entre cliente, equipo de desarrollo y equipo de pruebas
Planificación de las pruebas Ver 1 Ver 2 Ver 3 Ciclo 1 Ciclo 2 Ciclo 3 Fecha 1 Ver. 1 Fecha 2 Ver 2 Fecha 3 Ver 3 Fecha 4 2 4 1 3 7 5 6 8 9 10 2 4? 2 4 7?
Definir los Ciclos Ver 1 Ver 2 Ver 3 Ciclo 1 Ciclo 2 Ciclo 3 Fecha 1 Ver. 1 Fecha 2 Ver 2 Fecha 3 Ver 3 Fecha 4 2 4 1 3 7 5 6 8 9 10
Definir los Ciclos Ver 1 Ver 2 Ver 3 2.1 2.4 4 2.3 1 3 2.2 2.1 2.4 2.3 2.2
Se planifica Planificación de las Pruebas Pruebas con diseño previo Testing exploratorio En general, el tiempo con que se cuenta entre un ciclo de prueba y el siguiente no es suficiente como para diseñar todos los casos de prueba de las nuevas funcionalidades Se complementa el diseño de las pruebas con el testing exploratorio
Testing Exploratorio El testing exploratorio es el proceso simultáneo de exploración del producto (aprendizaje), diseño y ejecución de pruebas. James Bach
Planificación de las pruebas 2.1 2.4 4 2.3 1 3 2.2 Pruebas con diseño previo para 2.1, 2.4 y 4 Testing exploratorio para 2.3, 1, 3 y 2.2 Pruebas de regresión?
Distintos escenarios para las pruebas Desde el principio del proyecto Producto en desarrollo Producto ya en producción
Seguimiento en cada ciclo La planificación se ajusta al comenzar cada ciclo debido a Atrasos de desarrollo Cambios en los requisitos Cambios en el alcance del producto Calidad del producto
Conclusiones Estrategia probada en proyectos de prueba Flexible a los cambios en las funcionalidades del producto Participación en decisiones sobre la calidad del producto de Cliente Equipo de desarrollo Equipo de prueba
Trabajo a futuro Mediciones que ayuden a la estimación de las pruebas según tipo de producto Porcentaje de tiempo dedicado a las pruebas de regresión en un ciclo
Gracias por su atención! Preguntas? Beatriz Pérez bperez@fing.edu.uy Centro de Ensayos de Software