Vous êtes sur la page 1sur 9

UNIVERSIDAD

NACIONAL
AUTONOMA
DE
MEXICO

FACULTAD DE
INGENIERIA

DIVISION DE INGENIERIA ELECTRICA


CARRERA: INGENIERO EN COMPUTACION
AREA: INGENIERIA DE SOFTWARE
JEFE DEPTO: M.C. ALEJANDRO VELAZQUEZ MENA
COORD: I. LUIS SERGIO VALENCIA CASTRO

NOTAS DEL CURSO


MATERIA: VERIFICACION Y VALIDACION DE SOFTWARE
PROFESOR: M.G.I.E. EDUARDO HERNANDEZ OLIVA
VERSION: 13.0 AGOSTO 2017
V&VS Curso UNAM, FI I.- Introduccin y Panormica

MGIE. Eduardo Hernndez Oliva


Director General ICONSOFT
Profesor de Asignatura A
Facultad de Ingeniera
UNAM

_______________________________________________________________________________________________________________________________

VERIFICACION Y VALIDACION DEL SOFTWARE


(V&VS)

1.- Introduccin y Panormica


Objetivo: El alumno(a) explicar (verbalmente y/o mediante un ensayo) los antecedentes histricos de
la verificacin y validacin, los trminos de confiabilidad, verificacin, validacin y certificacin y los
aspectos conceptuales de las pruebas en la ingeniera de la programacin.

Duracin: 2 horas

1.1 Introduccin

Antecedentes histricos de la V&VS


En los primeros das la programacin se vea como un arte, no existan tcnicas ni mtodos de desarrollo
de software, stos poco a poco se fueron desarrollando y expandiendo en su uso. El programador aprenda
su oficio mediante prueba y error. El mundo del software era virtualmente indisciplinado.

El software es un elemento lgico, es el resultado del intelecto humano, por lo que no est libre de errores.
El software se desarrolla no se fabrica, no se deteriora con el uso (un ciclo while funciona para 1, 10, 1000
un milln de veces, no se sobrecalienta la instruccin de control while o if, tampoco se le forma un hoyo
por tanto uso).

La programacin se ha convertido hoy en da en una actividad profesional y ya no es un arte.

Quiz el antecedente histrico ms relevante de la verificacin y validacin del software es la problemtica


conocida como la crisis del software, esto se refiera a un conjunto de problemas encontrados en el
desarrollo de software para computadoras. Problemas como nula planificacin, mala comunicacin, errtica
estimacin de costos, baja productividad, mala calidad, insatisfaccin y falta de confianza de los clientes,
la falta de pruebas del software, dificultad de mantenimiento, falta de documentacin, etc., que llevaban a
los proyectos a fracasos totales, con grandes prdidas econmicas.

De este trmino les invito a investigar las siguientes ligas y documentos:


http://es.wikipedia.org/wiki/Crisis_del_Software
http://www.cs.utexas.edu/~EWD/transcriptions/EWD03xx/EWD340.html

ICONSOFT Pgina 1 de 8
V&VS Curso UNAM, FI I.- Introduccin y Panormica

El desarrollo del software envuelve una serie de actividades de produccin, donde las posibilidades de
errores humanos son enormes. Los errores pueden comenzar desde el primer momento del proceso en que
se definen los objetivos o en etapas posteriores como el anlisis, diseo, desarrollo, pruebas, etc.
Una gran parte de los errores se debe a una mala comunicacin entre el cliente, la organizacin y el equipo
de trabajo que desarrolla, ver figura 1.1.

Figura 1.1

Otros antecedentes de V&VS


Anteriormente la calidad era responsabilidad exclusiva del programador. Los estndares de garanta de
calidad para el software se introdujeron en los contratos militares de desarrollo de software durante el
decenio de 1970 y se ha extendido rpidamente en el desarrollo del software en el mundo de los negocios.

El xito el software se mide por varios factores, el principal es que realice lo que deba de hacer, (el grado
en el cual se cumplen los propsitos para los cuales fue concebido) facilidad de uso, costo adecuado y que
sea de calidad. Los errores ms comunes en el fracaso del software se deben a defectos humanos ms
mundanos, por falta de comunicacin o una comunicacin no efectiva, por resistencias al cambio, por la
alta dependencia que se tiene con programadores o analistas, por la falta de documentacin y quiz lo
principal es por no saber si se est construyendo bien y se est satisfaciendo lo que el o los usuarios
necesitan, etc. Para cumplir con la calidad, los procesos y productos se deben de verificar y validar, con
todo el personal involucrado en el proyecto.
Si no existen las actividades de V&VS no tenemos una regla que permita medir el cumplimientos de
requerimientos, los procesos que debe incluir el proyecto, los artefactos (entregables) necesarios para el
avance del sistema, as como para documentarlo, las pruebas requeridas para comprobar un correcto
funcionamiento, etc., en otras palabras son el xito del proyecto de software.

ICONSOFT Pgina 2 de 8
V&VS Curso UNAM, FI I.- Introduccin y Panormica

Que es la V&VS
La verificacin y validacin del software es una disciplina tcnica de la Ingeniera de Software, la cual tiene
como propsito ayudar a las organizaciones de desarrollo a construir software de calidad durante el ciclo
de vida del software. Determinar si los procesos y productos de software, satisfacen plenamente las
necesidades de uso y del usuario segn los requerimientos especificados. Esta determinacin debe incluir
actividades de adquisicin, planeacin anlisis, diseo, desarrollo, pruebas, instalacin, operacin y
mantenimiento de procesos y productos de software. La V&VS de procesos, evala el software en el
contexto del sistema, incluyendo el ambiente operacional, hardware, interfaces de software, operadores y
usuarios. Para llevar a cabo la V&VS se deber especificar los esfuerzos necesarios dentro del marco del
proyecto, tales como: Organizacin, Agenda, Recursos, Responsabilidades, Herramientas, Tcnicas y
Metodologas. Para la norma mexicana PROSOFT, la verificacin es la confirmacin mediante la
aportacin de evidencia objetiva, que se han cumplido los requisitos especificados.

