josé alberto garcía coriadiaweb.usal.es/diaweb/archivos/10015454insa.pdf• tener en cuenta en la...

16
José Alberto García Coria Director CENIT Salamanca Salamanca, Febrero 2011

Upload: others

Post on 05-Aug-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: José Alberto García Coriadiaweb.usal.es/diaweb/archivos/10015454INSA.pdf• Tener en cuenta en la estrategia de mantenimiento el Entorno de Integración Continua, de tal OBJETIVO

José Alberto García CoriaDirector CENIT SalamancaSalamanca, Febrero 2011

Page 2: José Alberto García Coriadiaweb.usal.es/diaweb/archivos/10015454INSA.pdf• Tener en cuenta en la estrategia de mantenimiento el Entorno de Integración Continua, de tal OBJETIVO

Í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.

Page 3: José Alberto García Coriadiaweb.usal.es/diaweb/archivos/10015454INSA.pdf• Tener en cuenta en la estrategia de mantenimiento el Entorno de Integración Continua, de tal OBJETIVO

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.

Page 4: José Alberto García Coriadiaweb.usal.es/diaweb/archivos/10015454INSA.pdf• Tener en cuenta en la estrategia de mantenimiento el Entorno de Integración Continua, de tal OBJETIVO

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.

Page 5: José Alberto García Coriadiaweb.usal.es/diaweb/archivos/10015454INSA.pdf• Tener en cuenta en la estrategia de mantenimiento el Entorno de Integración Continua, de tal OBJETIVO

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.

Page 6: José Alberto García Coriadiaweb.usal.es/diaweb/archivos/10015454INSA.pdf• Tener en cuenta en la estrategia de mantenimiento el Entorno de Integración Continua, de tal OBJETIVO

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

Page 7: José Alberto García Coriadiaweb.usal.es/diaweb/archivos/10015454INSA.pdf• Tener en cuenta en la estrategia de mantenimiento el Entorno de Integración Continua, de tal OBJETIVO

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.

Page 8: José Alberto García Coriadiaweb.usal.es/diaweb/archivos/10015454INSA.pdf• Tener en cuenta en la estrategia de mantenimiento el Entorno de Integración Continua, de tal OBJETIVO

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.

Page 9: José Alberto García Coriadiaweb.usal.es/diaweb/archivos/10015454INSA.pdf• Tener en cuenta en la estrategia de mantenimiento el Entorno de Integración Continua, de tal OBJETIVO

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.

Page 10: José Alberto García Coriadiaweb.usal.es/diaweb/archivos/10015454INSA.pdf• Tener en cuenta en la estrategia de mantenimiento el Entorno de Integración Continua, de tal OBJETIVO

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.

Page 11: José Alberto García Coriadiaweb.usal.es/diaweb/archivos/10015454INSA.pdf• Tener en cuenta en la estrategia de mantenimiento el Entorno de Integración Continua, de tal OBJETIVO

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.

Page 12: José Alberto García Coriadiaweb.usal.es/diaweb/archivos/10015454INSA.pdf• Tener en cuenta en la estrategia de mantenimiento el Entorno de Integración Continua, de tal OBJETIVO

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.

Page 13: José Alberto García Coriadiaweb.usal.es/diaweb/archivos/10015454INSA.pdf• Tener en cuenta en la estrategia de mantenimiento el Entorno de Integración Continua, de tal OBJETIVO

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

Page 14: José Alberto García Coriadiaweb.usal.es/diaweb/archivos/10015454INSA.pdf• Tener en cuenta en la estrategia de mantenimiento el Entorno de Integración Continua, de tal OBJETIVO

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.

Page 15: José Alberto García Coriadiaweb.usal.es/diaweb/archivos/10015454INSA.pdf• Tener en cuenta en la estrategia de mantenimiento el Entorno de Integración Continua, de tal OBJETIVO

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

Page 16: José Alberto García Coriadiaweb.usal.es/diaweb/archivos/10015454INSA.pdf• Tener en cuenta en la estrategia de mantenimiento el Entorno de Integración Continua, de tal OBJETIVO