Beruflich Dokumente
Kultur Dokumente
Herramientas>>
Curso: Pruebas de Software
12
ANALISIS ESTATICO POR MEDIO
DE HERRAMIENTAS
03 ANALISIS ESTATICO POR MEDIO DE HERRAMIENTAS
Terminología y definiciones
• Análisis Estático
• Es aquella actividad que consiste en el análisis de un objeto de prueba, por ejemplo el
código fuente, requisito llevado a cabo sin ejecutar el producto software (si esto fuera
posible)
• Posibles aspectos a ser comprobados con análisis estáticos :
• Reglas de estándares de programación.
• Diseño de un programa (análisis del flujo de control)
• Uso de datos (análisis del flujo de datos)
• Complejidad de la estructura de un programa.
• Aspectos generales
• Aspectos generales
• Herramientas a utilizar: Compiladores y herramientas de análisis (analizadores)
• Compilador .
• Detecta errores sintácticos en el código fuente de un programa.
• Crea datos de referencia del programa (por ejemplo lista de referencia cruzada,
llamada jerárquica, tabla de símbolos)
• Comprueba la consistencia entre los tipos de variables.
• Detecta variables no declaradas y código inaccesible (código muerto)
• Analizador: trata de aspectos adicionales tales como:
• Convenciones y estándares.
• Métricas de complejidad.
• Etc.
x se define, y, z se utilizan
x=y+z
IF a > b THEN read(S)
a y b se utilizan, S se define
read (y)
write( n*y)
x := x - n
end
• Definición de macros
Buffsize: 1000
Mailboxmax: 1000
IF Buffsize < Mailboxmax THEN
Error-Exit
ENDIF
V(G) = e – n + 2p
• Aristas (e)= 8
• Nodos (n) = 7
• P=1
• V(G) = 3
2 3 5
• ChecKing QA
• Es una herramienta que controla tanto los elementos del proceso de desarrollo software
(actividades,requisitos, cambios) como los elementos analizables del software (código fuente,
proyectos, documentación, scripts de pruebas etc.)
• Kiuwan
• Herramienta en Cloud (Saas) de análisis de código que permite medir la calidad y la deuda
técnica del software entre otras cosas. Para Java, PHP, Javascript, C#, COBOL, ABAP IV,
VB.net, C/C++, Objective-C, Android, JSP, Hibernate, SQL, PL/SQL. Cuadro de mando basado
en la ISO 9126
• PMD
• Analizador estático de código. Identifica problemas como repetición de código, if`s anidados, etc.
(BSD)
• Check Style
• Analizador estático de código, principalmente Java. Comprueba si se siguen las reglas de estilo.
(GNU Lesser General Public License Version 2.1)
• SONAR.
• Herramienta de gestión de la calidad del código fuente. Permite recopilar, analizar, y visualizar
métricas del código fuente. Está formado por PMD, Checkstyl, Findbugs, Clover y Cobertura.
Principalmente es usado con Java pero da soporte a otros lenguajes. (LGPL)
• Google CodePro Analytix
• También es una herramienta de gestión de la calidad del software. Ofrece un entorno para
evaluación de código, métricas, análisis de dependencias, cobertura de código, generación de
Test unitarios, etc.
• Resumen
• Análisis estático
• Con el uso de las herramientas para la realización de análisis estático
(compiladores, analizadores) el código del programa puede ser objeto de
inspección sin ser ejecutado.
• Con el uso de las herramientas se puede realizar el análisis estático de un
programa con un esfuerzo menor que el necesario para una inspección.
• Resultado del análisis:
• El diagrama de flujo de control presenta el flujo del programa y permite la
detección de “ramas muertas” y código inalcanzable.
• Las anomalías en el flujo de datos se detectan utilizando el análisis del flujo de
datos.
• Las métricas pueden ser utilizadas para evaluar la complejidad estructural
(Número Ciclomático) conduciendo a una estimación del esfuerzo en pruebas a
esperar.