Está en la página 1de 36

N

I
C
A
D
I
L
A
V
Y
N

I
C
A
C
I
F
I
VER
E
R
A
W
T
F
O
DEL S
ny
i
c
a
c
if
r
e
v
la
a
in
c
c
u
d
o
r
t
In
.
1
d
a
Unid
e
r
a
w
ft
o
s
l
e
d
n
i
validac

UNIDAD 1
1.
2.
3.

CALIDAD EN EL SOFTWARE
EL PROCESO DE VERIFICACIN Y VALIDACIN
DEL SOFTWARE
INTEGRACIN DE LA VERIFICACIN Y
VALIDACIN AL PROCESO DE DESARROLLO DE
SOFTWARE

INTRODUCCIN A LA V&V

E
D
O
T
N
E
I
M
A
R
U
CALIDAD Y ASEG
E
R
A
W
T
F
O
S
L
E
LA CALIDAD D
UNA VISIN GENERAL

D
A
D
I
L
A
C
A
QU ES L
?
E
R
A
W
T
F
EN EL SO

QU ES LA CALIDAD DEL
SOFTWARE?
LA

CALIDAD DEL SOFTWARE DEBE SER DEFINIDA DESDE LA


PERSPECTIVA DEL USUARIO; EST RELACIONADA CON LA
CONCORDANCIA DEL SOFTWARE CON LOS REQUERIMIENTOS
DEL USUARIO, Y CON LA VISIN QUE TIENE EL MISMO USUARIO
CON RESPECTO AL SOFTWARE. SI EL SOFTWARE ES DE CALIDAD
PARA EL USUARIO, ENTONCES ES DE CALIDAD.

LAS PREGUNTAS CLAVE SON, ENTONCES:


QUIENES SON LOS USUARIOS?
QU ES IMPORTANTE PARA ELLOS?
CMO SE RELACIONAN SUS PRIORIDADES CON LA FORMA

EN QUE NOSOTROS CONSTRUIMOS, EMPAQUETAMOS Y


DAMOS SOPORTE A NUESTROS PRODUCTOS?

INTRODUCCIN A LA V&V

CALIDAD DEL SOFTWARE


ES EL GRADO EN EL QUE EL PRODUCTO SOFTWARE
INCORPORA

UN

CONJUNTO

DE

CARACTERSTICAS,

DEFINIDAS POR LA INDUSTRIA, DE TAL MANERA QUE SE


GARANTIZA SU EFICIENCIA DE USO, RESPECTO A LOS
REQUERIMIENTOS DE LOS CLIENTES.
ES DECIR, CALIDAD DE SW ES EL GRADO EN EL QUE UN
CLIENTE PERCIBE QUE EL SOFTWARE CUMPLE CON SUS
EXPECTATIVAS.

INTRODUCCIN A LA V&V

QU SUCEDE SI NO HAY CALIDAD


DE SOFTWARE ?
PROGRAMAS QUE NO HACEN EXACTAMENTE
LO QUE SE ESPERA.

PROYECTOS QUE SE ABANDONAN DEBIDO A


SOBRECOSTOS.

SISTEMAS QUE SE DESCARTAN PORQUE SON


DEMASIADO DIFCILES DE OPERAR.

CRONOGRAMAS INCUMPLIDOS.
Introduccin a la V&V

QU IMPLICA CALIDAD DEL


SOFTWARE?

Introduccin a la V&V

ES

DECIR CALIDAD DE SOFTWARE,


IMPLICA EVALUAR DOS MBITOS:

EL PRODUCTO FINAL.
LOS PROCESOS.

LOS MBITOS DEL CONTROL DE CALIDAD


ESTN ESTANDARIZADOS!!!!
STOS ESTNDARES SE
MODELOS DE REFERENCIA

Introduccin a la V&V

LLAMAN

MODELOS DE REFERENCIA POR


MBITOS

Introduccin a la V&V

10

CUNTO CUESTA LA CALIDAD?


EL

COSTO DE EMPRENDER ACTIVIDADES PARA


