![Page 1: Metricas de Codigo Fuente y Metricas de Prueba](https://reader037.vdocuments.co/reader037/viewer/2022100400/55b07bfb1a28ab90258b4622/html5/thumbnails/1.jpg)
1
Métricas para código fuente y Métricas para pruebas
INTEGRANTES: CAROLINA HENRIQUEZ
JOSE PEÑA
KEVIN CASTILLO
![Page 2: Metricas de Codigo Fuente y Metricas de Prueba](https://reader037.vdocuments.co/reader037/viewer/2022100400/55b07bfb1a28ab90258b4622/html5/thumbnails/2.jpg)
METRICAS
2
![Page 3: Metricas de Codigo Fuente y Metricas de Prueba](https://reader037.vdocuments.co/reader037/viewer/2022100400/55b07bfb1a28ab90258b4622/html5/thumbnails/3.jpg)
3
Métricas del Código Fuente
La teoría de la ciencia del software propuesta por Halstead es probablemente la medida de complejidad mejor conocida y minuciosamente estudiada. La ciencia del software propuso la primera ley analítica y cuantitativa para el software de computadora.
![Page 4: Metricas de Codigo Fuente y Metricas de Prueba](https://reader037.vdocuments.co/reader037/viewer/2022100400/55b07bfb1a28ab90258b4622/html5/thumbnails/4.jpg)
Utiliza un conjunto de medidas primitivas que pueden obtenerse una vez que se ha generado o estimado el código después de completar el diseño.
4
![Page 5: Metricas de Codigo Fuente y Metricas de Prueba](https://reader037.vdocuments.co/reader037/viewer/2022100400/55b07bfb1a28ab90258b4622/html5/thumbnails/5.jpg)
5
Estas medidas son:
n1: número de operadores diferentes que aparecen en el programa.
n2: número de operandos diferentes que aparecen en el programa.
N1: número total de veces que aparece el operador.
N2: número total de veces que aparecen el operando.
![Page 6: Metricas de Codigo Fuente y Metricas de Prueba](https://reader037.vdocuments.co/reader037/viewer/2022100400/55b07bfb1a28ab90258b4622/html5/thumbnails/6.jpg)
6
Halstead utiliza medidas primitivas para desarrollar expresiones para la longitud global del programa; volumen mínimo potencial para un algoritmo; el volumen real (número de bits requeridos para especificar un programa)
![Page 7: Metricas de Codigo Fuente y Metricas de Prueba](https://reader037.vdocuments.co/reader037/viewer/2022100400/55b07bfb1a28ab90258b4622/html5/thumbnails/7.jpg)
El nivel del programa (una medida de la complejidad del software); nivel del lenguaje (una constante para un lenguaje dado); y otras características tales como el esfuerzo de desarrollo, tiempo de desarrollo e incluso el número esperado de fallos en el software.
7
![Page 8: Metricas de Codigo Fuente y Metricas de Prueba](https://reader037.vdocuments.co/reader037/viewer/2022100400/55b07bfb1a28ab90258b4622/html5/thumbnails/8.jpg)
8
Halstead propone las siguientes métricas:
Longitud N se puede estimar como:
N = n1log2n1 + n2log2n2
![Page 9: Metricas de Codigo Fuente y Metricas de Prueba](https://reader037.vdocuments.co/reader037/viewer/2022100400/55b07bfb1a28ab90258b4622/html5/thumbnails/9.jpg)
Volumen de programa se define como:
V = N log2(n1 + n2).
Tomando en cuenta que V variará con el lenguaje de programación y representa el volumen de información (en bits) necesarios para especificar un programa
9
![Page 10: Metricas de Codigo Fuente y Metricas de Prueba](https://reader037.vdocuments.co/reader037/viewer/2022100400/55b07bfb1a28ab90258b4622/html5/thumbnails/10.jpg)
10
Ejemplo:Programa de ordenación por intercambio
SUBROUTINE SORT(X,N)
DIMENSION X(N)
IF (N .LT. 2) RETURN
DO 20 I=2, N
DO 10 J=1, I
IF (X(I) .GE. X(J)) GO TO 10
SAVE = X(I)
X(I) = X(J)
X(J) = SAVE
10 CONTINUE
20 CONTINUE
RETURN
END
![Page 11: Metricas de Codigo Fuente y Metricas de Prueba](https://reader037.vdocuments.co/reader037/viewer/2022100400/55b07bfb1a28ab90258b4622/html5/thumbnails/11.jpg)
11
Operador Cuenta
1 Fin de sentencia 7
2 Subíndices de arreglos 6
3 = 5
4 IF() 2
5 DO 2
6 , 2
7 Fin de programa 1
8 .LT. 1
9 .GE. 1
10 GO TO 10 1
Total 28
De esta tabla se desprenden los valores de n1=10 y N1=28.
![Page 12: Metricas de Codigo Fuente y Metricas de Prueba](https://reader037.vdocuments.co/reader037/viewer/2022100400/55b07bfb1a28ab90258b4622/html5/thumbnails/12.jpg)
12
Operando Cuenta
1 X 6
2 I 5
3 J 4
4 N 2
5 2 2
6 SAVE 2
7 1 1
Total 22
De esta tabla se desprenden los valores de n2=7 y N2=22.
![Page 13: Metricas de Codigo Fuente y Metricas de Prueba](https://reader037.vdocuments.co/reader037/viewer/2022100400/55b07bfb1a28ab90258b4622/html5/thumbnails/13.jpg)
13
Métricas para las Pruebas
La mayoría de las métricas para pruebas se concentran en el proceso de prueba, no en las características técnicas de las pruebas mismas. En general, los responsables de las pruebas deben fiarse en las métricas de análisis, diseño y código para que sirvan de guía en el diseño y ejecución de los casos de prueba.
![Page 14: Metricas de Codigo Fuente y Metricas de Prueba](https://reader037.vdocuments.co/reader037/viewer/2022100400/55b07bfb1a28ab90258b4622/html5/thumbnails/14.jpg)
El esfuerzo de las pruebas también se puede estimar utilizando métricas obtenidas de las medidas de Halstead. Usando la definición del volumen de un programa, V, y nivel de programa, NP, el esfuerzo de la ciencia del software puede calcularse como:
NP = 1/[(n1/2) x (N2/n2)] (9.1) e = V/NP (9.2)
14
![Page 15: Metricas de Codigo Fuente y Metricas de Prueba](https://reader037.vdocuments.co/reader037/viewer/2022100400/55b07bfb1a28ab90258b4622/html5/thumbnails/15.jpg)
15
A medida que se van haciendo las pruebas, tres medidas diferentes proporcionan una indicación de la compleción de las pruebas:
Medida de amplitud de las pruebas. Proporciona una indicación de cuantos requisitos se han probado del numero total de ellos. Indica la compleción del plan de pruebas.
![Page 16: Metricas de Codigo Fuente y Metricas de Prueba](https://reader037.vdocuments.co/reader037/viewer/2022100400/55b07bfb1a28ab90258b4622/html5/thumbnails/16.jpg)
Profundidad de las pruebas. Medida del porcentaje de los caminos básicos independientes probados con relación al número total de estos caminos en el programa. Se puede calcular una estimación razonablemente exacta del número de caminos básicos sumando la complejidad ciclomática de todos los módulos del programa.
16
![Page 17: Metricas de Codigo Fuente y Metricas de Prueba](https://reader037.vdocuments.co/reader037/viewer/2022100400/55b07bfb1a28ab90258b4622/html5/thumbnails/17.jpg)
Perfiles de fallos. Se emplean para dar prioridad y categorizar los errores. La prioridad indica la severidad del problema. Las categorías de los fallos proporcionan una descripción de un error, de manera que se puedan llevar a cabo análisis estadístico de errores.
17
![Page 18: Metricas de Codigo Fuente y Metricas de Prueba](https://reader037.vdocuments.co/reader037/viewer/2022100400/55b07bfb1a28ab90258b4622/html5/thumbnails/18.jpg)
GRACIAS POR SU ATENCION
18