josé alberto garcía coriadiaweb.usal.es/diaweb/archivos/10015454insa.pdf• tener en cuenta en la...
TRANSCRIPT
José Alberto García CoriaDirector CENIT SalamancaSalamanca, Febrero 2011
Índice
Objetivos
Servicios de Pruebas
Ciclo de Vida de las Pruebas
Tipos de Pruebas
Herramientas
Queda prohíba la reproducción o divulgación sin el consentimiento expreso de INSA S.A.
Objetivos
Exponer el alcance y la operativa de los servicios de Pruebas en el
Objetivos
p y pámbito del desarrollo de Software.
Nace con la motivación de mejorar la calidad del producto final a través del aseguramiento de la calidad y de la especialización de las pruebas:
bl i d l d lid d d i d d l i l d id Estableciendo controles de calidad en determinadas etapas del ciclo de vida del desarrollo de software o en puntos considerados.
Definiendo un proceso de pruebas avanzado.Definiendo un proceso de pruebas avanzado.
Afianzando la “cultura de pruebas” en el equipo.
M i i d l h i d l id d d l h i Maximizando el aprovechamiento de las capacidades de las herramientas.
Favoreciendo la reutilización de las pruebas diseñadas.
Queda prohíba la reproducción o divulgación sin el consentimiento expreso de INSA S.A.
Objetivos
La importancia de detectar los errores a tiempo
Objetivos
p p
Queda prohíba la reproducción o divulgación sin el consentimiento expreso de INSA S.A.
Servicios de Pruebas
Orientados a certificar que los procesos vigentes se cumplen y a ejecutar controles en SAdClasificación
determinadas etapas del ciclo de vida de desarrollo que anticipen posibles problemas.
CONTROLES QA (Quality Assurance)• QA1: VALIDACIÓN DE ENTRADAS
ServiciosAseguram
iede la Calid
CONTROLES PA (Process Assurance)• En TODOS los procesos
• QA2: CONTROL DE ACTIVIDADES DE DESARROLLO• QA3: CONTROL DE SALIDAS
sde
ento dad
p
Persiguen la especialización de las diferentes tipologías de pruebas que forman parte del ciclo de vida de desarrollo de software. Se
PROYECTOS EN CONSTRUCCIÓN• PLAN DE PRUEBAS• PRUEBAS UNITARIAS• PRUEBAS DE INTEGRACIÓN
ervicios dPruebas
PROYECTOS EN MANTENIMIENTO• Mantenimiento de Pruebas
• PRUEBAS FUNCIONALES• INTEGRACIÓN CONTINUA
de s
Queda prohíba la reproducción o divulgación sin el consentimiento expreso de INSA S.A.
Ciclo de Vida de las Pruebas
Ciclo de Vida de las Pruebas
PLANIFICACIÓN DISEÑO EJECUCIÓN CIERRE
PLANIFICACIÓN
ENTRADAS• Plan de Proyecto • Especificación de requisitos• Análisis funcional casos de uso
DISEÑO
• Identificación de funcionalidades• Definición de casos de prueba
EJECUCIÓN CIERRE
• Revisión Cuadros de Mandos de defectos• Análisis funcional, casos de uso
• Identificación de pruebas• Definición de la cobertura de pruebas
• Definición de las condiciones de entrada/salida
• Asignación de requisitos• Preparación de datos de pruebas• Especificación de pasos de las pruebas
• Preparación de entornos de pruebas
• Ejecución de las pruebas• Reporte de defectos• Verificación de las
de defectos• Revisión mediciones de los parámetros sobre los que se realiza el cálculo de indicadores
• Inventario lecciones didpruebas
• Definición de entornos• Revisión de los periodos de pruebas
• Establecimiento de objetivos de QA y de pruebas
f ó
pruebas• Generación de documentación de diseño de pruebas
• Configuración de herramientas de pruebas
correcciones de defectosaprendidas
• Planificación de controles QA y de pruebas dentro del Plan de Proyecto
SALIDAS
SALIDASCuadros de Mando de defectos
Informe Resultado de la Ejecución de Pruebas
SALIDASInforme Final de Pruebas
• Métricas actualizadas• Lecciones Aprendidas
Queda prohíba la reproducción o divulgación sin el consentimiento expreso de INSA S.A.
SALIDASPlan de Pruebas
Diseño de Pruebasp
Tipos de Pruebas
Son servicios que validan la calidad de productos generados en diferentes
Quality Assurance (QA)
momentos del Ciclo de Vida de desarrollo.
Verifican que los elementos se adecúan a la metodología establecida y actúan como elementos de control de la calidad del proyectocomo elementos de control de la calidad del proyecto.
El control QA tiene aplicación en diferentes momentos del Ciclo de Vida de desarrollo, adecuando su contenido a la fase en la que se ejecuta.
• Asegurar la calidad de los entregables tanto de entrada como de salida del proceso de Pruebas• Asegurar la calidad de los entregables tanto de entrada como de salida del proceso de Pruebas.
• No permitir que se arrastren deficiencias entre fases del ciclo de vida.
• Actuar como bisagra entre los distintos actores del modelo de relación, pudiendo valorar bj ti t l C lid d d l t b j t d l i i j d l tió dETIV
OS
objetivamente la Calidad de los trabajos acortando las negociaciones y mejorando la gestión de conflictos.
• Actuar como filtro o barrera de entregas inmaduras, ahorrando esfuerzos innecesarios de gestión de incidencias, pruebas y soporte.
OB
JE
Queda prohíba la reproducción o divulgación sin el consentimiento expreso de INSA S.A.
de incidencias, pruebas y soporte.
Tipos de Pruebas
El Plan de Pruebas es el activo que debe identificar las pruebas necesarias para garantizar la
Plan de Pruebas
Calidad del producto Software. Define, por tanto, el alcance de las pruebas.
Para elaborarlo se evalúan diversos aspectos del proyecto: complejidad, criticidad, tamaño, t l í t E f ió d ll determina el enfoque y nivel de detalle detecnología, etc. En función de ellos se determina el enfoque y nivel de detalle de las pruebas unitarias, de integración y funcionales: entornos, cobertura de las pruebas, períodos de diseño y ejecución de pruebas, recursos necesarios para ejecutarlas, etcetc.
• Diseñar un planteamiento de pruebas acorde a las necesidades del proyecto y a los estándares de• Diseñar un planteamiento de pruebas acorde a las necesidades del proyecto y a los estándares de calidad.
• Dimensionar en base al alcance el esfuerzo y coste del servicio.
TIVO
S
• Definir las estrategias de uso del Entorno de Integración Continua.
• Consensuar entre los diferentes actores el modelo de pruebas desde el punto de vista de gestión e ingeniería
OB
JET
Queda prohíba la reproducción o divulgación sin el consentimiento expreso de INSA S.A.
e ingeniería.
Tipos de Pruebas
Pruebas Unitarias
Las Pruebas Unitarias se enmarcan dentro de la fase de desarrollo del proyecto
• Asegurar la calidad de los componentes construidos, evitando que los errores de construcción lleguen a fases más avanzadas del Ciclo de Vida.
• Realizar un Diseño de Pruebas Unitarias adecuado a las características del proyecto , valorando la relación entre el esfuerzo invertido y el beneficio esperado.
• Las Pruebas Unitarias deben ser automatizables de tal modo que sus ejecucionesJETI
VOS
Las Pruebas Unitarias deben ser automatizables, de tal modo que sus ejecuciones reiterativas no impliquen un esfuerzo adicional.
• Las Pruebas Unitarias deben ser mantenibles, con el fin de asegurar la estabilidad del proyecto en las fases de mantenimiento posteriores al despliegue
OB
J
Queda prohíba la reproducción o divulgación sin el consentimiento expreso de INSA S.A.
proyecto en las fases de mantenimiento posteriores al despliegue.
Tipos de Pruebas
Las Pruebas Funcionales se enmarcan dentro de la validación del producto software y
Pruebas Funcionales
Las Pruebas Funcionales se enmarcan dentro de la validación del producto software y persiguen validar que todos los requisitos funcionales se cumplan.
El Plan de Pruebas debe identificar los requisitos que se deben verificar ,así como su grado d l jid d i i id d D d d l di ñ d bde complejidad y criticidad. De esta manera se pueden adecuar los diseños de pruebas a las necesidades existentes.
Los Diseños de Pruebas Funcionales son uno de los puntos críticos del modelo, por tanto d b i d lid d t d l li ió d l Ci l d P bdeben ser revisados y validados antes de la realización de los Ciclos de Pruebas.
• Asegurar que los productos software cumplen con los requisitos establecidosAsegurar que los productos software cumplen con los requisitos establecidos.
• Proporcionar visibilidad sobre el estado real de la aplicación a los gestores del proyecto, para facilitar la toma de decisiones.
• Aportar estadísticas sobre el estado de las pruebasIVO
S
• Aportar estadísticas sobre el estado de las pruebas.
• Asegurar capacidad para la corrección de deficiencias en paralelo con la ejecución de los ciclos de pruebas.
P t Obj ti d C lid d it d idi á d d t tá li t
OB
JETI
Queda prohíba la reproducción o divulgación sin el consentimiento expreso de INSA S.A.
• Presentar Objetivos de Calidad que permitan decidir cuándo un producto está listo para su paso a producción o para su evolución a la siguiente fase del ciclo de vida.
Tipos de Pruebas
Dentro de un proceso iterativo y de crecimiento modular del Software, las Pruebas de
Pruebas de Regresión
Regresión deben ser un elemento clave dentro de la Estrategia definida por el Plan de Pruebas del proyecto.
Entenderemos la Prueba de Regresión como la selección y ejecución de un subconjunto de casos de prueba, que se han llevado acabo anteriormente, para asegurarse que los cambios no han propagado efectos colaterales no deseados.
La labor del Arquitecto de Pruebas para determinar la muestra optima de Pruebas para la Regresión es un factor clave del éxito de las mismas.
• Asegurar que los cambios en el software no producen errores adicionales.
• Definir n s bconj nto de Pr ebas idóneo q e permita el eq ilibrio entre garanti ar la• Definir un subconjunto de Pruebas idóneo que permita el equilibrio entre garantizar la detección de efectos colaterales y no penalizar los plazos y esfuerzo previsto para el cambio.
• Pro actividad: Determinar cuando es necesario sumar nuevas pruebas adicionales para cada ciclo iteración. TI
VOS
• Apoyarnos en el uso de herramientas para poder potenciar la reutilización de Casos de Pruebas y Datos de Prueba.
• Combinar la estrategia de Pruebas de Regresión con la de definición de las Pruebas de
OB
JET
Queda prohíba la reproducción o divulgación sin el consentimiento expreso de INSA S.A.
Combinar la estrategia de Pruebas de Regresión con la de definición de las Pruebas de Mantenimiento y el entorno de Integración Continua.
Tipos de Pruebas
Integración ContinuaAnálisis de la Compilación y Despliegue
Determina si el paquete de despliegue es correcto así como que todos los componentes delmismo compilan adecuadamente.
Estabilidad de los Desarrollos
Mediante la automatización de las Pruebas Unitarias se pueden detectar automáticamenteerrores en los desarrollos y permite alertar al equipo de desarrollo para mantener el aplicativoestable.
Identifica problemas que van desde un incumplimiento en las reglas de calidad del códigoestablecidas, hasta posibles errores de programación, así como código con problemas derendimiento o fragmentos duplicados que son candidatos a una refactorización.
Análisis Estático de Código
g p q
Orientado a detectar dependencias no permitidas por la arquitectura, así como diseños demala calidad. Un buen diseño de un componente software debe garantizar una alta cohesión y
Análisis de Dependencias
mala calidad. Un buen diseño de un componente software debe garantizar una alta cohesión yuna baja dependencia, para permitir una adecuada reutilización.
Verifica que el porcentaje de código que queda cubierto con las pruebas unitarias
Análisis del Grado de Cobertura de Pruebas Unitarias
Queda prohíba la reproducción o divulgación sin el consentimiento expreso de INSA S.A.
Verifica que el porcentaje de código que queda cubierto con las pruebas unitariasejecutadas está dentro de los umbrales de calidad establecidos para el proyecto.
Tipos de Pruebas
Los servicios de Mantenimiento de Pruebas se enmarcan dentro de la estrategia global de
Mantenimiento
mantenimiento de aplicativos, utilizando las pruebas como mecanismo para garantizar la correcta gestión del cambio, evitando impactos en el aplicativo que se encuentra en producción.
Estrategia a cuatro niveles:• Pruebas Unitarias: Identifican efectos colaterales no previstos ante cambios de código.• Pruebas de Integración: Detectan los cambios en los entornos acoplados al aplicativo en mantenimiento.
• Pruebas Funcionales: Permiten actuar como pruebas de regresión que verifican que, ante un cambio, el proyecto cumple y mantiene los requisitos establecidos.
• Pruebas de Regresión: Como el subconjunto clave para gestionar el impacto colateral regulando los plazos y el esfuerzo. p y
• Aprovechar el Plan de Pruebas confeccionado en las fase de desarrollo para mantener la calidad en el proyecto en su fase de mantenimiento.
• Automatizar las pruebas ejecutadas en el desarrollo para generar un ahorro de costes en la faseS • Automatizar las pruebas ejecutadas en el desarrollo para generar un ahorro de costes en la fase de mantenimiento.
• Tener en cuenta en la estrategia de mantenimiento el Entorno de Integración Continua, de tal modo que el sistema sea proactivo y no reactivo a los cambios.O
BJE
TIVO
Queda prohíba la reproducción o divulgación sin el consentimiento expreso de INSA S.A.
q p y
• Realizar acciones que garanticen la estabilidad de los aplicativos en producción ante cualquier cambio de software.
O
Herramientas
Rational Quality Manager
Diseño Té i
Pruebas Si t
Pruebas li
Implantación
Gestión Configuración
Construcción y P b U it i
Gestión de Proyecto
Requisitos Análisis
Gestión Demanda
Técnico Sistema ClienteImplantaciónPrueba Unitariaq
Gestión Servicio
Centro de Pruebas
Carga de Planes de Pruebas.
Gestión de Ciclos de PruebasGestión de Ciclos de Pruebas
Integración con herramientas de Pruebas de Seguridad, RendimientoRendimiento y automatización.
Queda prohíba la reproducción o divulgación sin el consentimiento expreso de INSA S.A.
Herramientas
Herramienta para la automatización Pruebas de Regresión
Rational Functional Tester
del ciclo de pruebas
Asegurar la calidad de nuestras
Pruebas de Regresión
aplicaciones antes de pasarlas a
producción
No hay tiempo para probar todo
Automatización de pruebas de
regresión:
– Grabar las pruebas respecto a una versión
!!
Build 1 Build 2 Build 3 4 5Grabar las pruebas respecto a una versión
estable de la aplicación
– Repetir de manera desatendida la misma
prueba contra nuevas versiones de nuestra
Probar la nueva funcionalidad pero
Build 1 Build 2 Build 3, 4, 5 …
prueba contra nuevas versiones de nuestra
aplicación
– De esta manera podemos asegurar que en
las nuevas versiones no introducimos
pasegurarnos que todo lo anterior sigue funcionando correctamente
Queda prohíba la reproducción o divulgación sin el consentimiento expreso de INSA S.A.
las nuevas versiones no introducimos
nuevos errores de regresión