ASEGURAR LA CALIDAD CUESTA, POR LO TANTO, ES
RECOMENDABLE INVERTIR EN STAS ACTIVIDADES?
LA RESPUESTA:
C1
CUNTO
CUESTAN
LOS
DEFECTOS
INVIRTIENDO EN CALIDAD?
C2 CUNTO CUESTA INVERTIR EN ASEGURAR LA
CALIDAD?
C3 CUNTO CUESTA NO HACER NADA?

Si C3 > C1 + C2,
entonces invertir
Introduccin a la V&V

11

EL COSTO DE LAS FALLAS


Requerimientos
y Especificacin

Entre ms tarde se
detecten, ms
costoso es
resolverlos.
$

$
1

Modelado
de anlisis
Distintos estudios han mostrado
que el costo relativo de
encontrar un defecto durante los
requerimientos, puede
incrementarse ms de 50 veces
si se encuentra en la fase de
pruebas, y ms de 100 veces si
se detecta despus de liberado
el producto.

Diseo

$
20

Codificacin

$
50

Pruebas

$
100

Mantenimiento
Introduccin a la V&V

12

CUNTO CUESTA LA CALIDAD?


EL COSTO DE REALIZAR ACTIVIDADES DE V&V
ES CONTROLABLE Y FCIL DE ESTIMAR, EN
CAMBIO EL COSTO DE NO HACERLAS NO ES
CONTROLABLE NI FCIL DE MEDIR.

Introduccin a la V&V

13

MIDIENDO EL COSTO DE LA CALIDAD


LA MEDICIN DEL COSTO DE LA CALIDAD COMPRENDE LAS
SIGUIENTES TRES ACTIVIDADES:

Deteccin

Enfocada en tareas que ayudan a


encontrar defectos.

Prevencin

Centrada en tareas que ayudan a


prevenir que los defectos ocurran.

Incluye una variedad de tareas


relacionadas con el aislamiento y la
Remocin
correccin de errores, la
verificacin
de que han sido
14
corregidos, y el costo asociado a
preparar medios de distribucin y
Introduccin a la V&V redistribucin de software.

E
D
O
T
N
E
I
M
A
R
U
QU ES EL ASEG
?
E
R
A
W
T
F
O
S
L
E
LA CALIDAD D

ASEGURAMIENTO DE LA
CALIDAD DEL SOFTWARE
ES LA PRCTICA DE ASEGURAR QUE LOS ESTNDARES, PROCESOS Y
PROCEDIMIENTOS USADOS EN LOS PROYECTOS DE DESARROLLO DE
SOFTWARE SON APROPIADOS, Y ESTN IMPLEMENTADOS
CORRECTAMENTE.

EL PROCESO DE ASEGURAMIENTO DE LA CALIDAD ES UN PROCESO

PARA PROVEER UNA SEGURIDAD ADECUADA DE QUE LOS PRODUCTOS


DE SOFTWARE Y PROCESOS EN EL CICLO DE VIDA DE UN PROYECTO
ESTN DE CONFORMIDAD CON LOS REQUERIMIENTOS
ESPECIFICADOS, Y ADHERIDOS A LOS PLANES ESTABLECIDOS

Introduccin a la V&V

16

ASEGURAMIENTO DE LA
CALIDAD DEL SOFTWARE
NO SE REFIERE SLO AL DESCUBRIMIENTO Y CORRECCIN DE
DEFECTOS, SINO A EVITAR QUE ESTOS OCURRAN.

PARA ESTO ES NECESARIO:


CONOCER LAS CAUSAS

DE LOS DEFECTOS PARA PODER


EVITARLOS, IDENTIFICANDO Y EVITANDO ESTAS CAUSAS
ANTES DE QUE SE CONVIERTAN EN PROBLEMAS O FALLAS
EN EL SOFTWARE O EL PROCESO DE DESARROLLO.
IDENTIFICANDO LAS CAUSAS DE LOS PROBLEMAS
OCURRIDOS, PARA TRATAR DE EVITARLAS EN FUTUROS
PROYECTOS.

Introduccin a la V&V

17

ASEGURAMIENTO DE LA
CALIDAD DEL SOFTWARE
ACTIVIDADES PRINCIPALES:

VERIFICACIN Y VALIDACIN DEL SOFTWARE


