Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de...

53
Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La verificación suele ser el proceso que se realiza para revisar si una determinada cosa está cumpliendo con los requisitos y normas previstos.

Transcript of Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de...

Page 1: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

Verificación3.1 Marco de Referencia para el desarrollo de software

Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La verificación suele ser el proceso que se realiza para revisar si una determinada cosa está cumpliendo con los requisitos y normas previstos.

Page 2: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

Antecedentes

La industria del software, a diferencia de otras industrias, tiene muy poco tiempo de vida.

Page 3: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

Desde hace ya más de 50 años, en 1930 Walter Shewhart comenzó a trabajar en la mejora de procesos estableciendo los principios del control estadístico de la calidad,

Glenford J. Myers en 1979 promovió que la Ingeniería del Software separase las disciplinas fundamentales del desarrollo del software de la verificación y validación del mismo.

Page 4: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

los principios de Shewhart fueron refinados por W. Edwards Deming dando lugar al ciclo Deming, el cual fue utilizado entre otras cosas para la mejora continua de la calidad dentro de una empresa.

Estos pasos son: Planear, Hacer, Verificar y Actuar.

Page 5: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

En 1988, el Dr. Dave Gelperin y el Dr. William C. Hetzel realizaron una clasificación basada en los más influyentes modelos de pruebas publicados hasta la fecha.

Page 6: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

Etapa 1: Hasta 1956La orientación de las pruebas a la solución de errores.

Page 7: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

Durante los comienzos de la TI, a pesar de ser notoria la aparición de problemas relacionados con el software desarrollado, éstos fueron dados de lado en pro de los aspectos hardware.

Page 8: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

El primer artículo basado en las pruebas del software fue escrito por Alan Turing en 1949 En este artículo se hablaba de “pruebas de corrección”.

Page 9: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

Etapa 2: 1957-1978La orientación de las pruebas a la demostración

Page 10: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

En 1957, Charles Baker distinguió el concepto de “depuración” del de “prueba” en su revisión “Mathematical Tables and Other Aids to Computation”. En la cual se destacaba que la verificación de los programas perseguía dos objetivos fundamentales:

“Asegurar el funcionamiento de la aplicación”

“Asegurar que la aplicación resolvía el problema para el que había sido planteada”.

Page 11: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

En esta etapa, debido a que llevar a cabo las pruebas suponía un esfuerzo comprendido de entre un 30% y un 50% como mínimo, del coste total de un desarrollo software. Autores como Ince y Jessop llegaron a la conclusión de que si el proceso de pruebas pudiese ser automático se reduciría significativamente su coste.

Page 12: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

A mediados de los años 70 distintos autores presentaron metodologías para la generación automática de datos de prueba orientados a la trayectoria en las publicaciones.

Page 13: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

Etapa 3: 1979-1982La orientación de las pruebas a la detección.

Page 14: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

En 1979, Myers describió el modelo orientado a la detección de pruebas y definió éstas como “el proceso de ejecutar un programa con la intención de encontrar errores”.

Page 15: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

En 1982, surge una nueva metodología orientada a la automatización de casos de prueba denominada “aleatoria”. Publicada en “Automatic generation of random selfchecking test cases” por Bird y Muñoz.

Page 16: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

Etapa 4: 1983 -1987La orientación de las pruebas a la evaluación

Page 17: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

En 1983, el “Institute for Computer Sciences and Technology of the National Bureau of Standars” publica una línea de investigación especialmente orientada a los sistemas de procesamiento de información federal (FIPS). En la cual se describe una metodología que integra el análisis, la revisión y las actividades de prueba con el fin de ofrecer una evaluación del producto a lo largo del ciclo de vida del software.

Page 18: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

Filosofía de FIPS“Ninguna técnica de verificación

y validación puede garantizar la corrección, es decir, un software libre de errores. Sin embargo, una cuidadosa elección de técnicas para un proyecto especifico puede ayudar a asegurar el desarrollo y el mantenimiento de la calidad del software de un proyecto”

Page 19: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

