Aseguramiento de la calidad y
pruebas de software
7- Métricas de la calidad
del Software
Métricas del proceso
Blanca A. Vargas Govea
Objetivo
Conocer y determinar las métricas a aplicar en el
proceso de verificación y validación de software.
“
No puedes controlar lo que no puedes medir
”
Métrica de calidad
Una función cuyas entradas son datos de software y
su salida es un valor numérico que puede
interpretarse como el grado en el cual el software
posee un atributo de calidad.
1. Objetivos de la medición de la
calidad
Administración
Mejora del proceso
Facilitar el control
administrativo.
–
Desviaciones de la
calidad actual con
respecto a la planeada.
–Desviaciones del
calendario y
presupuesto con
respecto a lo planeado.
Identificar situaciones
que requieran
acciones correctivas o
preventivas para la
mejora del proceso.
–
Acumulación de
métricas relacionadas
con el desempeño de
equipos, unidades, etc.
Comparación
●
Estándares de
software
definidos
.
●
Logros de calidad del
año pasado
.
●
Logros de calidad
previos del
proyecto
.
●
Promedio de calidad
con respecto a
otros
equipos
.
●
Promedio de calidad
●
General aplicable a
→
una gran variedad de
implementaciones y
situaciones.
●
Mutuamente exclusiva
no mide atributos
→
que otras métricas
miden.
¿Cómo tiene que ser una métrica?
●
Relevante relativo a
→
un atributo
importante.
●
Confiable produce
→
resultados similares
cuando se aplica bajo
las mismas
2. Clasificación de métricas
Métricas*
del
proceso
Métricas
del
producto
Relacionadas con el proceso de desarrollo de software Relacionadas con el mantenimiento de softwareCiclo de vida
KLOC
(thousands (kilo) of lines of code)
●
Mide el tamaño del sistema por
miles de líneas
de código
. Es utilizada por diversas métricas.
●
La aplicación de métricas que incluyen KLOC se
limita a sistemas desarrollados usando
el mismo
lenguaje de programación
.
3. Métricas del proceso
Métricas
del
proceso
Calidad
Calendarización
Efectividad de
eliminación de error
Productividad
Calidad
Densidad
del error
Severidad
del error
Complejidad
ciclomática
Calidad
Métricas
del
proceso
Volumen del software (KLOC) Métricas del error:
mediana severidad y 11 errores de alta severidad. Se obtiene NCE y WCE:
A partir de estos valores se
obtienen las siguientes métricas de
Calidad – densidad del error
Métricas
del
proceso
Ejemplo 1
Cálculo del número de errores de código (NCE) y número pesado de errores de código (WCE). Se
definen tres clases de severidad del error y sus pesos:
El total de errores de código del proyecto Zork indica que hay 42
Severidad del error Peso Baja 1 Media 3 Alta 9 Severidad del
error (a) NCE (b) WCE Peso (c) Errores pesados D = b x c Baja 42 1 42 Media 17 3 51 Alta 11 9 99 Total 70 192 NCE 70 -WCE - 192
NCE = número de errores de código detectados en las inspecciones y testing. KLOC = miles de líneas de código.
NDE = número total de errores de desarrollo (diseño y código) detectados en el proceso. Los datos se obtienen de las revisiones y testing.
WCE = errores pesados de código.
WDE = errores pesados de desarrollo (diseño y código) detectados en el
Calidad – densidad del error
Métricas
del
proceso
Métrica Nombre Fórmula
CED Densidad de error de código
DED Densidad de error de desarrollo
WCED Densidad pesada de error de código WDED Densidad pesada
de error de desarrollo CED= NCE KLOC DED= NDE KLOC WCED= WCE KLOC WDED= WDE KLOC
CED no indica que la calidad esté abajo del nivel aceptable, sin
embargo, WCED si muestra que no es aceptable. La densidad el error
Calidad – densidad del error
Métricas
del
proceso
Ejemplo 2
El departamento de desarrollo de software aplica dos métricas para calcular la densidad de error de código: CED y WCED. Se determinó que los siguientes indicadores eran inaceptables para la calidad del
software: CED > 2 y WCED > 4. Para los cálculos se aplicaron las tres clases de severidad y sus pesos (Ejemplo 1, slide 12). El
tamaño sel sistema es de 40KLOC. El cálculo de las dos métricas es
Muestra las implicaciones del uso de los pesos
Métricas CED WCED
NCE 70 -WCE - 192 KLOC 40 40 CED (NCE/KLOC) 1.75 -WCED (WCE/KLOC) - 4.8
MSOT = metas completadas a tiempo MS = número total de metas
TCDAM = retardo total para el
cumplimiento (días, semanas, etc.) para todas las metas. Las
completadas en tiempo se
Calendarización
Métricas
del
proceso
Se basa en el conteo de
éxito (completar metas) y
fallas (no-cumplimiento).
Medi-ción Nombre Fórmula TTO Cumplimiento de la programación ADMC Promedio delretraso para cumplir metas TTO=MSOT MS ADMC=TCDAM MS
NYF = número de fallas de software detectadad durante un año de servicio. WYF = número pesado de fallas de
software detectadas durante un año de servicio.
Efectividad de eliminación
de error
Métricas
del
proceso
● La medición puede calcularse
después de un periodo de
operación regular (6-12 meses).
● Combina los registros de error
de la etapa de desarrollo con los registros recopilados durante el primer año (o cualquier periodo definido) de operación regular.
Medición Nombre Fórmula
DERE Efectividad de elliminación de errores en el desarrollo DWERE Efectividad pesada de eliminación de errores DERE= NDE NDE+NYF DWERE= WDE WDE+WYF
DevH = total de horas trabajadas
invertidas en el desarrollo del sistema de software.
Productividad
Métricas
del
proceso
●Se refiere a la
productividad de los
recursos humanos.
Medición Nombre Fórmula
DevP Productividad
de desarrollo DevP=
DevH KLOC
Actividad (draft) 24: equipo
Para su proyecto, determinar:
–
Métricas a aplicar.
–
Fase en la que aplicarán: requerimientos, diseño,
testing.
–
Diseñar un reporte de aplicación de métricas
●
Asociar al tipo de severidad de las fallas.
●Asociar a la fase de desarrollo.
●
Determinar umbrales de aceptación de calidad.
Tarea 24: equipo
Tomando como base la actividad,
–
Seleccionar un ejemplo de su proyecto (código,
pseudo-código, revisión).
–
Diseñar un conjunto de pruebas a su elección (caja
negra o blanca).
–
Aplicar las métricas seleccionadas y hacer el reporte
de acuerdo al diseño de la actividad 24.
Referencia
● http://www.systemsguild.com/images/TDM2007.jpg ● Cinta medir Photo Credit: <a
href="http://www.flickr.com/photos/33839049@N00/499144972/">redte am</a> via <a href="http://compfight.com">Compfight</a> <a
href="http://creativecommons.org/licenses/by-nc-nd/2.0/">cc</a>
● Comparación Photo Credit: <a
href="http://www.flickr.com/photos/65924740@N00/7678629380/">judy _and_ed</a> via <a href="http://compfight.com">Compfight</a> <a href="http://creativecommons.org/licenses/by-nc/2.0/">cc</a>