EVITAR LAS CAUSAS DE LAS FALLAS EN EL PROCESO Y LOS
PRODUCTOS.

PRUEBAS DEL SOFTWARE


ENCONTRAR LAS FALLAS EN LOS PRODUCTOS Y PROCESOS PARA
CORREGIRLAS.

ADMINISTRACIN DE LA CONFIGURACIN DEL SOFTWARE


DOCUMENTAR Y RASTREAR LOS PROBLEMAS Y FALLAS PARA
BUSCAR EVITARLAS EN EL FUTURO.

Introduccin a la V&V

18

I
C
A
C
I
F
I
R
E
QU ES LA V
L
E
D
N

I
C
A
D
Y VALI
?
E
R
A
W
T
F
O
S

VERIFICACIN Y VALIDACIN
SON ACTIVIDADES ENCAMINADAS A DETERMINAR SI
SE EST CONSTRUYENDO EL PRODUCTO
CORRECTO DE LA MANERA CORRECTA.

SE UTILIZA PARA MOSTRAR QUE EL SISTEMA SE

AJUSTA A SU ESPECIFICACIN Y QUE CUMPLE CON


LAS EXPECTATIVAS DEL CLIENTE QUE LO
COMPRAR

Introduccin a la V&V

20

VERIFICACIN Y VALIDACIN
DURANTE

Y
DESPUS
DEL
PROCESO
DE
IMPLEMENTACIN, EL PROGRAMA QUE SE EST
DESARROLLANDO DEBE SER COMPROBADO PARA
ASEGURAR QUE SATISFACE SU ESPECIFICACIN Y
ENTREGA LA FUNCIONALIDAD ESPERADA POR LAS
PERSONAS QUE PAGAN POR EL SOFTWARE.

ESTOS PROCESOS DE ANLISIS Y PRUEBA SE LES


CONOCE COMO VERIFICACIN Y VALIDACIN

Introduccin a la V&V

21

I
C
A
D
I
L
A
V
Y
N
LA VERIFICACI
S
A
T
N
I
T
S
I
D
S
A
SON DOS COS

VERIFICACIN Y VALIDACIN
EL PAPEL DE LA VERIFICACIN IMPLICA COMPROBAR QUE
EL SOFTWARE EST DE ACUERDO CON SU
ESPECIFICACIN.

LA VALIDACIN BUSCA ASEGURAR QUE EL SISTEMA

SOFTWARE SATISFACE LAS EXPECTATIVAS DEL CLIENTE.


ES DECIR, VA MS ALL.

Introduccin a la V&V

23

VERIFICACIN
AYUDA A CONTESTAR LA SIGUIENTE PREGUNTA:
ESTAMOS CONSTRUYENDO EL PRODUCTO DE LA
MANERA CORRECTA?

Introduccin a la V&V

24

VERIFICACIN
ES EL PROCESO DE DETERMINAR SI LOS PRODUCTOS DE

UNA DETERMINADA FASE DEL CICLO DEL PROCESO DE


DESARROLLO
CUMPLEN
LOS
REQUERIMIENTOS
ESTABLECIDOS DURANTE LA FASE PREVIA.

LAS

ACTIVIDADES
DE
VERIFICACIN
SON
DESARROLLADAS DE MANERA CONCURRENTE CON LAS
ACTIVIDADES DEL DESARROLLO DE SOFTWARE.

Introduccin a la V&V

25

VERIFICACIN
LA VERIFICACIN SE DA EN TORNO A TRES PROCESOS BSICOS:
INSPECCIN
ES UNA REVISIN TCNICA A FONDO, RIGUROSA Y
FORMAL, DISEADA PARA IDENTIFICAR PROBLEMAS TAN
CERCA DE SU PUNTO DE ORIGEN COMO SEA POSIBLE.
MEDICIN
ES EL PROCESO POR MEDIO DEL CUAL SE MIDEN LA
MAYOR CANTIDAD DE ATRIBUTOS DEL PRODUCTO Y
PROCESO, CON EL FIN DE TENER INFORMACIN
CUANTIFICABLE TIL PARA LA MEJORA CONTINUA.
ADMINISTRACIN DE LA CONFIGURACIN

Introduccin a la V&V