En 1979, dado el desarrollo de las pruebas hasta ese momento, Glenford J. Myers promovió que la Ingeniería del Software separase las disciplinas fundamentales del desarrollo del software de la verificación y validación, disciplina que abarcaría las pruebas del software.

Page 20: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

Ese mismo año, un grupo del comité técnico de ingeniería del software del IEEE comenzó a trabajar en un estándar para la documentación de las pruebas del software.

Como resultado, el estándar ANSI/IEEE STD 829-1983 fue publicado en 1983 especificando el contenido y el formato de ocho documentos estándares.

Page 21: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

Las principales diferencias existentes entre la propuesta ofrecida en el estándar ANSI/IEEE STD 829-1983 y las prácticas realizadas por aquel entonces, residían en las especificaciones de la planificación y el diseño de las pruebas.

Page 22: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

En 1984 el congreso del gobierno americano aprobó la creación de un organismo de investigación para el desarrollo de modelos de mejora para los problemas en el desarrollo de los sistemas de software, y evaluar la capacidad de respuesta y fiabilidad de las compañías que suministran software al Departamento de Defensa (DoD), dando lugar al Instituto de Ingeniería del Software (SEI).

Page 23: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

Años más tarde, un segundo grupo perteneciente al IEEE comenzó a desarrollar un estándar basado en las pruebas unitarias. Como resultado, el estándar ANSI/IEEE STD 1008-1987 fue publicado en 1987.

Page 24: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

Un año después de comenzarse a desarrollar el estándar orientado a las pruebas unitarias, en 1985 sus autores introdujeron aquel proceso a lo largo de los distintos niveles de prueba existentes, dando como resultado una metodología conocida como “el proceso de evaluación y de pruebas sistemáticas” (STEP) .

Page 25: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

Etapa 5: 1988La orientación de las pruebas a la prevención

Page 26: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

En 1989, Watts Humphrey y Ron Radice extendieron los principios desarrollados por Deming para su aplicación a la industria del software a través de sus trabajos en IBM y en el SEI.

Ya en la década de los 90, es publicado el libro “Software Testing Techniques” el cual hace gala de un gran catalogo de técnicas de prueba

Page 27: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

En 1991, Hetzel estableció el proceso de pruebas como la planificación, el diseño, la implementación y la ejecución de las pruebas y sus entornos.

Page 28: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

Pero 1991 fue un año especialmente significativo ya que también vio la luz el proyecto comenzado años más tarde por el SEI, el Modelo de Madurez de las Capacidades para el Software (SW-CMM, Capability Maturity Model for Software).

Page 29: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

Calidad del Software

Page 30: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

Según IEEE para la ingeniería de software

“El grado con el cual un sistema, componente o proceso cumple con los requerimientos y con las necesidades y expectativas del usuario ”

Page 31: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

Actividades PrincipalesGarantía de calidad. El establecimiento de

un marco de trabajo de procedimientos y estándares organizacionales que conduce a software de alta calidad.

Planificación de la calidad. La selección de procedimientos y estándares adecuados a partir de este marco de trabajo y la adaptación de éstos para un proyecto software específico.

Control de calidad. La definición y fomento de los procesos que garanticen que los procedimientos y estándares para la calidad del proyecto son seguidos por el equipo de desarrollo de software.

Page 32: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.
Page 33: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.
Page 34: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

Proceso para el desarrollo de SwTambién denominado ciclo de

vida del desarrollo de software es una estructura aplicada al desarrollo de un producto de software. Hay varios modelos a seguir para el establecimiento de un proceso para el desarrollo de software, cada uno de los cuales describe un enfoque diferente para diferentes actividades que tienen lugar durante el proceso.

Page 35: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

Actividades de desarrollo de SwPlanificaciónImplementaciónPruebas DocumentaciónDespliegue Mantenimiento

Page 36: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

Modelos de desarrollo de SwModelo en casadaModelo lineal secuencialRUP

Page 37: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

Debido a la imposibilidad humana de trabajar y comunicar de forma perfecta, el desarrollo de software ha de ir acompañado de una actividad que garantice la calidad.