Qu es la calidad de software?
La podemos definir como el conjunto de caractersticas mensurables (cosas que se pueden comparar para
conocer estndares) que debe cumplir el software, para que este realice lo que debe hacer, fcil de usar, que
se entregue en presupuesto y en tiempo estimado, que el software no falle, sea rpido, etc., en pocas palabras
que satisfaga plenamente o supere las expectativas del usuario. En captulos posteriores se detallarn otros
factores de calidad como los propuestos por McCall y los referidos al tringulo de calidad de Jeffrey M.
Voas.

1.2 Panormica

Anteriormente cuando se hablaba de verificacin y validacin de software se entenda que era


exclusivamente para la fase de desarrollo y en donde se deban probar exhaustivamente todos los
componentes del sistema, as como en forma integral y funcional. Hoy en da esas actividades se llevan a
cabo en todas las etapas del ciclo de vida del desarrollo del software.

Dentro del ciclo de vida del software, veremos donde se entregan los requerimientos y cules son los
resultados de cada una de las etapas del ciclo.
Segn el ciclo del software para el autor: Roger S. Pressman (3ra impresin 1984)

Existen tres fases: Definicin, Desarrollo y Mantenimiento y donde las principales actividades y artefactos
resultados (entregables) son:

ICONSOFT Pgina 3 de 8
V&VS Curso UNAM, FI I.- Introduccin y Panormica

ICONSOFT Pgina 4 de 8
V&VS Curso UNAM, FI I.- Introduccin y Panormica

ICONSOFT Pgina 5 de 8
V&VS Curso UNAM, FI I.- Introduccin y Panormica

Como podr apreciar en cada una de las actividades de cada etapa existen productos o artefactos los cuales
son documentos que se pueden verificar y validar, tanto con el cliente, programadores, analistas y dems
equipo de desarrollo.

Confiabilidad
La confiabilidad de software se define como la probabilidad de que un programa opere correctamente
durante un periodo de tiempo especificado, en un ambiente determinado. La confiabilidad es un
componente fundamental en la calidad de software, y su evaluacin es cada vez ms importante, debido a
que los modelos de calidad tienen una aplicacin creciente en los procesos de desarrollo de software.

ICONSOFT Pgina 6 de 8
V&VS Curso UNAM, FI I.- Introduccin y Panormica

Verificacin
Este trmino se refiere a si se est construyendo bien aquellos artefactos que se especificaron en una etapa
anterior. La verificacin pregunta si se est construyendo bien. La verificacin es acerca de buenos
procesos. Busca defectos en los entregables de las fases del ciclo de vida de desarrollo de software,
comprobando que hemos seguido el proceso y as sucesivamente.
Segn el glosario del ISTQB (International Software Testing Qualifications Board) Es la confirmacin
mediante un examen y a travs de la provisin de evidencia objetiva de que los requisitos especificados han
sido cumplidos.

Validacin
Se refiere a si se satisfacen los requerimientos segn se establecen en las especificaciones del cliente. La
validacin pregunta si se construye lo correcto, la validacin es acerca de buenos productos.
Segn el glosario del ISTQB (International Software Testing Qualifications Board) Es la confirmacin
mediante un examen y a travs de la provisin de evidencia objetiva de que los requisitos especificados han
sido cumplidos para un uso especfico previsto o una aplicacin.

Una norma internacional que pudiera utilizarse como gua es la IEEE 1012 en la versin actualizadas del
2016. A continuacin se muestra en la siguiente pgina un diagrama de etapas y actividades de dicha norma.

Certificacin
El trmino certificacin relaciona una serie de factores que debe cumplir un producto para otorgarle ese
trmino. El software como un producto creado por la mente del hombre es susceptible a tener una infinidad
de errores. Por lo que no es probable que existan productos de software certificados y que aseguren que
estn libres de errores. Imagnese que un producto se diga 100% certificado y que al cabo de su
comercializacin y distribucin, descubran que hay fallas de seguridad, de inconsistencia, de omisin,
seguridad por mencionar algunas, esto podra causar una serie de demandas econmicas que llevara a la
quiebra a cualquier Empresa dedicada al desarrollo de software. Y an as, tenemos software que as se
comercializa y para subsanar esos defectos, aparecen parches, actualizaciones o con un trmino ms
rimbombante service pack.
Ms bien, se puede certificar ciertos Procesos, Personas o Empresas que cumplan ciertos lineamientos
nacionales o internacionales y tener una calificacin de certificacin.

Pruebas en la Ingeniera de la Programacin


Para V&V software es necesario probarlo en sus diferentes etapas de desarrollo, para ello se disean casos
de prueba, un caso exitoso es aquel que descubre errores en el sistema, existen varios tcnicas para probar
sistemas, utilizadas en diferentes tiempos del desarrollo del software, algunas de estas pruebas son:
De unidad, integracin, validacin, seguridad, recuperacin, resistencia, aceptacin, instalacin, alfa, beta,
etc., y que en captulos posteriores se van a detallar.

A continuacin, se muestra un ejemplo de las actividades de Verificacin y Validacin de Software de


acuerdo al estndar del IEEE 1012 1998.

ICONSOFT Pgina 7 de 8
V&VS Curso UNAM, FI I.- Introduccin y Panormica

ICONSOFT Pgina 8 de 8

Vous aimerez peut-être aussi