26

VALIDACIN
AYUDA A CONTESTAR LA SIGUIENTE PREGUNTA:

ESTAMOS CONSTRUYENDO EL PRODUCTO CORRECTO?,


O EN SU DEFECTO, CONSTRUIMOS EL PRODUCTO
CORRECTO?

Introduccin a la V&V

27

VALIDACIN
ES EL PROCESO DE EVALUAR EL SOFTWARE AL

FINAL DEL PROCESO DE DESARROLLO PARA


ASEGURAR
QUE
CUMPLE
CON
LOS
REQUERIMIENTOS.

LAS

ACTIVIDADES DE VALIDACIN SE DAN


DESPUS DE QUE EL SOFTWARE HA SIDO
DESARROLLADO, PARA DETERMINAR SI SE HAN
IMPLEMENTADO
CORRECTAMENTE
LOS
REQUERIMIENTOS.

Introduccin a la V&V

28

VALIDACIN
LA VALIDACIN COMPRENDE ACTIVIDADES DENTRO DE TRES
PROCESOS BSICOS:

PRUEBAS
MEDICIN
AUMENTO DE LA CONFIABILIDAD DEL SOFTWARE
AYUDA EN LA TOMA DE DECISIONES CON
RESPECTO A CUNDO HAY QUE DEJAR DE
PROBAR Y LIBERAR EL SOFTWARE.

Introduccin a la V&V

29

VERIFICACIN Y VALIDACIN
EL OBJETIVO ES ESTABLECER LA SEGURIDAD DE QUE EL
SISTEMA ES LO SUFICIENTEMENTE BUENO PARA SU USO
PREDETERMINADO.

Nivel de confianza requerido

La funcin
del software

Introduccin a la V&V

Las expectativas
del usuario

30

El entorno
de mercado

FUNCIN DEL SOFTWARE


El nivel de confianza depende de:
Lo crtico que sea al software para
una organizacin.
INTRODUCCIN A LA V&V

31

EXPECTATIVAS DEL USUARIO


El nivel de
confianza
depende de:

Lo que el cliente
est dispuesto a
aceptar

Algunos usuarios estn dispuestos


a aceptar fallos en los sistemas
cuando los beneficios de su uso
son mayores que sus desventajas.
INTRODUCCIN A LA V&V

32

ENTORNO DE MERCADO
El nivel de
confianza
depende
de:

INTRODUCCIN A LA V&V

Los programas
competidores, el precio
que los clientes estn
dispuestos a pagar y la
agenda requerida para
entregar el sistema.

33

VERIFICACIN Y VALIDACIN
Existen dos
aproximaciones
para el anlisis
y comprobacin
de los sistemas:

Introduccin a la V&V

Inspecciones de software:
analizan y comprueban las
representaciones del sistema.
Pruebas del software: implican
ejecutar una implementacin del
software con datos de prueba.

34

VERIFICACIN Y VALIDACIN
Inspecciones
de software

Especifcaciones
de requerimientos

Diseo de
alto nivel

Especifcacin
formal

Programa

Prueba de
programas

Prototipo

INTRODUCCIN A LA V&V

Diseo
detallado

35

Proceso de validacin y verificacin.

Es un conjunto de procedimientos, actividades, tcnicas


y herramientas que se utilizan paralelamente al
desarrollo de software.
Su finalidad es asegurar que un
producto resuelve el problema
inicialmente planteado.

Verificacin
.

Validacin.

Responde a la pregunta: se ha
construido correctamente el
software?

Responde a la pregunta: se ha
construido el software correcto?

Comprueba la
consistencia del
software con
respecto a
especificaciones y
requisitos.

El proceso
determina si los
productos
resultantes de una
fase del ciclo de
vida software
cumplen los
requisitos
establecidos en la
fase anterior.

El proceso
determina si el
producto
resultante es
completo,
consistente y
correcto para
comenzar la
siguiente fase.

Comprueba si lo
que se ha
especificado e
implementado es lo
que el usuario
realmente desea.

El proceso
determina si el
software cumple su
especificacin.

El proceso asegura
que el software
fabricado se
comporta como se
espera y de
acuerdo a las
expectativas del
cliente.