Page 38: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

Los proyectos de desarrollo de software han padecido tradicionalmente problemas de calidad, tanto en el propio proceso de desarrollo como en los productos de entrega.

Page 39: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

Primer problemaEl primer problema pone de

manifiesto una falta de calidad en el proceso de gestión de los proyectos de software:

Cuanto menor es ésta, peor es el grado de adherencia a los plazos y a los esfuerzos.

Page 40: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

Segundo ProblemaEl segundo problema indica la

falta de calidad de los productos desarrollados: cuanto menor es ésta, mayor es el número de defectos y, consecuentemente, mayor será el número de fallos que aparecerán durante la ejecución del software.

Page 41: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

Para hacer frente a esta situación la comunidad involucrada en el desarrollo del software ha reaccionado con diversas iniciativas metodológicas, Como:

Page 42: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

Definición de Modelos de ReferenciaDe esta forma nació el Modelo

CMMI, diseñado por el SEI, que establece cinco niveles de madurez, especificando para cada uno de ellos los objetivos que deben ser cubiertos para que una organización pueda ser calificada con el nivel de madurez correspondiente.

Page 43: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

Se calcula que el 75% de las organizaciones dedicadas al desarrollo de software está en el nivel de madurez 1, es decir, en el más bajo.

Page 44: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

Normas y GuíasEl establecimiento de normas y guías

para el desarrollo de software, Éstas han sido promovidas o generadas por entidades de reconocido prestigio (IEEE, CEI, BSI, AENOR) y se han orientado a definir el ciclo de vida del software, a normalizar la terminología o a desarrollar aspectos específicos del ciclo de vida, tales como la documentación, la verificación y validación o las pruebas de componentes.

Page 45: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

Como resultado de estas iniciativas, las empresas han ido tomando consistencia de la necesidad de mejorar los procesos de desarrollo de software demandado nuevos servicios a las empresas consultoras de TI.

Page 46: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

Características del enfoqueLas pruebas no son una fase

aislada del proyecto si no que constituyen en sí un proyecto con su propio ciclo de vida.

Los equipos de desarrollo y de pruebas son independientes, con funciones y perfiles diferenciados.

Page 47: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

Antes de la ejecución de las pruebas se lleva a cabo todo un proceso metodológico que facilita y asegura el éxito de las mismas.

En el momento de la ejecución, está todo previsto, tanto los aspectos funcionales como técnicos, evitándose la improvisación.

Page 48: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

Para alcanzar mayores niveles de eficiencia en el desarrollo de software, es de considerar un planteamiento más extenso y profundo de lo que habitualmente se conoce como fase de pruebas, ya que aunque no garantice por sí misma la calidad de sw implantado si aporta beneficios .

Page 49: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

BeneficiosObjetivos de costosPlazosCalidad finalProducto final

Page 50: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

MoProSoft. Modelo de procesos para la industria del swModelo para la mejora y

evaluación de procesos de desarrollo y mantenimiento de sistemas y productos de software.

Desarrollado por la Asociación mexicana para la calidad en ingeniería de Sw.

Considera que modelos como CMMI e ISO/IEC 15504 no son apropiados para pequeñas y medianas empresas.

Page 51: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

Criterios para la elaboración de este modelo de procesos:La estructura de procesos resultante

debe ser acorde a la estructura generalmente empleada por las organizaciones de la industria del sw.

La alta dirección tiene un papel importante a través de la planeación estratégica.

El modelo considera la gestión como proveedora de recursos, procesos y proyectos.

Page 52: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

El modelo integra con calidad y consistencia los elementos indispensables para la definición de los procesos y las relaciones entre ellos.

El modelos destaca la importancia de la gestión de recursos, con especial relevancia en aquellos que componen el conocimiento de la organización: productos generados por proyectos, datos de los proyectos…

Page 53: Verificación 3.1 Marco de Referencia para el desarrollo de software Verificación es la acción de verificar (comprobar o examinar la verdad de algo). La.

Se basa en los modelos de procesos ISO 9001:2000