Académique Documents
Professionnel Documents
Culture Documents
TEMA 4
Introduccin al aseguramiento de la
calidad del Software
Introduccin al aseguramiento de la
calidad del Software
Algunos conceptos
Gestin de la calidad del software:
Aspecto de la funcin general de la gestin que determina
y aplica la poltica de calidad [AENOR].
Aseguramiento de la calidad del software:
Conjunto de actividades planificadas y sistemticas
necesarias para aportar la confianza en que el producto
satisfar los requisitos dados de calidad [AENOR, 1992].
Conjunto de actividades para evaluar el proceso mediante
el cual se desarrolla el producto. [IEEE].
Control de calidad del software:
Tcnicas y actividades de carcter operativo utilizadas
para satisfacer los requisitos relativos a la calidad,
centradas en dos objetivos fundamentales: mantener bajo
control un proceso y eliminar las causas de defectos en las
diferentes fases del ciclo de vida [AENOR].
Proceso de verificar el propio trabajo o el de un
compaero. [IEEE].
Verificacin y validacin:
Verificacin. Comprobar si los productos construidos
en una fase del ciclo de vida satisfacen los requisitos
establecidos en la fase anterior.
Validacin: Comprobar si el software construido
satisface los requisitos de usuario.
Introduccin al aseguramiento de la
calidad del Software
El coste de calidad
Coste de prevencin:
Planificacin de la calidad.
Revisiones tcnicas formales.
Equipo de pruebas.
Formacin.
Costes de evaluacin:
Inspeccin en el proceso y entre procesos.
Calibrado y mantenimiento del equipo.
Pruebas.
Costes de fallos:
Internos: revisin y reparacin, ...
Externos: resolucin de quejas. devolucin y sustitucin del
producto, ...
1000
Coste
relativo
40 a 1000
30 a 70
100
15 a 40
10
10
1
3a6
1
Requisitos
Diseo
Cdigo
Pruebas
de unidad
Pruebas
Explotacin
de sistema
Introduccin al aseguramiento de la
calidad del Software
Introduccin al aseguramiento de la
calidad del Software
Actividades bsicas que garantizan la calidad
del software.
Establecimiento de un plan para el aseguramiento de la
calidad del proyecto:
Se desarrolla durante la planificacin del proyecto
Se revisa por todas las partes involucradas
Aplicacin de metodologas y herramientas en el desarrollo.
Ajuste a los estndares y normas establecidos, ajustndose
en todo momento a la poltica de empresa.
Realizacin de revisiones tcnicas formales.
Controlar los cambios.
Recopilacin y anlisis de mtricas para evaluar tanto la
calidad del producto como la calidad del proceso.
Verificacin y validacin del software.
Realizacin de pruebas
Revisin de las actividades de IS:
Seguimiento de las desviaciones
Verificacin de la realizacin de las correcciones
Asegurar la documentacin de las desviaciones
Registrar lo que no se ajuste a los requisitos
Elaboracin de bases histricas e informes.
7
Introduccin al aseguramiento de la
calidad del Software
Equipo de aseguramiento de la calidad
Es el encargado de realizar el aseguramiento de la calidad
del software.
Sus miembros deben tener como caractersticas:
Titulacin informtica y experiencia en desarrollo de software.
Conocimiento de la organizacin.
Conocimiento de las metodologas de desarrollo y de los
mtodos y tcnicas de control de calidad.
Capacidad de comunicacin oral y escrita.
Capacidad de interrelacin personal.
Capacidad de hacer frente a problemas.
Capacidad de dilogo.
Introduccin al aseguramiento de la
calidad del Software
mbitos del aseguramiento de la calidad
El aseguramiento de la calidad a nivel de empresa u
organizacin consiste en la creacin de una estructura
organizativa apropiada para fomentar el trabajo por la
calidad de todas las personas y departamentos de la
empresa.
En cada proyecto de desarrollo se deben aplicar las
directrices de calidad fijadas a nivel de la organizacin.
Para ello es imprescindible la adaptacin de las mismas a
las condiciones de cada proyecto.
ANSI
(USA)
ISO
(Inter.)
CEN
(Europa)
AENOR
(Espaa)
P l a n e s d e a s e g u r a m i e n to d e l a c a l id a d d e l s o f t w a r e
I E E E 8 2 9 -1 9 9 8
D o c u m e n t a c i n d e p r u e b a s d e l s o f t w a r e
I E E E 9 8 2 .1 ,
9 8 2 .2
D i c c io n a r i o e s t n d a r d e m e d i d a s p a r a p r o d u c i r
s o ftw a re fia b le
IE E E 1 0 0 8 -1 9 8 7
P r u e b a s d e u n id a d d e l s o f t w a r e
IE E E 1 0 1 2 -1 9 9 8
V e r i f ic a c i n y v a l id a c i n d e l s o f t w a r e
IE E E 1 0 2 8 -1 9 9 7
R e v isio n e s d e l s o ftw a re
IE E E 1 0 4 4 -1 9 9 3
C l a s i f i c a c i n e s t n d a r p a r a a n o m a l a s d e l s o f t w a r e
IE E E 1 0 6 1 -1 9 9 2
E s t n d a r p a ra u n a m e to d o lo g a d e m tric a s d e
c a li d a d d e l s o f t w a r e
IE E E 1 2 2 8 -1 9 9 4
P la n e s d e s e g u rid a d d e l so ftw a re
10
11
12
ISO 9000
ISO 9004
GESTIN INTERNA DE LA
CALIDAD
CONCEPTOS Y DIRECTRICES
GENERALES
ISO 9001
DISEO, PRODUCCIN,
INSTALACIN Y POSVENTA
ISO 9002
PRODUCCIN, INSTALACIN
UNE 66-907-91
GUA PARA MANUALES DE
CALIDAD
ISO 9003
INSPECCIN Y ENSAYOS
FINALES
ASEGURAMIENTO EXTERNO
DE LA CALIDAD
13
Aspectos negativos:
Es costoso de implantar, especialmente en las
pequeas empresas.
Muchas veces se hace por obligacin.
Puede existir diferentes interpretaciones de los
apartados del estndar.
Existe publicidad engaosa.
14
Revisin
Facilidad de mantenimiento.
Flexibilidad.
Facilidad de prueba.
Categorizacin
de McCall
Transicin
Portabilidad.
Reusabilidad.
Interoperatividad.
Operacin
Correccin.
Fiabilidad.
Usabilidad.
Integridad.
Eficiencia.
15
Modelo de McCall
Define las siguientes mtricas:
Facilidad de auditora (FA).
Exactitud (EX).
Normalizacin de comunicaciones (NO).
Completitud (COT).
Complejidad (COJ).
Concisin (COC).
Consistencia (COS).
Estructuracin de datos (ES).
Tolerancia al error (TO).
Eficiencia en la ejecucin (EF).
Facilidad de expansin (FAE).
Generalidad (GE).
Independencia del hardware (INH).
Instrumentacin (INS).
Modularidad (MO).
Facilidad de operacin (FAO).
Seguridad (SE).
Autodocumentacin (AU).
Simplicidad (SI).
Independencia del entorno software (INS).
Trazabilidad (FAT).
Formacin (FO).
16
Modelo de McCall
17
Fc = Ci.mi
i=1
Ci = 1.
18
19
20
Total
Grave
Moderado
Leve
Error
EIE
205
22
34
27
68
18
103
24
MCC
156
17
12
68
18
76
17
DDE
48
24
23
IEP
25
15
10
IMI
58
18
31
ERD
130
14
26
20
68
18
36
ELD
45
14
11
12
19
PIE
95
10
12
35
48
11
DII
36
20
14
TLP
60
15
12
19
26
IHM
28
17
VAR
56
15
41
TOTAL
942
100
128
100
379
100
435
100
21
i =1
Procedimientos, instrumentos de
control y elementos auxiliares del
aseguramiento de la calidad
Procedimientos de control
Revisiones: aplicables a productos documentales en las fases
iniciales e intermedias del proyecto.
Revisin mnima: intensidad 0. (DIR, EDS, USR).
Revisiones tcnicas formales: intensidad 1. (DIR, EGC, EDS, USR).
Inspecciones detalladas: intensidad 2. (DIR, EGC, EDS, USR).
23
Procedimientos, instrumentos de
control y elementos auxiliares del
aseguramiento de la calidad
Revisiones e inspecciones
Pretenden detectar manualmente defectos,
mediante la lectura, en productos de desarrollo
impresos en papel.
Fases:
Inicio.
Planificacin: seleccin de participantes y
definicin de roles.
Lanzamiento: explicacin del producto.
Deteccin de defectos.
Bsqueda de defectos.
Actividad individual o de grupo.
Coleccin de defectos.
Evaluacin de los defectos.
Documentacin de defectos.
Correccin y seguimiento.
Los autores corrigen el producto.
El equipo de revisin/inspeccin hace el
seguimiento de la correccin y de la
finalizacin de la inspeccin.
24
Procedimientos, instrumentos de
control y elementos auxiliares del
aseguramiento de la calidad
Evaluacin
Fallos
Prueba
Datos de tasa
de error
Configuracin
de la
Prueba
Depuracin
Resultados
esperados
Modelo de
Fiabilidad
Correciones
Prediccin
Fiabilidad
25
Procedimientos, instrumentos de
control y elementos auxiliares del
aseguramiento de la calidad
CARACTERSTICAS DE UNA BUENA PRUEBA
Una buena prueba ha de tener una alta probabilidad de
encontrar un fallo.
Una buena prueba no debe ser redundante.
Una buena prueba debera ser la mejor de la cosecha.
Una buena prueba no debera ser ni demasiado sencilla
ni demasiado compleja.
FASES DE LA PRUEBA
Diseo de las pruebas (tcnicas?)
Generacin de casos de prueba (datos de prueba?)
Definicin del procedimiento de la prueb (cmo,
donde?
Ejecucin de la prueba
Informe de la prueba (resultados?)
TCNICAS DE PRUEBA
Pruebas estructurales o de Caja Blanca.
Pruebas funcionales o de caja negra.
ESTRATEGIAS DE PRUEBA
Pruebas unitarias.
Pruebas de integracin.
Pruebas de sistema.
Pruebas de aceptacin.
Pruebas de regresin.
26
Procedimientos, instrumentos de
control y elementos auxiliares del
aseguramiento de la calidad
PRUEBAS ESTRUCTURALES
Atienden al comportamiento interno y la estructura del
programa, examinando la lgica interna.
Disear casos de prueba para que se ejecuten:
Todas las sentencias al menos una vez
Todas las condiciones con valor verdadero y falso.
Informacin de entrada: diseo y cdigo.
Hay distintos criterios de cobertura:
Cobertura de sentencias
Cobertura de decisiones
Cobertura de condiciones
Cobertura de decisin/condicin
Cobertura de condicin mltiple
Cobertura de caminos
COBERTURA DE CAMINOS
Camino: Secuencia de sentencias encadenadas desde la
entrada del programa hasta su salida.
Disea casos para caminos independientes:
Todas las sentencias se ejecutan al menos una vez.
Las condiciones son probadas para valores verdadero y
falso.
Tcnica, prueba del camino bsico :
Se basa en la medida de complejidad ciclomtica de Mc
Cabe.
Consta de los pasos:
Representacin del programa como grafo de flujo.
Clculo de la complejidad ciclomtica.
Determinacin de un conjunto bsico de caminos
linealmente independientes.
Derivacin de los casos de prueba.
27
Procedimientos, instrumentos de
control y elementos auxiliares del
aseguramiento de la calidad
PRUEBA DEL CAMINO BSICO:
Representacin del Programa como Grafo de Flujo
Notacin
Nodos. Representan cero, una o varias sentencias.
Aristas: Unen dos nodos.
Regiones: reas delimitadas por aristas y nodos.
Para contarlas, se incluir la externa.
Nodos Predicado: Surgen al descomponer las
sentencias condicionales compuestas en simples.
Secuencia
opcin N
While
CASE
if
opcin2
Repeat
END CASE
opcin1
28
Procedimientos, instrumentos de
control y elementos auxiliares del
aseguramiento de la calidad
1
Aristas
Nodos
6
7
Regin
8
IF a OR b
THEN
x
ELSE
y
ENDIF
Nodos
Predicado
a
False
b
True
x
False
y
29
Procedimientos, instrumentos de
control y elementos auxiliares del
aseguramiento de la calidad
Complejidad ciclomtica
Mtrica software para averiguar la complejidad
lgica de un programa.
Aqu define el nmero de caminos independientes.
Pone lmite superior al nmero de caminos a recorrer.
Representando como V(G) la complejidad:
1
Aristas
Nodos
4
R2
R1
R3
8
R4
30
Procedimientos, instrumentos de
control y elementos auxiliares del
aseguramiento de la calidad
CONJUNTO BSICO DE CAMINOS INDEPENDIENTES
Camino independiente es cualquier camino del programa que
introduce, al menos, un nuevo conjunto de sentencias de proceso
o una condicin, respecto a los caminos existentes.
Elegir como primer camino un camino principal que atraviese el
mximo nmero de decisiones en el grafo.
Definir los restantes caminos a partir del anlisis de los diferentes
nodos predicados.
Para el ejemplo anterior:
Camino 1 : 1-9
Camino 2 : 1-2-4-8-1-9
Camino 3 : 1-2-3-5-7-8-1-9
Camino 4 : 1-2-3-6-7-8-1-9
Caso de Prueba
Resutado Esperado
Procedimientos, instrumentos de
control y elementos auxiliares del
aseguramiento de la calidad
PRUEBAS FUNCIONALES
Se utiliza la especificacin del componente
El componente se ve como una Caja Negra.
Se estudia el comportamiento a partir de entradas y
salidas.
Tcnicas:
Particin de Equivalencia
Anlisis de Valores Lmite
PARTICIN DE EQUIVALENCIA
Se basa en dos consideraciones:
Se debe dividir el dominio de entrada en clases de
datos (clases de equivalencia).
Se deben crear casos de prueba que descubran clases
de errores.
Se debe minimizar el nmero total de casos de
prueba.
Dos pasos
Identificar las clases de equivalencia.
Identificar los casos de prueba.
32
Procedimientos, instrumentos de
control y elementos auxiliares del
aseguramiento de la calidad
IDENTIFICAR CLASES DE EQUIVALENCIA
Una clase de equivalencia representa un conjunto de estados
vlidos o no vlidos para las condiciones de entrada de un
programa.
Se examina cada condicin de entrada y se divide en dos o
ms grupos.
Se identifican dos tipos de clases:
Clases de equivalencia vlidas.
Clases de equivalencia no vlidas.
Pautas de identificacin:
Rango de valores: una clase vlida y dos invlidas.
Rango de valores: una clase vlida y dos no vlidas.
Nmero de valores: una clase vlida y dos no vlidas
Conjunto de valores de entrada: una clase vlida y
otra no vlida, o tambin, antas clases vlidas como
valores y una no vlida.
Situacin (lgica) que debe ocurrir: Una clase vlida y
una no vlidas.
Se cree que no todos los elementos de la case se
tratan igual: dividir en subclases.
Condicin de
entrada
Tipo
Clases de Equivalencia
Vlidas
Clases de Equivalencia No
Vlidas
Cdigo
banco
1: en blanco
2: 100<= cdigo banco
<= 999
3: un valor no numrico
4: cdigo banco < 100
5: cdigo banco > 999
33
Procedimientos, instrumentos de
control y elementos auxiliares del
aseguramiento de la calidad
34
Procedimientos, instrumentos de
control y elementos auxiliares del
aseguramiento de la calidad
35
Procedimientos, instrumentos de
control y elementos auxiliares del
aseguramiento de la calidad
ESTRATEGIA DE PRUEBAS
Pruebas Unitarias: (caja blanca y caja negra)
Cada mdulo es probado por separado y por la persona
que lo cre:
Mdulo: pieza de cdigo que cumple:
Bloque bsico de programa
Implementa funcin independiente simple
Puede probarse por separado
Normalmente menor de 500 lneas de cdigo.
Pruebas de Integracin: (caja negra)
Incremental:
Incremental Ascendente: se combinan los
mdulos de ms bajo nivel, utilizando controladores
para los de ms alto nivel.
Incremental Descendente: se comienza en el
mdulo de mayor nivel y se incorporan los mdulos
subordinados bien en profundidad o anchura
No incremental
36
Procedimientos, instrumentos de
control y elementos auxiliares del
aseguramiento de la calidad
Mc
INCREMENTAL
ASCENDENTE
Mb
Ma
C1
C3
Grupo 1
Grupo 3
C2
Grupo 2
M1
R3
M2
M4
R7
R5
R6
M5
M6
M7
M3
INCREMENTAL
DESCENDENTE
37
Procedimientos, instrumentos de
control y elementos auxiliares del
aseguramiento de la calidad
ESTRATEGIA DE PRUEBAS
Pruebas del Sistema: (caja negra)
Se cumplen los requisitos funcionales establecidos
durante el anlisis.
El funcionamiento y rendimiento en las interfaces
hardware, software y de usuario.
La adecuacin de la documentacin de usuario.
Rendimiento y respuesta en condiciones lmite y de
sobrecarga.
Pruebas Alfa y pruebas Beta.
Pruebas de Aceptacin:
Participacin activa del usuario, que deber ejecutar casos
de prueba ayudado por miembros del equipo de pruebas.
Estn enfocadas para probar los requisitos de usuario.
Corresponden a la fase final del proceso de desarrollo
software.
Pruebas de Regresin:
Regresin: Repeticin selectiva de pruebas para detectar
fallos introducidos durante la modificacin de un sistema
o componente.
En ellas habr que:
Probar los mdulos cambiados
Decidir las pruebas a efectuar en los mdulos no
cambiados.
Debern efectuarse:
Cuando existe riesgo de que los cambios afecten a
otras reas no modificadas directamente.
Durante el desarrollo, despus de ciertos cambios.
Durante el mantenimiento.
38
Procedimientos, instrumentos de
control y elementos auxiliares del
aseguramiento de la calidad
Instrumentos de control
Listas de control: definen de forma explcita los puntos concretos
que deben ser controlados al aplicar el procedimiento de control de
calidad
Guiones de recomendaciones: contienen criterios, ideas y
recomendaciones aplicables al realizar las tareas correspondientes
a los procedimientos de control de calidad.
Elementos auxiliares
Hacen referencia a formatos o plantillas que se pueden aplicar a
los distintos documentos auxiliares que se han de ir generando al
realizar las actividades de aseguramiento de la calidad:
39
Procedimientos, instrumentos de
control y elementos auxiliares del
aseguramiento de la calidad
40
Procedimientos, instrumentos de
control y elementos auxiliares del
aseguramiento de la calidad
41
Procedimientos, instrumentos de
control y elementos auxiliares del
aseguramiento de la calidad
42
Procedimientos, instrumentos de
control y elementos auxiliares del
aseguramiento de la calidad
Dossier del Aseguramiento de la Calidad
Documentos generados por el EDS:
DBP: documento base y de planificacin.
DED: documento de especificaciones de diseo.
DDD: documento de descripcin del diseo.
DDF: documento de diseo funcional.
DDT: documento de diseo tcnico.
DTP: documentacin tcnica de programacin.
DOP: documentacin de operacin.
DRU: documento de referencia para usuarios.
Documentos auxiliares generados por el EDS:
IAIR: informe de anlisis e interpretacin de resultados de
las pruebas de aceptacin.
Documentos generados por el USR:
HCU: hojas de comentarios de usuario.
Documentos generados por el EGC:
PGC: plan de garanta de calidad del proyecto.
HCR: hojas de comentarios de revisin.
LAC: listas de acciones correctivas.
HAP: hojas de aprobacin provisional.
PPRB: plan de pruebas.
IPVM: informe de pruebas de validacin de mdulos.
IPI: informe de pruebas de integracin.
IPAA: indorme de monitorizacin de pruebas de aceptacin
de la aplicacin.
IEP: informes de evaluacin de prototipos.
IVVA: informe final de verificacin y validacin de la
aplicaci.on.
Documentos generados por AUD:
PAUD: plan de auditora del proyecto.
IAUD: informes de auditora del proyecto.
43
PGAC
Plan calidad proyecto n
Objetivos:
Ofrecer una metodologa para elaborar los planes especficos.
Ofrecer una metodologa para evaluar preliminarmente a los
proyectos.
Elaborar procedimientos e instrumentos de control.
Se estructura en:
Gua metodolgica para elaborar Planes Especficos de
Aseguramiento de la Calidad.
Esquema formal para la clasificacin de proyectos.
Procedimientos de Control de Calidad.
Instrumentos de control y elementos auxiliares de
aseguramiento de la calidad.
DIR
EDS
EGC
AUD
PGAC
AUD
EGC
Plan especfico
de calidad
USR
EDS
45
I. Actuaciones preliminares
48
49
50
51
52
53
Etapas a seguir
I.
54
55
56
57
58
serias dificultades.
claras limitaciones.
cierto nivel de disponibilidad, pero con limitaciones.
situacin favorable.
no existen limitaciones.
61
62
63
64
65
66
Secuencial intermedio
67
68
Secuencial detallado
69
70
Evolucin de prototipos
71
72
Desarrollo modular
73
Pasos a seguir
Evaluar los factores de discriminacin del proyecto
(FDPi) en relacin con cada uno de los modelos de
referencia. Para ello, para cada modelo:
Se contrasta el diagrama caracterstico del proyecto
con la plantilla de comparacin correspondiente.
Aj) se obtien el
valor del factor de discriminacin parcial fj:
fj = ( tjk * dk ) / n
Tjk : valor de cada uno de los cuadros de la trama
Para cada fila de la parrilla (atributo
dk :
FDPi
fj / 18
74
Secuencial intermedio
Secuencial bsico
(plantillas de comparacin)
75
Evolucin de prototipos
Secuencial detallado
(plantillas de comparacin)
76
Desarrollo modular
(plantillas de comparacin)
77
Secuencial intermedio
Secuencial bsico
78
Evolucin de prototipos
Secuencial detallado
79
Desarrollo modular
80
k=1,m
81
Para R2.
Grupo A: [DIM], [COMP], [FIAB], [SEC], [CEX], [ECON]
Grupo B: [DESP], [COST], [PLZ], [EPRY], [REC]
Para R3.
Grupo A: [CIN], [FCMV], [DHMV], [INT], [DIFE],
[ECON]
Grupo B: [COST], [PLZ], [REC]
Para R4.
Grupo A: [DIM], [COMP], [FIAB], [FCMV], [ECON]
Grupo B: [DESP], [COST], [EPRY]
Para R5.
Grupo A: [DIM], [COMP], [FIAB], [FCMV], [ECON]
Grupo B: [DESP], [PLZ], [EPRY]
Para R6.
Grupo A: [DIM], [COMP]
Grupo B: [REC]
Para R7.
Grupo A: [DIM], [COMP], [FIAB], [SEC], [CEX], [CIN],
[TPMV], [FCMV], [DHMV], [CTR], [INT], [DIFE],
[ECON]
Grupo B: [DESP], [COST], [PLZ], [EPRY], [REC]
82
Ejemplo
83
84
85
86
87
88
89
90
91
92
BIBLIOGRAFA
Dolado, j.j.; Fernndez, l y otros. Medicin para la gestin
en la Ingeniera del Software. Ra-Ma, 2000
Jenner, M. L. Software Quality Management and ISO
9001. How to make them work for you. JohnWiley &
Sons, Inc., 1995.
IEEE Standards Collection Software Engineering. IEEE,
1997.
Plan General de Garanta de Calidad Aplicable al
Desarrollo de Equipos Lgicos. Ministerio de
Administraciones Pblicas, 1991.
Pressman, R.S., Ingeniera del Software, un enfoque
prctico, Mc Graw Hill, 2001.
93